如何在css3中选择任何属性等于红色的元素?

ome*_*ega 1 css css-selectors css3

如果我想要所有div具有data-color相同属性的s red,我就能做到

div[data-color='red']
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要任何元素,那data-color等于red什么呢?

我该怎么写呢?

dip*_*pas 5

使用相同的属性选择器,但在连接之前没有任何元素

表示属性名称为attr且其值正好为"value"的元素.

它将选择任何元素 [data-color='red']

注意: 即使使用''(不同于""),它仍然会选择"".

[data-color='red'] {
  background: red;
  display: block
}
Run Code Online (Sandbox Code Playgroud)
<div data-color='red'>red</div>
<p data-color='red'>red</p>
<article data-color='red'>red</article>
<section data-color='red'>red</section>
<h1 data-color='red'>red</h1>
<span data-color='red'>red</span>

<hr />

<div data-color="red">red</div>
<p data-color="red">red</p>
<article data-color="red">red</article>
<section data-color="red">red</section>
<h1 data-color="red">red</h1>
<span data-color="red">red</span>
Run Code Online (Sandbox Code Playgroud)

如果要定位特定元素,可以将该元素放在属性选择器之前:

div[data-color='red'] {
  background: red;
}
p[data-color='red'] {
  color: red
}
Run Code Online (Sandbox Code Playgroud)
<div data-color='red'>red</div>
<p data-color='red'>red</p>
Run Code Online (Sandbox Code Playgroud)


mat*_*k22 5

您应该能够使用:

[data-color='red']
Run Code Online (Sandbox Code Playgroud)

或者你可以这样写:

*[data-color='red']
Run Code Online (Sandbox Code Playgroud)

您也可以用双引号编写它,这也会选择相同的内容,但值得在整个 CSS 文件中保持相同的格式以维护标准。在这种情况下,我建议坚持使用单引号。

[data-color="red"]
Run Code Online (Sandbox Code Playgroud)

这将选择 data-color 属性值等于红色的任何 HTML 元素。

例如:

<div data-color='red'>Red</div>
<p data-color='red'>Red</p>
<span data-color='red'>Red</span>
Run Code Online (Sandbox Code Playgroud)

工作示例: