我的HTML如下:
<ul id="nav">
<li><a href="./">Home</a></li>
<li><a href="/About">About</a></li>
<li><a href="/Contact">Contact</a></li>
</ul>
还有我的CSS:
#nav {
display: inline;
}
但是 li 之间的空格出现了。我可以像这样折叠它们来删除空格:
<ul id="nav">
<li><a href="./">Home</a></li><li><a href="/About">About</a></li><li><a href="/Contact">Contact</a></li>
</ul>
但这主要是由手工维护的,我想知道是否有更清洁的方法来做到这一点。
最佳答案
这里有几个选项,首先我会告诉你我在创建内联列表时的常规做法:
<ul id="navigation">
<li><a href="#" title="">Home</a></li>
<li><a href="#" title="">Home</a></li>
<li><a href="#" title="">Home</a></li>
</ul>
然后 CSS 使其按照您的预期运行:
#navigation li
{
display: inline;
list-style: none;
}
#navigation li a, #navigation li a:link, #navigation li a:visited
{
display: block;
padding: 2px 5px 2px 5px;
float: left;
margin: 0 5px 0 0;
}
显然我省略了悬停和事件集,但这创建了一个很好的 block 级导航,并且是一种非常常用的方法,可以在保持标准的同时实现这一点。/* 记得根据自己的喜好进行调整,为背景添加颜色等等 */
如果您只想保留文本和内联元素,我相信您不会添加任何 block 元素:
margin: 0 5px 0 0; /* that's, top 0, right 5px, bottom 0, left 0 */
意识到您想要删除空白,只需相应地调整边距/填充即可。
关于html - 管理内联列表项之间空白的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/241512/