CSS:
nav {
width:460px;
height:50px;
background-color:#0066ff;
float: left;
margin: 15px 0 0 324px;
position: fixed;
}
nav ul {
margin: 0;
padding: 0;
position: fixed;
width:493px;
border: 1px solid green;
}
nav li {
float: left;
text-align: left;
margin:0;
padding: 0 0 0 24px;
display: block;
width: 51px;
height: 50px;
}
nav li:first-child {
float: left;
text-align: left;
margin:0;
padding: 0 15px 0 0;
display: block;
height: 50px;
}
nav a:first-child {
margin: 0;
padding: 0;
height: 50px;
min-width:51px;
display:block;
position: fixed;
line-height:50px;
float: left;
text-align: center;
}
nav a {
margin: 0;
padding: 0;
height: 50px;
min-width:51px;
display:block;
position: fixed;
line-height:50px;
float: left;
text-align: center;
}
nav ul li a:link, nav ul li a:visited {
text-decoration: none;
color:#fff;
display:block;
}
nav ul li a:hover, nav ul li a:active {
background: #929292;
text-decoration: none;
display:block;
}
这个问题让我头疼几个小时。
旁边的蓝色空间无法发生。
答案 0 :(得分:1)
尼克,您的问题出在li:first-child
选择器中。特别是padding
属性,它清除填充,你错过了间距。
:first-child
选择器都是多余的,无需重新指定。position:fixed
与float:left
混合通常不是一个好主意,因为您的CSS将与布局结构作斗争。position:fixed
作为主要容器,其余的导航孩子将与之相关。选中已清理过的 JSFiddle 。
答案 1 :(得分:1)
很多时候,一个小<div>
位于&#34; home&#34;的左边。链接推送它如下:
#fillerdiv{
width:20px;
background-color:#0066ff;
}
然后你可以这样放置它:
<nav>
<ul>
<div id="fillerdiv"></div>
<li> <a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Work</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
产生这个:
或者你可以给#34; home&#34;按下一个特定的类并单独添加额外的填充。
#home{
padding-left:20px;
}
HTML:
<nav>
<ul>
<li id="home"> <a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Work</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
答案 2 :(得分:0)
我玩了一下你的代码,试图简化它。我希望你不要介意。
/* styles.css */
nav {
float: left;
background: #0066ff;
border: 1px solid green;
}
nav ul {
margin: 0;
padding: 0;
}
nav li {
float: left;
display: block;
}
nav a {
margin: 0;
padding: 0;
padding:20px;
color:#fff;
text-align: center;
}
nav ul li a:link, nav ul li a:visited {
text-decoration: none;
display:block;
}
nav ul li a:hover, nav ul li a:active {
background: #929292;
text-decoration: none;
display:block;
}