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

内联阻止列表项目之间的空格

赵永逸
2023-03-14
问题内容

为什么内联阻止列表项中有空格?无论我如何将列表项放入菜单,我总会得到空格。

li {

  border: 1px solid black;

  display: inline-block;

  height: 25px;

  list-style-type: none;

  text-align: center;

  width: 50px;

}

ul {

  padding: 0;

}


<ul>

    <li>One</li>

    <li>Two</li>

    <li>Three</li>

</ul>

问题答案:

我已经看到并回答了:

经过进一步的研究,我发现这inline-block是一种依赖空白的方法,并且依赖于字体设置。在这种情况下,将渲染4px。

为了避免这种情况,您可以将所有lis放在一行中一起运行 ,或者像这样阻塞end标记和begin标记:

 <ul>
         <li>
             <div>first</div>
         </li><li>
             <div>first</div>
         </li><li>
             <div>first</div>
         </li><li>
             <div>first</div>
         </li>     </ul>

如其他答案和评论所述,解决此问题的最佳实践是将其添加font-size: 0;到父元素中:

ul {
    font-size: 0;
}

ul li {
    font-size: 14px;
    display: inline-block;
}

这对于HTML的可读性更好(避免同时运行标签等)。间距效果是由于字体的间距设置引起的,因此必须为内联元素重置它,并为其中的内容再次设置它。



 类似资料:
  • 问题内容: 我的HTML如下: 而我的CSS: 但是,li之间出现了空白。我可以通过折叠它们来删除空格,如下所示: 但这主要是手工维护的,我想知道是否有一种更清洁的方法。 问题答案: 这里有几种选择,首先,我将为您提供创建内联列表时的常规做法: 然后,使CSS发挥预期作用的CSS: 显然,我省略了悬停和活动集,但这创建了一个不错的块级导航,这是在保持标准的同时执行此操作的非常常用的方法。/ 请记住

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

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

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

  • 单元格xml: 我直接在取景器上改变高度。我应该如何删除列之间的空间?

  • 问题内容: 有域对象: 有时,通过代码从列表中删除图片后,它会在图片列表中产生空项。 看起来,GORM不会更新关联表中的idx字段。我无法复制它,但是在生产服务器上却得到了几次 在我看来,这可能是二级缓存和一致修改的问题。怎么预防呢? Grails 2.4.5 MariaDB 问题答案: 我认为问题可能取决于您在类上设置的级联删除行为。首先,打电话后 你必须打电话。 但是,如果问题仍然存在,则可以