通用选择器*和伪元素

通用选择器*和伪元素,第1张

通用选择器*和伪元素

不,通用选择器

*
不影响伪元素(通过继承间接除外,因为伪元素通常作为实际元素的子元素生成)。

通用选择器与其他命名元素选择器(例如

p
和)一样
div
,是一个简单的选择器:

一个 简单的选择器 可以是类型选择器,通用选择器,属性选择器,类选择器,ID选择器或伪类。

一个简单的选择器,以及扩展到任何复杂的选择器,仅针对实际元素。

虽然伪元素(它们是
作为伪类上面提到的相同的东西)可以一起简单选择器在选择符号出现,伪元素被完全从简单的选择器分开,因为它们表示从实际元素单独的DOM的抽象,因此两者都代表不同的事物。您不能使用简单的选择器来匹配伪元素,也不能将样式应用于选择器中带有伪元素的CSS规则中的实际元素。

因此,为了匹配

:before
:after
任何元素的伪元素,是的,一个需要包含
*:before, *:after
在选择。拥有权限
* {box-sizing: border-box; }
不会影响它们,因为
box-sizing
通常不会继承它们,因此,它们将保留default
box-sizing: content-box

您可能永远不会对伪元素产生任何问题的一个可能原因是,它们默认情况下以内联方式显示,因为

box-sizing
对内联元素没有任何影响。

一些注意事项:

  • 与其他所有简单选择器链一样,如果

    *
    不是唯一选择器,则可以将其省略,这
    *, :before, :after
    等效于
    *, *:before, *:after
    。话虽如此,
    *
    为了清楚起见,通常将其包括在内-大多数作者
    *
    在编写ID和类选择器时都习惯于省略,但不编写伪类和伪元素,因此对于他们来说,这种表示法似乎有些奇怪甚至是错误的(实际上是完全有效的)。

  • 我上面链接到的当前Selectors规范表示带有双冒号的伪元素。这是当前规范中引入的新符号,用于区分伪元素和伪类,但是大多数

    box-sizing
    重置使用单冒号表示来容纳IE8,IE8支持
    box-sizing
    但不支持双冒号表示法。

  • 虽然

    *:before, *:after
    样式应用于各自的伪元素 的任何 元素,其中包括
    html
    head
    body
    ,伪元素将直到应用实际上不能产生
    content
    财产。您不必担心任何性能问题,因为没有任何问题。。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5566964.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存