📜  操作员 css 包含 attr - CSS (1)

📅  最后修改于: 2023-12-03 15:26:00.592000             🧑  作者: Mango

操作员 CSS 包含 attr - CSS

在 CSS 中,attr() 函数用于从 HTML 元素中获取属性值并将其应用于样式规则。例如,可以使用 attr() 函数设置元素的背景色为其 data-color 属性的值:

div {
  background-color: attr(data-color);
}

但是,如果想要使用 attr() 函数设置包含一个 CSS 类名的属性,该怎么办?

这就是我们需要使用“操作员 CSS 包含 attr”(Operator CSS Contains Attr)的地方。该操作符允许在 attr() 函数中使用 CSS 选择器,并将选择器的结果应用于属性值。

以下是一个例子,其中 attr() 函数中使用了 CSS 选择器:

div[class*="background-"] {
  background-color: attr(class contains "background-" attribute value);
}

在这个例子中,* 表示包含关系,class contains 则是“操作员 CSS 包含 attr”的组成部分,该部分将类名中包含“background-”文本的元素选择出来,并将该类名应用于 attr() 函数。因此,元素的背景色将取决于该元素中具有类名“background-”后缀的属性值。

需要注意的是,除了 contains 以外,还有其他组成部分可以用于“操作员 CSS 包含 attr”,如下所示:

  • starts with:选择器值以指定字符串开头。
  • ends with:选择器值以指定字符串结尾。
  • equals:选择器值等于指定字符串。
  • substring:选择器值包含指定字符串。

以上四种组成部分皆可使用“操作员 CSS 包含 attr”,因此可以轻松地根据需要自定义选择器。