CSS 中是否有包含特定文本的元素选择器?
在 CSS 中,选择器用于选择要设置样式的 HTML 元素。CSS 中有各种 CSS 选择器,例如类选择器、ID 选择器、名称选择器等。
有时,开发者需要根据自定义属性值来选择 HTML 元素,而不是根据类名或 ID 来选择。我们可以使用属性值 CSS 选择器,根据特定属性值来选择 HTML 元素。我们还可以添加自定义属性,而不仅仅是 HTML 中的预定义属性。
语法
用户可以按照以下语法使用属性值 CSS 选择器来选择包含特定文本的元素。
[attribute name="attribute value"] {
/* CSS 代码 */
}
在上述语法中,属性名称可以是 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"这个词。因此,它将选择所有 type 属性包含"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 中选择了"已过期"零食,并使用属性值 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 选择器根据属性值选择元素。
相关文章
有用资源
css 参考教程 - 该教程包含有关 css 的更多信息:https://www.cainiaomax.com/css/

