如何选择:元素之前和之后(不是其内容)?

时间:2015-07-21 07:12:32

标签: html css

通常情况下,:before:after会执行此操作

.foo:before {

}

.foo:after {

}

结果:

<div class="foo">
:before
<div class="somecontent"></div>
:after
</div>

是否可以为:before选择以下:after.foo

:before
<div class="foo">
</div>
:after
<div class="bar">
</div>

2 个答案:

答案 0 :(得分:1)

:之前和之后 选择元素,它会创建新的元素并在之前或之后插入它们,所以不可能这样做。

你也不能用css在hierarki中向上遍历,因为选择器永远不会知道它的父元素。

答案 1 :(得分:1)

不存在这样的伪元素。事实上,就格式化结构而言,CSS中没有伪元素存在于原始元素之外。所有现有的伪元素(在选择器3,伪元素4和其他地方定义)都显示为原始元素的后代。

这并不是说你无法提出存在于其原始元素之外的新伪元素,但是旧版本的css-content有类似的东西::outside::alternate,但由于缺乏兴趣并且没有出现在the css-content rewrite中,因此它们在上次起草后的12年左右从未实施过。