html - 显示为 :none; on itself and all children, 的 <ul><li> 列表仍然向父级 <li> 添加 3px 填充

标签 html css parsing whitespace

所以,我在另一个 li 中有一个标准的嵌套 ul li 列表,例如:

<li><a href="#">Link</a>
    <ul>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
    </ul>
</li>

ul 及其所有子级都有 display:block; 但父级 li 的右侧仍有 3px 的填充.

这个问题很简单,你自己看一下: link

看第三个链接

但是,当从上面的 HTML 中最上面的 anchor 标记和最下面的结束 li 标记之间的所有空格都被删除时,这个问题就会消失。

这似乎发生在 Chrome 和 Firefox 中,我没有进一步测试,而是想在这里问问这是否是我缺乏的一些常识,或者这是一个适当的错误。

最佳答案

因为你有一个 display: inline;在你的 li<a> 之后的空格/换行符第三个元素li显示为单个空格。

如果你float li s 并保留默认值 display: block;没有这种效果,你会得到相同的水平列表。

关于html - 显示为 :none; on itself and all children, 的 <ul><li> 列表仍然向父级 <li> 添加 3px 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9649766/

相关文章:

css - 如何在非图像元素上使用图像上下文菜单?

html - 字体大小问题

html - 以中间一个为中心的三个 float div

css - 实现元素与显示表行之间的垂直间距?

jquery - 每个 session 只有一次模态弹出

javascript - 为什么在使用解析的字符串时出现错误 'Cannot read property ' name' of null'?

javascript - 用于解析 excel 的 XLSX 解析器

javascript - 检测鼠标相对于元素的位置

javascript - 当前html页面的"mailto"

c++ - 在 C++ 中解析整个(开始到结束)字符串,包括所有空格