📅  最后修改于: 2023-12-03 15:26:00.592000             🧑  作者: Mango
在 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”,因此可以轻松地根据需要自定义选择器。