我想知道为什么在以下示例中,顶部和底部的填充对锚点标记没有影响,而左侧和右侧则有?
<ul id="nav">
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
<li><a href="#">Four</a></li>
<li><a href="#">Five</a></li>
</ul>
#nav{
list-style:none;
}
#nav li{
border:1px solid #666;
display:inline;
/*If you do it this way you need to set the top and bottom
padding to be the same here as under #nav li a
padding:8px 0; */
}
#nav li a{
padding:8px 16px;
}
示例:链接
我的主要问题是,为什么上下填充对列表项没有影响,而左右填充有影响?
我尝试使用浮动而不是在列表项上使用display:inline,这个按照我预期的工作了。所以我想如果我有一个次要问题,那就是float:left;和display:inline之间的区别是什么?我正在阅读浮动规范,听起来浮动仍然是在线内的框,类似于inline-block?
感谢任何意见,这并不是我完成项目所必须知道的,但我想知道为什么。
谢谢
Levi