html - 管理内联列表项之间空白的最佳方式

标签 html css html-lists navigation-style

我的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/

相关文章:

javascript - 循环遍历元素集并从不同数组添加适当的值

html - 在 flexbox 导航栏中制作下拉菜单

html - 用图像填充父级高度的 div 样式高度

css float 在图片和文字之间

html - 如何根据调用内容的页面更改 HAML 中的 css 元素?

用于从输入值进行测试的 Javascript 模式

java - 在 FirefoxDriver 中选择 <li> 元素

html - 如何叠加图像

javascript - 如何在 React 中使用 prop 双向绑定(bind) select 元素

html - H1、H2 等在 DL 中有效吗?