use*_*865 7 css html5 css3 navbar
我正在尝试将HTML5/CSS3作为学习过程,但我正在努力创建一个导航栏,用于指向我页面中其他部分的链接.我根据找到的教程调整了代码,但只有在1080p分辨率下才能使用,如果宽度较小,则条形图会覆盖其他线条.
无论用户使用什么分辨率,我如何确保导航栏只占用一行(缩小到适合)?

这是导航栏的CSS代码.请注意,在导航下我将宽度设置为33.3%并填充相同以使按钮居中.我不知道这是不是原因.
nav {
display:block;
position: absolute;
left:0;
white-space:nowrap;
margin: 0 auto;
width: 33.3%;
background-color:#ff6600;
padding-left: 33.3%;
padding-right: 33.3%;
}
nav ul {
margin: 0 auto;
width: 100%;
list-style: none;
display: inline;
white-space:nowrap;
}
nav ul li {
float: left;
position: relative;
white-space:nowrap;
}
nav ul li a {
display: block;
margin: 0 auto;
width: 150px;
font-size: 16px;
font-family: century gothic;
line-height: 44px;
text-align: center;
text-decoration: none;
color:#575757;
white-space:nowrap;
}
nav ul ul {
width: 200px;
position:absolute;
top:-99999px;
left:0;
opacity: 0;
-webkit-transition: opacity .4s ease-in-out;
-moz-transition: opacity .4s ease-in-out;
-o-transition: opacity .4s ease-in-out;
transition: opacity .4s ease-in-out;
z-index:497;
background:#333;
padding: 2px;
border:1px solid #444;
border-top:none;
box-shadow:#111 0 3px 4px;
}
nav ul ul li a {
display: block;
width: 200px;
text-align: left;
padding-left: 3px;
font-size: 14px;
}
nav ul li:hover>ul{
opacity: 1;
position:absolute;
top:98%;
left:0;
}
nav ul li a:hover {
color: #fff;
background-color: #cc3300
}
nav ul li.selected a {
color: #fff;
background-color: #cc3300;
}
Run Code Online (Sandbox Code Playgroud)
ski*_*405 11
你几乎正确地做到了.你的CSS的问题是white-space: nowrap;只适用于inline元素 - 但你正在使用float.即使您将display: inline;属性设置为此类元素(不会应用),浮动元素也会变为块级.所以 - 如果你更换你的花车display: inline-block;- 你的white-space财产将工作:)
inline-blocks的实例white-space可以在这里看到:http://jsfiddle.net/skip405/wzgcH/
至于你的定心方法 - 有一个更好的解决方案.(您可以删除padding并设置适当的宽度)特别是如果您使用内联块.只需设置text-align: center;他们的父母 - 你就会把它放在中心位置.