html - :after tag not working properly with <li>

标签 html css

我想显示一个 content"--"在每个列表项之后但是当我使用 li:after 时然后内容出现在列表项下方,当我使用 a:after 时然后内容正确地出现在列表项之后。但是我想要 content"--"<li> 关联而不是 <a>因为我什么时候会用a:hover那么就会有一些问题。这是代码。谁能帮忙?

HTML

<ul class="group">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
    <li><a href="#">Link 4</a></li>
    <li><a href="#">Link 5</a></li>
</ul>

CSS*

.group:after {
    content: "";
    display: table;
    clear: both;
}

ul {
    list-style:none;
    background:gray;
}

li {
    float:left;
    padding-left:30px;
}

a {
    text-decoration:none;
    display:block;
    padding:10px;
    color:white;
    font-weight:bold;
}

li:after{ content:'--'; }

最佳答案

这里的问题是元素 :after 是在 a 标签之后呈现的,因为你把它放到了 a 标签中:

a {
  display:block;
}

:after 内容位于由 block 标签推送的下一层。更改此设置,您会看到更改:

a {
  display:inline-block;
}

演示 http://jsfiddle.net/6YuQ8/3/

关于html - :after tag not working properly with <li>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20764267/

相关文章:

html - 两个无序列表将其他元素相互推开。 (HTML, CSS)

jQuery 仅适用于 Chrome

javascript - jQuery removeClass 和 addClass

javascript - 诊断菜单(如 IFTTT)

javascript - 使用 jQuery 单击 li 时如何选择单选按钮?

javascript - 在 onsubmit 中确定哪个元素提交了表单

javascript - 我如何让整个选项卡一致行动?

javascript - 我正在尝试使第二个 Bootstrap 行填充剩余高度

javascript - 如何判断一个 DOM 元素是否显示?

html - CSS 断点不起作用