什么::之前真的吗?

时间:2014-05-18 08:23:44

标签: html css google-chrome css-selectors

所以我阅读了文档,可能了解::before::after的目的。如果我的理解是正确的,它们应该始终与其他元素结合使用。但我正在看的网页有这样的东西:

<body>
    <div class="container-fluid">
        ::before
        <div> ... </div>
        ::after
    </div>
<body>

我无法理解::before::after在这里做了什么?

3 个答案:

答案 0 :(得分:17)

::before::after是指在匹配元素之前和之后创建的CSS pseudo-elements

伪元素通常不会显示在HTML元素树中。但是,如果您使用的是正确类型的调试工具(如Chrome检查器),则可以看到这些特殊元素。由于现在使用伪选择器设置页面样式非常常见,因此使用可以显示它们的调试工具非常有用。

要从Chrome检查器(或其他功能强大的工具)验证此行为,请尝试使用CSS向其中一些伪元素添加一些内容,例如:

h1:before {
  content: 'before';
}

答案 1 :(得分:13)

我假设您正在看到这一点,因为Chrome检查员会将其显示出来进行检查:http://www.youtube.com/watch?v=AcKlJbmuxKo

它们实际上不在服务器提供的原始html中,但仅由Chrome Inspector添加。

您可以使用它们在屏幕上查看其盒子模型以及为它们声明的样式。

同时检查:https://stackoverflow.com/a/19978698/774086

答案 2 :(得分:6)

::before::after是伪元素,您可以在此示例中看到:

<强> CSS:

.container-fluid>p::before{
    content: "HI";
}
.container-fluid>p::after{
    content: "Bee";
}

http://jsfiddle.net/vX2jW/  您可以在此处阅读更多内容:http://css-tricks.com/almanac/selectors/a/after-and-before/