摘要:它們都錯(cuò)誤地使用了波浪選擇器,并造成了很多地方的代碼臃腫。大家可能以前也都遇到或者使用過波浪選擇器,畢竟它作為選擇器已經(jīng)很長時(shí)間了,甚至都支持。我的經(jīng)驗(yàn)里,使用波浪選擇器一般都是通過而不是來選擇兄弟元素的。
原文:The tilde CSS selector, use carefully!
最近我的一些項(xiàng)目都遇到了一些類似的樣式問題。它們都錯(cuò)誤地使用了波浪選擇器,并造成了很多地方的CSS代碼臃腫(CSS Bloat)。大家可能以前也都遇到或者使用過波浪選擇器,畢竟它作為CSS選擇器已經(jīng)很長時(shí)間了,甚至IE7都支持。波浪選擇器用來選擇所有匹配到的兄弟元素。
一個(gè)例子效果:
這里我們的波浪選擇器匹配了.something-important的所有兄弟元素,item2,3,4。
它太容易制造出脆弱的代碼了。
我的經(jīng)驗(yàn)里,使用波浪選擇器一般都是通過type而不是class來選擇兄弟元素的。這樣會(huì)造成你不知道這個(gè)選擇器寫這兒到底是干嘛用的。上面這個(gè)例子我們就不知道.something-important ~li選擇到的
通常來說多敲幾個(gè)字給每個(gè)元素都加上class可以給未來的維護(hù)減少很多不必要的麻煩。
用武之地“在寫代碼的時(shí)候,永遠(yuǎn)假設(shè)最后一個(gè)維護(hù)你的代碼是一個(gè)知道你家住在哪兒的沉默的精神病人。寫點(diǎn)人讀得懂的代碼。——John Woods”
待編輯
避免CSS代碼臃腫我認(rèn)為這篇文章并不僅僅就是告訴大家避免使用波浪選擇器,更多的是讓大家知道遇到CSS的問題時(shí)不要從加上更多的CSS的代碼開始。這從來都不是保持代碼可維護(hù)性的方法。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/115221.html
有哪些選擇器 基本選擇器 通配選擇器(*) ID選擇器(#ID) 類選擇器(.className) 元素選擇器(tagName) 后代選擇器(a b) 子元素選擇器(a>b) 相鄰后面兄弟元素選擇器(a + b) 通用后面兄弟選擇器(a ? b) 群組選擇器(selector1,selector2,...) 這里面平時(shí)不太常用的選擇器有相鄰后面兄弟選擇器和通用后面兄弟選擇器首先,很多資料上把它...
有哪些選擇器 基本選擇器 通配選擇器(*) ID選擇器(#ID) 類選擇器(.className) 元素選擇器(tagName) 后代選擇器(a b) 子元素選擇器(a>b) 相鄰后面兄弟元素選擇器(a + b) 通用后面兄弟選擇器(a ? b) 群組選擇器(selector1,selector2,...) 這里面平時(shí)不太常用的選擇器有相鄰后面兄弟選擇器和通用后面兄弟選擇器首先,很多資料上把它...
2017-07-28 前端日報(bào) 精選 React的新引擎—React Fiber是什么?Chromeless 讓 Chrome 自動(dòng)化變得簡單【譯】JavaScript屬性名稱中的隱藏信息前端測試框架 JestES6中的JavaScript工廠函數(shù)Why Composition is Harder with ClassesGET READY: A NEW V8 IS COMING, NODE.JS...
閱讀 2491·2021-09-30 09:47
閱讀 1439·2021-09-28 09:35
閱讀 3324·2021-09-22 15:57
閱讀 2584·2021-09-22 14:59
閱讀 3713·2021-09-07 10:25
閱讀 3150·2021-09-03 10:48
閱讀 3111·2021-08-26 14:14
閱讀 1018·2019-08-30 15:55