📜  带有文本内容的 CSS 选择器 - CSS (1)

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

带有文本内容的 CSS 选择器

在 CSS 中,我们可以使用选择器来选中对应的 HTML 元素,而带有文本内容的 CSS 选择器可以帮助我们更加精确地选中页面上的元素。下面介绍一些常见的带有文本内容的 CSS 选择器。

:contains

:contains 选择器可以选中包含指定文本内容的元素,语法如下:

元素:contains(文本内容) {
  /* 样式代码 */
}

例如,选中所有 <div> 中包含 "Hello" 文本内容的元素,样式为设置背景色为红色:

div:contains('Hello') {
  background-color: red;
}
:not(:contains)

:not(:contains) 选择器可以选中不包含指定文本内容的元素,语法如下:

元素:not(:contains(文本内容)) {
  /* 样式代码 */
}

例如,选中所有非 <script> 元素中不包含 "Hello" 文本内容的元素,样式为设置边框为 1px 黑色:

*:not(script):not(:contains('Hello')) {
  border: 1px solid black;
}
[attribute*=value]

[attribute*=value] 选择器可以选中包含指定属性值的元素,语法如下:

元素[属性*=属性值] {
  /* 样式代码 */
}

例如,选中所有带有 href 属性并且属性值包含 "google" 的 <a> 元素,样式为设置文本颜色为蓝色:

a[href*='google'] {
  color: blue;
}
[attribute|=value]

[attribute|=value] 选择器可以选中属性值等于指定值或者以指定值开头的元素,语法如下:

元素[属性|=属性值] {
  /* 样式代码 */
}

例如,选中所有带有 class 属性并且属性值等于 "active" 或者以 "active-" 开头的元素,样式为设置背景色为绿色:

[class|=active] {
  background-color: green;
}
[attribute~=value]

[attribute~=value] 选择器可以选中包含指定属性值的元素,属性值可以是以空格分隔的多个值中的一个,语法如下:

元素[属性~=属性值] {
  /* 样式代码 */
}

例如,选中所有带有 class 属性并且属性值包含 "active" 的元素,样式为设置文本颜色为红色:

[class~='active'] {
  color: red;
}

以上就是常见的带有文本内容的 CSS 选择器,可以让我们更加精确地选中页面上的元素。