为什么第 N 个子级选择器不起作用?
第 n 个子级选择器是一个强大的工具,用于定位一组同级中的特定元素。然而,了解其局限性以有效地使用它非常重要。
问题:所有社交图标出现相同
考虑以下情况,其中 nth-child用于向社交图标添加背景图像:
<code class="css">#social-links div:nth-child(1) { background-image: url('media/linkedin.svg'); }</code>
预期行为:只有第一个社交图标应该有 LinkedIn 背景图像。
实际行为:所有图标都具有相同的背景图像。
原因:计算兄弟元素而不是元素
第 n 个子元素选择器计算目标元素的兄弟元素数量,而不是元素本身。在上面的代码中,它计算了 #social-links 的 div 子元素的数量。
在这种情况下,div.social-logo 元素始终作为锚元素的唯一 div 子元素存在。因此,nth-child 始终返回 1,这意味着每个元素都会收到相同的背景图像。
解决方案:定位父元素的兄弟姐妹
定位特定的 div.social -logo 元素,我们需要修改选择器以定位父锚元素的兄弟元素:
<code class="css">#social-links a:nth-child(1) div { background-image: url('media/linkedin.svg'); }</code>
通过定位锚元素的第 n 个子元素,我们现在可以正确选择预期的 div.social-logo 元素并应用相应的背景图像。
以上是为什么我的第 N 个子选择器将样式应用于所有元素而不是仅一个?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

WebStorm Mac版
好用的JavaScript开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。