前端常见bug系列1:容易被误解的:last-child 和 :first-child

简介: 用某个选择器过滤出来一个元素集合,当我们想选中最后一个元素的时候,是不是很容易想到:last-child?比如,有下面一段CSS和HTML片段: ``` .section{ margin-bottom: 50px; } .section1-item:last-child{ col

用某个选择器过滤出来一个元素集合,当我们想选中最后一个元素的时候,是不是很容易想到:last-child?比如,有下面一段CSS和HTML片段:

<style>
        .section{
            margin-bottom: 50px;
        }

        .section1-item:last-child{
            color: blue;
        }
</style>
<section class="section section1">
        <header>header</header>
        <p class="section1-item card">111</p>
        <p class="section1-item card">222</p>
        <p class="section1-item card">333</p>
        <p class="section1-item card">444</p>
        <footer>footer</footer>
</section>

本来是想选中<p class="section1-item card">444</p>给它设置颜色为蓝色的,结果什么也没有发生。为什么?

查看W3C的相关介绍

The :last-child pseudo-class represents an element that is the last child of some other element.

someselecttor:last-chid 所表示的是,如果someselecttor所选中的某个节点恰好是其父元素的最后一个直接子节点,那么该选择器生效。而不是表示someselecttor选中的节点集合的最后一个。

同理,我们马上可以想到,:first-child是不是也有类似问题?添加一句样式.section1-item:last-child{ color: red; }到上面的例子中一试就知道,问题果然存在。

someselecttor:first-chid 所表示的是如果someselecttor所选中的某个节点恰好是其父元素的第一个直接子节点,那么该选择器生效。

目录
相关文章
|
前端开发 测试技术
你发现一个bug,如何定位这个是前端还是后端缺陷?建议收藏
你发现一个bug,如何定位这个是前端还是后端缺陷?建议收藏
518 0
|
Web App开发 前端开发 开发者
|
前端开发 安全 程序员
测试大姐趁我下班点又提了个bug!前端你咋多个options请求?
测试大姐趁我下班点又提了个bug!前端你咋多个options请求?
93 0
|
1月前
|
前端开发 JavaScript 开发者
前端开发的终极技巧:如何让你的代码既简洁又高效,还能减少bug?
【10月更文挑战第30天】前端开发充满挑战与创新,如何编写简洁高效且少bug的代码是开发者关注的重点。本文介绍五大技巧:1. 模块化,提高代码复用性;2. 组件化,降低代码耦合度;3. 使用现代框架,提高开发效率;4. 统一代码规范,降低沟通成本;5. 利用工具,优化代码质量。掌握这些技巧,让前端开发更高效。
85 1
|
6月前
|
前端开发 安全 JavaScript
如何区分是前端BUG还是后端BUG
1 基于经验 前端BUG特点: (1)界面排版、布局错误、兼容性问题 (2)网络不稳定导致JS或CSS未完全加载或请求超时(一般不需要提BUG),正常网络下加载超时 后端BUG特点: 业务逻辑、性能问题、数据问题、安全性问题 2 通过HTTP请求和响应信息 可以通过浏览器开发者工具(F12)、postman、fiddler(移动端可通过该工具抓包)、Charles、Proxyman、Wireshark、HttpCanary、tcpdump等工具。
102 1
|
5月前
|
前端开发 JavaScript 流计算
前端 JS 经典:打印对象的 bug
前端 JS 经典:打印对象的 bug
46 0
|
7月前
|
前端开发 安全 JavaScript
怎么判断bug是前端问题还是后端问题?
怎么判断bug是前端问题还是后端问题?
156 0
|
7月前
|
前端开发
elementui-upload组件自定义样式上传(upload中常用的属性,但是网络上却找不到教程)(解决bug删除之后再次上传会上传删除的图片)专注后端工程师的前端速成
elementui-upload组件自定义样式上传(upload中常用的属性,但是网络上却找不到教程)(解决bug删除之后再次上传会上传删除的图片)专注后端工程师的前端速成
829 0
|
7月前
|
JSON 缓存 前端开发
编写代码前,如何规避尽可能多的前端bug?
编写代码前,如何规避尽可能多的前端bug?
78 0
|
前端开发 芯片
【芯片前端】“异步FIFO全解析”的BUG——格雷码连续性
【芯片前端】“异步FIFO全解析”的BUG——格雷码连续性
148 1