::before 伪元素不会成为原始列表元素的第一个子元素
::before pseudo element doesn't become first child of originating list element
我尝试制作一个由 link 分隔的内联列表,由 |
标记分隔。它可能是 hacky,但我认为它应该与使用 ::before
伪元素一起工作:
li {
list-style: none;
float: left;
}
li:not(:first-child) ::before {
content: "|";
margin: 0 1em;
}
<ul>
<li><a href="..">Example 1</a></li>
<li><a href="..">Example 2</a></li>
<li><a href="..">Example 3</a></li>
</ul>
看起来不错,但由于某种原因 |
成为 link 元素的一部分。它可以点击并以相同的标准蓝色突出显示。
我希望伪元素成为 li
元素的第一个子元素,在 由 link 组成的内容之前。我做错了什么?
你确实在 ::before
之前有一个额外的 space,如果你删除它看起来不错。
li {
list-style: none;
float: left;
}
li:not(:first-child)::before {
content: "|";
margin: 0 1em;
}
<ul>
<li><a href="..">Example 1</a></li>
<li><a href="..">Example 2</a></li>
<li><a href="..">Example 3</a></li>
</ul>
我认为你犯了语法错误。这应该是:
li:not(:first-child)::before
我尝试制作一个由 link 分隔的内联列表,由 |
标记分隔。它可能是 hacky,但我认为它应该与使用 ::before
伪元素一起工作:
li {
list-style: none;
float: left;
}
li:not(:first-child) ::before {
content: "|";
margin: 0 1em;
}
<ul>
<li><a href="..">Example 1</a></li>
<li><a href="..">Example 2</a></li>
<li><a href="..">Example 3</a></li>
</ul>
看起来不错,但由于某种原因 |
成为 link 元素的一部分。它可以点击并以相同的标准蓝色突出显示。
我希望伪元素成为 li
元素的第一个子元素,在 由 link 组成的内容之前。我做错了什么?
你确实在 ::before
之前有一个额外的 space,如果你删除它看起来不错。
li {
list-style: none;
float: left;
}
li:not(:first-child)::before {
content: "|";
margin: 0 1em;
}
<ul>
<li><a href="..">Example 1</a></li>
<li><a href="..">Example 2</a></li>
<li><a href="..">Example 3</a></li>
</ul>
我认为你犯了语法错误。这应该是:
li:not(:first-child)::before