有哪些選擇器 基本選擇器
通配選擇器(*)
ID選擇器(#ID)
類選擇器(.className)
元素選擇器(tagName)
后代選擇器(a b)
子元素選擇器(a>b)
相鄰后面兄弟元素選擇器(a + b)
通用后面兄弟選擇器(a ? b)
群組選擇器(selector1,selector2,...)
這里面平時(shí)不太常用的選擇器有相鄰后面兄弟選擇器和通用后面兄弟選擇器
首先,很多資料上把它們叫做相鄰兄弟選擇器和通用兄弟選擇器,我覺得這樣會(huì)有一定的誤導(dǎo)意義,
例如:
`
`
當(dāng)使用相鄰兄弟選擇器時(shí):
.l3 + li { background: green; }
效果為:
可以看出相鄰兄弟選擇器只會(huì)選擇它后面的一個(gè)兄弟元素。
當(dāng)使用通用兄弟選擇器:
.l3 ~ li { background: green; }
效果為:
可以看出來通用兄弟選擇器會(huì)選擇它后面所有的兄弟元素
屬性選擇器E[attr]:只使用屬性名,但沒有確定任何屬性值
E[attr="value"]:指定屬性名,并指定了該屬性的屬性值
E[attr~="value"]:指定屬性名,并且具有屬性值,此屬性值是一個(gè)詞列表,并且以空格隔開,其中詞列表中包含了一個(gè)value詞,而且等號(hào)前面的“?”不能不寫
E[attr^="value"]:指定了屬性名,并且有屬性值,屬性值是以value開頭的;
E[attr$="value"]:指定了屬性名,并且有屬性值,而且屬性值是以value結(jié)束的;
E[attr*="value"]:指定了屬性名,并且有屬性值,而且屬值中包含了value;
E[attr|="value"]:指定了屬性名,并且屬性值是value或者以“value-”開頭的值(比如說big-name);
屬性選擇器中有波浪(?)時(shí)屬性值有value時(shí)就相匹配,沒有波浪(?)時(shí)屬性值要完全是value時(shí)才匹配
偽類選擇器動(dòng)態(tài)偽類
在鏈接中常看到的錨點(diǎn)偽類:link、visited、hover、active
UI元素狀態(tài)偽類
例如 :enabled,:disabled,:checked等,這些主要是對(duì)一些表單元素操作。
比較常見的如"type="text"有enable和disabled兩種狀態(tài),前者為可寫狀態(tài)后者為不可寫狀態(tài)。
first-child: 選擇某個(gè)元素的第一次的出現(xiàn)
last-child: 選擇某個(gè)元素的最后一次的出現(xiàn)
nth-child(): 選擇某個(gè)元素的一個(gè)或多個(gè)特定的條件的出現(xiàn)
權(quán)重如何計(jì)算根據(jù)樣式所在位置,對(duì)元素的影響也有關(guān)系:內(nèi)聯(lián)樣式(標(biāo)簽內(nèi)style形式) > style標(biāo)簽 > link標(biāo)簽
根據(jù)選擇器的類型,id選擇器 > 類、屬性選擇器和偽類選擇器 > 元素和偽元素
一般來說我們的計(jì)算方式為,從0開始,一個(gè)行內(nèi)樣式+1000,一個(gè)id+100,一個(gè)屬性選擇器/class或者偽類+10,一個(gè)元素名,或者偽元素+1
參考資料:
你應(yīng)該知道的一些事情-css權(quán)重
css選擇器-基本選擇器
css選擇器-屬性選擇器
css選擇器-偽類選擇器
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/115832.html
有哪些選擇器 基本選擇器 通配選擇器(*) ID選擇器(#ID) 類選擇器(.className) 元素選擇器(tagName) 后代選擇器(a b) 子元素選擇器(a>b) 相鄰后面兄弟元素選擇器(a + b) 通用后面兄弟選擇器(a ? b) 群組選擇器(selector1,selector2,...) 這里面平時(shí)不太常用的選擇器有相鄰后面兄弟選擇器和通用后面兄弟選擇器首先,很多資料上把它...
摘要:字囊括上百個(gè)前端面試題的項(xiàng)目開源了這個(gè)項(xiàng)目是什么項(xiàng)目?jī)?nèi)容這個(gè)項(xiàng)目目前在上剛剛開源主要內(nèi)容如下前端面試題主要整理了高頻且有一定難度的前端面試題對(duì)這些面試題進(jìn)行解讀前端原理詳解針對(duì)一些有一定難度面試題涉及的知識(shí)點(diǎn)進(jìn)行詳解比如涉及的編譯原理響應(yīng)式 20W字囊括上百個(gè)前端面試題的項(xiàng)目開源了 這個(gè)項(xiàng)目是什么? 項(xiàng)目?jī)?nèi)容 這個(gè)項(xiàng)目目前在GitHub上剛剛開源,主要內(nèi)容如下: 前端面試題: 主要整...
摘要:我們基本上都會(huì)從以下步驟入手,這些也是絕大多數(shù)運(yùn)維工程師在定位故障時(shí)前幾分鐘的主要排查點(diǎn)一盡可能搞清楚問題的前因后果不要一下子就扎到服務(wù)器前面,你需要先搞明白對(duì)這臺(tái)服務(wù)器有多少已知的情況,還有故障的具體情況。 遇到服務(wù)器故障,問題出現(xiàn)的原因很少可以一下就想到。我們基本上都會(huì)從以下步驟入手,這些也是絕大多數(shù)運(yùn)維工程師在定位故障時(shí)前幾分鐘的主要排查點(diǎn):一、盡可能搞清楚問題的前因后果不要一下子就扎...
摘要:三個(gè)元素會(huì)從左往右占據(jù)父元素的空間這很顯然。左右側(cè)邊欄的寬度都是,中間元素的寬度將會(huì)占據(jù)元素的剩余寬度。同樣會(huì)導(dǎo)致父元素有部分剩余空間沒有分配。 自從開始開學(xué)習(xí) CSS 布局,想要比較靈活的把父元素的空間分配給各個(gè)子元一直是各個(gè)前端程序員的夢(mèng)想。在 flex 之前,如果不是專門去搜索相關(guān)的解決方案,一般人幾乎想不出非常靈活的三(多)欄等高布局方案,而即使看了解決方案,很多人也會(huì)大呼奇技...
摘要:既然出現(xiàn)了,那怎么辦,目前并沒聽說出現(xiàn)什么新的技術(shù)替代它雖然它真的已經(jīng)很不適合現(xiàn)代的前端了,那么只能開發(fā)一個(gè)新的引擎提高性能,這就是火狐家的量子引擎又叫。這就是所謂的,火狐前一個(gè)引擎所做的那樣。 開始 本文翻譯自Inside a super fast CSS engine: Quantum CSS ,如果想要閱讀原文,可以點(diǎn)擊前往,以下內(nèi)容夾雜本人一些思考,翻譯也并不一定完全。 碎碎念...
閱讀 2538·2023-04-26 00:57
閱讀 911·2021-11-25 09:43
閱讀 2221·2021-11-11 16:55
閱讀 2206·2019-08-30 15:53
閱讀 3592·2019-08-30 15:52
閱讀 1459·2019-08-30 14:10
閱讀 3379·2019-08-30 13:22
閱讀 1209·2019-08-29 11:18