前端常見bug系列1:容易被誤解的:last-child和:first-child
用某個選擇器過濾出來一個元素集合,當我們想選中最後一個元素的時候,是不是很容易想到: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解決
- 那些常見的Web前端學習誤區分享!Web前端
- Apache Spark常見的三大誤解ApacheSpark
- Go常見錯誤第15篇:interface使用的常見錯誤和最佳實踐Go
- 常見bug分類
- Stream -- Node.js中最好的卻最容易被誤解的部分Node.js
- 容易被遺忘的前端基礎:JavaScript 記憶體詳解前端JavaScript記憶體
- 對web應用程式安全的常見誤解Web
- Hadoop常見錯誤及解決方案Hadoop
- 常見的幾種IE6 BUG及其解決的方法
- Web前端工程師的一些常見誤區介紹!Web前端工程師
- 7個前端新手常見誤區,千萬要避開前端
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- SOCKS代理的常見誤區
- 常見的錯誤 SQL 用法SQL
- Elasticsearch常見的5個錯誤及解決策略Elasticsearch
- 前端常見命名前端
- SSH常見錯誤
- MySQL 常見錯誤MySql
- 派克斯常見錯誤程式碼詳解
- 【常見錯誤】--Nltk使用錯誤
- 海外常見的http錯誤程式碼原因與解決HTTP
- 常見的前端面試題前端面試題
- Go常見錯誤集錦 | 字串底層原理及常見錯誤Go字串
- Go 常見錯誤集錦 | 字串底層原理及常見錯誤Go字串
- 串列埠通訊常見的錯誤和故障排除方法串列埠
- 常見的 PostgreSQL 升級錯誤SQL
- 常見的資料分析誤區
- 常見的page,client,offset系列client
- 前端開發最容易犯的13個JavaScript錯誤前端JavaScript
- ES系列二之常見問題解決
- 常見前端需求合集前端
- 前端常見問題前端
- npm install 常見錯誤NPM
- Mysql:1236常見錯誤MySql
- 好程式設計師分享ApacheSpark常見的三大誤解程式設計師ApacheSpark
- 區塊鏈和比特幣常見的七大誤區區塊鏈比特幣
- 更好的前端設計形式——設計者犯的常見錯誤及修改方法前端
- 爬蟲常見錯誤程式碼及解決措施爬蟲