我有一个带有css的导航栏但是li
元素左右都有2px margin
,即使我使用margin: 0
,我也必须使用margin: 0px -2px
来“修复”它
以下是原始代码段
ul,
li {
margin:0;
padding:0;
}
nav{
background:#333;
}
nav ul{
text-align: center;
}
nav ul li{
display:inline-block;
list-style:none;
}
nav ul li a{
background: green;
color:#fff;
padding:15px;
display:block;
text-decoration:none;
font-weight:600;
font-size:16px;
}
<nav>
<ul>
<li><a href="#">home</a></li>
<li><a href="#">home2</a></li>
<li><a href="#">home3</a></li>
<li><a href="#">home4</a></li>
</ul>
</nav>
答案 0 :(得分:1)
使用display: inline-block
时元素会创建一个空格,因为它是内联的,所以你需要修复那个空间,
有few ways来修复这个空间:
<!-- -->
font-size
设为零float
对于此代码,您可以在父font-size:0
中使用ul
,因为您已在子font-size
中设置a
ul,
li {
margin: 0;
padding: 0;
}
nav {
background: #333;
}
nav ul {
text-align: center;
font-size:0
}
nav ul li {
display: inline-block;
list-style: none;
}
nav ul li a {
background: green;
color: #fff;
padding: 15px;
display: block;
text-decoration: none;
font-weight: 600;
font-size: 16px;
}
&#13;
<nav>
<ul>
<li><a href="#">home</a>
</li>
<li><a href="#">home2</a>
</li>
<li><a href="#">home3</a>
</li>
<li><a href="#">home4</a>
</li>
</ul>
</nav>
&#13;