当前位置: 首页 > 面试题库 >

内联列表项之间管理空格的最佳方法

艾原
2023-03-14
问题内容

我的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发挥预期作用的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;
  }

显然,我省略了悬停和活动集,但这创建了一个不错的块级导航,这是在保持标准的同时执行此操作的非常常用的方法。/
请记住要调整自己的喜好,为背景添加颜色,等等 /

如果您只想保留文本和内联,我相信您不会添加任何块元素

   margin: 0 5px 0 0; /* that"s, top 0, right 5px, bottom 0, left 0 */

意识到要删除空白,只需相应地调整边距/填充即可。



 类似资料:
  • 问题内容: 为什么内联阻止列表项中有空格?无论我如何将列表项放入菜单,我总会得到空格。 问题答案: 我已经看到并回答了: 经过进一步的研究,我发现这是一种依赖空白的方法,并且依赖于字体设置。在这种情况下,将渲染4px。 为了避免这种情况,您可以将所有s放在一行中一起运行 ,或者像这样阻塞end标记和begin标记: 如其他答案和评论所述,解决此问题的最佳实践是将其添加到父元素中: 这对于HTML的

  • 问题内容: 如何摆脱列表项之间的空白?我正在努力使图像彼此相邻。即使我将样式设置为,它们仍然分开。 CSS HTML 问题答案: 2014年9月1日更新 在现代浏览器中,flex-box是执行此操作的首选方法。就像这样简单: 在这里查看JSFiddle 。 对于旧版浏览器的支持,请参考下面的其他选项,尽管稍微复杂一些,但它们仍然不错。 尽管每个其他答案至少提供了一个好的解决方案,但似乎没有一个提供

  • 问题内容: 我想要几个相邻的块元素,它们占据了整个浏览器的宽度。 使用,效果很好,但是在一个元素和另一个元素之间存在几个像素的随机空间: 没有填充,没有边距,没有边框,没有偏移。 问题答案: 那是因为inline(-block)元素之间有一个空格字符(一个换行符和一些制表符算作一个空格),可以通过这样注释该空格来解决: 实际上,这不是错误,而是内联元素的正常行为。就像将图像放置在文本行旁边,或在输

  • 问题内容: 我有以下格式的多维列表: 如何获得所有子列表的第三个值的最大值。用伪代码: 我知道这可以通过遍历列表并将第三个值提取到新列表中,然后简单地执行来完成,但是我想知道是否可以使用lambda或列表理解来完成? 问题答案: 只需与生成器表达式一起使用: 另外,不要命名您的变量,而是要隐藏类型。

  • 问题内容: 鉴于此HTML和CSS: 结果,SPAN元素之间将有4像素宽的空间。 我知道为什么会发生这种情况,而且我也知道可以通过删除HTML源代码中SPAN元素之间的空白来摆脱该空间,如下所示: 但是,我希望找到一种不需要篡改HTML源代码的CSS解决方案。 我知道如何使用JavaScript解决此问题-通过从容器元素(该段)中删除文本节点,如下所示: 但是,仅靠CSS就能解决这个问题吗? 问题

  • 问题内容: 我正在尝试在SQL Server 11.00.3393中的查询中连接多个列。 我尝试了新功能,但是当我使用两个以上的列时,它不起作用。 所以我想知道这是否是解决问题的最佳方法: 由于价值我不能使用。 编辑 如果我尝试我会得到一个错误 CONCAT函数需要2个参数 问题答案: 通过讨论,很明显,问题出在使用VS2010编写查询,因为它使用了受限于2个参数的规范函数。可能有一种方法可以更改