使用 CSS 属性选择器的高级样式
CSS 是我们又爱又恨的朋友。喜欢 CSS 的另一个原因是它允许你使用元素的属性来选择元素。
常用于样式设置的属性是“class”和“id”。在本文中,我将向您展示如何使用其他属性及其指定的值来定位特定元素。
[属性] 选择器
[属性] 选择器选择具有指定属性的元素。
例子
img[alt] {
border: 2px solid yellow;
}
上述选择器仅针对包含“alt”属性的图像,因此具有“alt”属性的图像将具有黄色边框。
<img src="./../../images/dog.png" alt="cute white dog"/> // ✅ Selected, has yellow border
<img src="./../../images/cat.png"/>// ❌ not selected, no border
[attribute="value"] 选择器
[attribute="value"] 选择器选择包含具有精确指定值的特定属性的元素。
属性值字符串默认区分大小写,但可以通过在右括号前添加“i”更改为不区分大小写,如下所示:
img[alt="paper"] { //Case sensitive
border: 2px solid yellow;
}
img[alt="PapEr" i] { //Case insensitive
border: 2px solid yellow;
}
The selectors above target the same elements.
例子
<img src="./../../images/paper.png" alt="paper"/> // ✅ Selected, has yellow border
上述选择器仅针对包含“alt”属性且值为“paper”的图像。
[attribute*="value"] 选择器
[attribute*="value"] 选择器用于选择任意位置属性值包含指定值的元素。
img[alt*="ter"] {
border: 2px solid yellow;
}
例子
<img src="./../../images/paper.png" alt="alter"/> // ✅ Selected, has yellow border
<img src="./../../images/paper.png" alt="termite"/> // ✅ Selected, has yellow border
<img src="./../../images/paper.png" alt="flattering"/> // ✅ Selected, has yellow border
[attribute~="value"] 选择器
[attribute~="value"] 选择器用于选择属性值包含指定单词的元素。
img[alt~="coin"] {
border: 2px solid yellow;
}
例子
<img src="./../../images/man.png" alt="coin collector"/> // ✅ Selected, has yellow border
<img src="./../../images/office.png" alt=" Buycoins Headquaters"/> // ❌ not selected, no border
[attribute^="value"] 选择器
[attribute^="value"] 选择器用于选择属性值以指定值开头的元素。
img[alt^="hat"] {
border: 2px solid yellow;
}
例子
<img src="./../../images/hat.png" alt="hat"/> // ✅ Selected, has yellow border
<img src="./../../images/ronaldo.png" alt="hatrick"/> // ✅ Selected, has yellow border
[属性|="值"] 选择器
[attribute|="value"] 选择器用于选择具有指定属性且以指定值开头的元素。在这种情况下,值必须是整个单词或以连字符分隔的单词的第一个单词。
img[alt|="front"] {
border: 2px solid yellow;
}
例子
<img src="./../../images/linda.png" alt="front-end-developer"/> // ✅ Selected, has yellow border
<img src="./../../images/linda.png" alt="frontend-developer"/> // ❌ not selected, no border
<img src="./../../images/location.png" alt="front"/> // ✅ Selected, has yellow border
[attribute$="value"] 选择器
[attribute$="value"] 选择器用于选择属性值以指定值结尾的元素。该值不必是整个单词。
img[alt$="tion"] {
border: 2px solid yellow;
}
例子
<img src="./../../images/banner.png" alt="education"/> // ✅ Selected, has yellow border
<img src="./../../images/linda.png" alt="hand-lotion"/> // ✅ Selected, has yellow border