我有一个jsfiddle下面有一个我在内联块中显示的链接的例子,我不明白为什么在每个锚标签的开头都有某种填充或边距,也许有人可以帮助我出去了,我不确定我是否错过了什么,但我似乎无法找出为什么那个填充物在那里?
这是html代码:
<div class="wrapper">
<header class="main-header">
<h1>blah blah blah</h1>
<nav class="main-nav">
<ul class="main-nav-links">
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Get a Quote</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</header>
这是所有的css代码:
.wrapper {
width: 100%;
min-width: 960px;
}
.main-header {
position: relative;
width: 100%;
height: 60px;
background-color: #41a2cd;
}
.main-header > h1{
float: left;
margin: 11px 0 0 5px;
color: #073a4f;
}
.main-nav-links > li {
list-style: none;
display: inline-block;
}
.main-nav-links li > a {
text-decoration: none;
display: block;
color: #073a4f;
}
.main-nav-links > li {
border-right: 1px solid #45b1e1;
}
.main-nav-links li > a:hover {
background-color: #ffffff;
/*background-color: #50bae8;*/
}
答案 0 :(得分:6)
当您使用display: inline-block;
时,它会在元素之间留出4px
间距,因此您需要使用margin-left: -4px;
或考虑使用float
代替。
Demo(使用margin-left: -4px;
)
.main-nav-links > li {
list-style: none;
display: inline-block;
margin-left: -4px;
}
Demo 2(使用float
属性)
.main-nav-links > li {
list-style: none;
float: left;
}
注意:如果对
float: left;
属性使用li
,请不要忘记清除浮动元素。
编辑:我想指出,为了防止这种行为,您还可以修改标记(如果您可以访问它),而不是排列li
元素,以便元素之间的空白区域将不再存在,例如
<ul>
<li></li><li></li><li></li><li></li>
</ul>
答案 1 :(得分:2)
一个解决方案是
<li></li><li></li>
在一行。这实际上是因为新行被格式化为空格。
答案 2 :(得分:0)
<li></li><li></li>
它是您可以获得的最佳解决方案