原文 | https://www.ibrahima-ndaw.com/blog/6-powerfull-css-selectors/
译文 | web前端开发 (ID:web_qdkf)
CSS中的选择器用于选择元素并设置其样式。在我们使用其中一个之后,它们可能会非常强大。在本文中,我将引导您通过6个功能强大的CSS选择器,这些选择器将真正帮助您在下一个项目中编写干净的CSS。
1. div >a
这个选择器将使我们能够选择所有父元素是div标签的元素。
<!-- This one will be selected -->
<div>
<a></a>
</div>
<!-- This one won't be selected -->
<p>
<a></a>
</p>
2. div +a
选择紧接在div元素之后的每个标签。如果我们在div和a标签之间有一个元素,则不会选择该元素。
<main>
<!-- This one will be selected -->
<div></div>
<a></a>
<!-- This one won't be selected -->
<div></div>
<p></p>
<a></a>
</main>
3. div ~a
a标签将选择每个标签,然后在同一级别上添加div标签。换句话说,如果a标签不是紧跟在div标签之后,而是具有div标签作为同级元素,则将选择该标签。
<main>
<!-- This one will be selected -->
<div></div>
<a></a>
<!-- This one will be selected -->
<div></div>
<p></p>
<a></a>
<section>
<!-- This one will be selected -->
<div></div>
<p></p>
<a></a>
</section>
<footer>
<!-- This one won't be selected -->
<p></p>
<a></a>
</footer>
</main>
4. [属性^=值]
例如:[class ^ =“ list-”]此选择器将选择每个包含class属性且其值以list-开头的元素。
<main>
<!-- This one will be selected -->
<div class="list-element"></div>
<!-- This one will be selected -->
<div class="list-container"></div>
<!-- This one will be selected -->
<div class="list-item"></div>
<!-- This one won't be selected -->
<div class="list__footer"></div>
</main>
5. [属性$=值]
例如:[src $ =“.png”]这将选择每个值以.png结尾的src属性。
<div>
<!-- This one will be selected -->
<img src="image1.png">
<!-- This one will be not selected -->
<img src="image2.jpg">
<!-- This one will be selected -->
<img src="image3.png">
<!-- This one won't be selected -->
<img src="image4.svg">
</div>
6. [属性*=值]
例如:[class * =“-list”]此选择器将选择其class属性包含-list的每个元素。 不管-list是在类值的开头,中间还是结尾都没有关系。最重要的是该值必须包含-list。
<main>
<!-- This one will be selected -->
<div class="main-list-container"></div>
<!-- This one will be selected -->
<div class="primary-list"></div>
<!-- This one will be selected -->
<div class="primary-list-item"></div>
<!-- This one won't be selected -->
<div class="list-footer"></div>
</main>
结论
有时候,很难找到所需样式的元素,这是因为我们对CSS选择器不够熟悉,而导致被滥用。在实际应用中,这些选择器可能是非常有用。