css之:is()、:where()和:has()伪元素的运用、使用、important

文章目录

  • 简介
  • 1、:is()
  • 2、:where()
  • 3、:has()


简介

:is():where():has()伪元素是CSS中用于样式化元素的非常强大的工具。它们是在CSS选择器Level4规范中引入的。它们允许我们将样式应用于符合特定条件的任何元素,例如元素的类型、元素的位置和元素的后代。


1、:is()

:is()伪类可以用于基于选择器的组合来定位元素。它将一系列选择器作为其参数,并在元素匹配任何选择器时返回true。例如,如果你想要针对所有类名为isPinkisPretty的元素进行定位,可以使用:is()伪类。

div:is(.isPink, .isPretty) {
  color: pink;
}
<div class="isPink">
  <p>Pinkp>
div>

<div class="isPretty">
  <p>Prettyp>
div>

<div>
  <span>Not Prettyspan>
div>

css之:is()、:where()和:has()伪元素的运用、使用、important_第1张图片


2、:where()

:where()伪类可以根据条件来定位元素。它以条件作为参数,并在元素匹配条件时返回true
例如,如果你想要定位所有类名以bold开头的元素,可以使用:where()伪类来实现。
将以下伪类添加到上述CSS文件中,将导致任何具有以bold开头的CSS类的子元素渲染为粗体。

div:where([class^="bold"]) {
  font-weight: bold;
}
<div class="isPink">
  <p>Pinkp>
div>

<div  class="bold_text isPretty">
  <p>Prettyp>
div>

css之:is()、:where()和:has()伪元素的运用、使用、important_第2张图片

伪元素:is():where()看起来在做同样的事情。但是,伪元素:is()用于根据选择器列表匹配元素,而伪元素:where()则用于根据条件匹配元素。


3、:has()

:has()伪类可以用于基于后代元素来定位元素。它以选择器作为参数,并在元素具有与选择器匹配的后代时返回true
例如,如果你想要定位所有包含元素的元素,可以使用:has()伪类来实现。在这一步中,我们的HTML没有任何变化。这个CSS的添加使得元素具有紫色的背景。

div:has(p) {
  background-color: purple !important;
}

css之:is()、:where()和:has()伪元素的运用、使用、important_第3张图片

你可能感兴趣的:(web前端,CSS,css,前端,web)