CSS 有没有选择器来选择包含特定文本的元素

CSS 有没有选择器来选择包含特定文本的元素

在CSS中,选择器用于选择要样式化的HTML元素。CSS中有各种可用的选择器,如class选择器、id选择器、name选择器等。

有时,开发人员需要根据自定义属性值选择HTML元素,而不是根据类名或id选择它。我们可以使用属性值CSS选择器来根据特定的属性值选择HTML元素。我们还可以在HTML中添加自定义属性,而不仅限于预定义的属性。

语法

用户可以按照以下语法使用属性值CSS选择器来选择包含特定文本的元素。

[attribute name="attribute value"] {
   /* CSS code */
}

在上述语法中,属性名称可以是HTML元素包含的属性名称,而您想根据属性值选择元素。属性值是特定属性的值。

示例1

以下示例中,我们创建了一个名为“social”的div元素。在div元素中,我们添加了包含“app_name”属性及其值的子div元素。在CSS中,我们使用“app_name”作为属性名称,并使用不同的值来选择不同的div元素。

在输出中,用户可以观察到已对包含“Facebook”和“Instagram”属性值的div元素进行了样式设置。

<html>
<head>
   <style>
      [app_name="facebook"] {
         background-color: #3b5998;
         color: white;
      }
      [app_name="instagram"] {
         background-color: #e4405f;
         color: white;
      }
   </style>
</head>
<body>
   <h3> Using the <i> [attribute=value] </i> CSS selector to target an element based on its attribute value </h3>
   <div class = "social">
      <div app_name = "facebook"> facebook </div>
      <div app_name = "twitter"> twitter </div>
      <div app_name = "instagram"> instagram </div>
      <div app_name = "youtube"> youtube </div>
   </div>
</body>
</html>

示例2

在下面的示例中,我们使用了属性值选择器,但对于部分选择器,我们使用了“~”符号。它选择HTML元素,即使属性中的值包含一个特定的词,而不是匹配第一个示例中的整个词。

我们在属性值CSS选择器中使用了“app”一词。因此,它会选择所有类型属性包含“app”一词的HTML元素。输出结果显示,它已经对前三个div元素进行了样式设置,因为它们包含了“app”一词。

<html>
<head>
   <style>
      [type~="app"] {
         color: red;
         width: 200px;
         text-align: center;
         border: 1px solid black;
         margin: 10px;
         padding: 10px;
         border: 3px solid green;
      }
   </style>
</head>
<body>
   <h3> Using the <i> [attribute~=value] </i> CSS selector to target an element based on its attribute value </h3>
   <div class = "appllication">
      <div type = "web app"> Web application </div>
      <div type = "mobile app"> Mobile application </div>
      <div type = "desktop app"> Desktop application </div>
      <div type = "device"> Anroid device </div>
   </div>
</body>
</html>

示例3

在下面的示例中,我们使用了属性-值CSS选择器中的‘^’符号。它允许选择所有属性值以特定单词开头的元素。

这里,我们创建了具有不同类名的div元素。在CSS中,我们使用属性-值选择器来选择所有类名以‘a’字符开头的HTML元素。

<html>
<head>
   <style>
      [class ^="a"] {
         background-color: aqua;
         height: auto;
         font-size: 2rem;
         padding: 10px;
         width: 300px;
         margin: 10px;
      }
   </style>
</head>
<body>
   <h3> Using the <i> [attribute*=value] </i> CSS selector to target an element based on its attribute value </h3>
   <div class = "start">
      <div class = "abc"> ABC </div>
      <div class = "ade"> ADE </div>
      <div class = "bcd"> BCD </div>
      <div class = "cde"> CDE </div>
   </div>
</body>
</html>

示例4

在下面的示例中,我们创建了一个包含零食名称、过期日期和价格的表格。此外,我们还添加了一个等于过期的状态,用于表示已过期的零食。我们使用属性值CSS选择器来选择“过期”零食,并对其进行样式化。

<html>
<head>
   <style>
      td[status*=expired] {
         color: red;
         background-color: green;
      }
   </style>
</head>
<body>
   <h3> Using the <i> [attribute*=value] </i> CSS selector to target an element based on its attribute value </h3>
   <table>
      <tr>
         <th> Snack </th>
         <th> Expiry </th>
         <th> Price </th>
      </tr>
      <tr>
         <td> Chips </td>
         <td> 01/01/2024 </td>
         <td> 20 INR </td>
      </tr>
      <tr>
         <td> Chocolate </td>
         <td> 01/09/2023 </td>
         <td> 30 INR </td>
      </tr>
      <tr>
         <td> Candy </td>
         <td status = "expired"> 01/01/2022 </td>
         <td> 25 INR </td>
      </tr>
   </table>
</body>
</html>

用户学会了根据特定的文本选择一个HTML元素。我们可以给HTML元素添加自定义属性,然后可以使用属性值CSS选择器根据属性值选择元素。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记