CSS選擇器就是指定CSS要作用的標(biāo)簽,那個(gè)標(biāo)簽的名稱就是選擇器。意為:選擇哪個(gè)容器。
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了成都做網(wǎng)站、成都網(wǎng)站制作,成都網(wǎng)站設(shè)計(jì),廣告投放平臺(tái),成都做網(wǎng)站選創(chuàng)新互聯(lián)建站,貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
CSS選擇器分類:
標(biāo)簽選擇器、類選擇器、ID選擇器、全局選擇器、群組選擇器、后代選擇器、偽類選擇器
1、html標(biāo)簽選擇器:
定義:以html標(biāo)簽作為選擇器
2、class類選擇器:
定義:為HTML標(biāo)簽添加class屬性,通過類選擇器來為具有此class屬性的元素設(shè)置css樣式。
類選擇器也可以對(duì)不同類型元素的同一個(gè)名稱的類選擇器設(shè)置不同的樣式規(guī)則:
同一個(gè)元素可以設(shè)置多個(gè)類,之間用空格隔開:
3、ID選擇器
定義:為HTML標(biāo)簽添加ID屬性,通過ID選擇器來為具有此ID的元素設(shè)置CSS規(guī)則
4、群組選擇器
定義:集體統(tǒng)一設(shè)置樣式
5、全局選擇器
定義:所有標(biāo)簽設(shè)置樣式
HTML文檔結(jié)構(gòu)圖
6、后代選擇器
定義:使用后代選擇器設(shè)置,之間用空格隔開,后代選擇器可以多層。
7、偽類選擇器
鏈接的四種狀態(tài):激活狀態(tài),已訪問狀態(tài),未訪問狀態(tài),鼠標(biāo)懸停狀態(tài)。
偽類
說明
:link
未訪問的鏈接
:visited
已訪問的鏈接
:hover
鼠標(biāo)懸停狀態(tài)
:active
激活的鏈接
:hover 用于訪問的鼠標(biāo)經(jīng)過某個(gè)元素時(shí);
:active 用于一個(gè)元素被激活時(shí)(即按下鼠標(biāo)之后放開鼠標(biāo)之前的狀態(tài))
偽類選擇器的屬性:link visited hover active
說明:
1)?a:hover 必須置于?a:link和a:visited之后,才有效
2) a:active 必須置于 a:hover之后才有效
3) 偽類名稱對(duì)大小寫不敏感
8、CSS其它選擇器
css繼承特性,從父元素那繼承部分css屬性
選擇器的優(yōu)先級(jí)
ID選擇優(yōu)先級(jí)最高(id選擇器定義具有唯一性)
class選擇器次之(class選擇器可以多個(gè))
元素選擇器再次之
其它選擇器優(yōu)先級(jí)主要根據(jù)定義的先后順序,最后定義的優(yōu)先級(jí)高
!important 加重選擇器的優(yōu)先級(jí),添加在樣式規(guī)則之后,中間用空格隔開。
CSS選擇器命名規(guī)則
1:采用英文字母,數(shù)字以及"-" 和 "_" 命名
2:以小寫字母開頭,不能以數(shù)字和"-"?和 "_" 開頭
3:使用有意義的命名規(guī)范
常用CSS命名
header
頁頭
main
主體
footer
頁尾
nav
導(dǎo)航
sidebar
側(cè)欄
container
容器
column
欄目
title
標(biāo)簽
menu
菜單
submenu
子菜單
*列舉常用命名,大家根據(jù)自身項(xiàng)目及團(tuán)隊(duì)的規(guī)則命名
耐心學(xué)習(xí)基礎(chǔ)知識(shí),基礎(chǔ)是蓋房的根基,必須打結(jié)實(shí)。
如果您覺得有用,記得在下方點(diǎn)贊、關(guān)注、留言,我會(huì)定期奉 上更多的驚喜哦,您的打賞支持才是我繼續(xù)努力的動(dòng)力,么么噠。
每日分享在學(xué)習(xí)過程中總結(jié)的學(xué)習(xí)經(jīng)驗(yàn),學(xué)習(xí)筆記,筆試題,HTML,CSS,JavaScript,jQuery教程,Vue教程,PHP教程,TinkPHP教程等,望大家能以學(xué)習(xí)為目的,每天閱讀一篇文章,了解身邊的技術(shù)。陪有夢(mèng)想的人一起成長(zhǎng)!
1、標(biāo)記選擇器(如:body,div,p,ul,li)
2、id選擇器(如:id="name",id="name_txt")
3、類選擇器(如:id="name",id="name_txt")
4、后代選擇器(如:#head.navulli從父集到子孫集的選擇器)
5、子元素選擇器(如:divp,帶大于號(hào))
6、偽類選擇器(如:就是鏈接樣式,a元素的偽類,4種不同的狀態(tài):link、visited、active、hover。)
看完了基本的css選擇器類型后,我們接著來看一下css優(yōu)先級(jí)的概念。
當(dāng)兩個(gè)規(guī)則都作用到了同一個(gè)html元素上時(shí),如果定義的屬性有沖突,那么應(yīng)該用誰的值的,用到誰的值誰的優(yōu)先級(jí)就高。
我們來看一下css選擇器優(yōu)先級(jí)的算法:
每個(gè)規(guī)則對(duì)應(yīng)一個(gè)初始"四位數(shù)":0、0、0、0
若是行內(nèi)選擇符,則加1、0、0、0
若是ID選擇符,則加0、1、0、0
若是類選擇符/偽類選擇符,則分別加0、0、1、0
若是元素選擇符,則分別加0、0、0、1
算法:將每條規(guī)則中,選擇符對(duì)應(yīng)的數(shù)相加后得到的”四位數(shù)“,從左到右進(jìn)行比較,大的優(yōu)先級(jí)越高。
看完了上述內(nèi)容,那我們就來看看css選擇器優(yōu)先級(jí)的具體排序。
css選擇器優(yōu)先級(jí)最高到最低順序?yàn)椋?/p>
1.id選擇器(#myid)
2.類選擇器(.myclassname)
3.標(biāo)簽選擇器(div,h1,p)
4.子選擇器(ulli)
5.后代選擇器(lia)
6.偽類選擇(a:hover,li:nth-child)
最后,需要注意的是:
!important的優(yōu)先級(jí)是最高的,但出現(xiàn)沖突時(shí)則需比較”四位數(shù)“;
優(yōu)先級(jí)相同時(shí),則采用就近原則,選擇最后出現(xiàn)的樣式;
繼承得來的屬性,其優(yōu)先級(jí)最低。
CSS中常用的選擇器:
(一)基本選擇器(二)層次選擇器(三)動(dòng)態(tài)偽類選擇器(四)目標(biāo)偽類選擇器
(五)ui狀態(tài)偽類選擇器(六)結(jié)構(gòu)偽類選擇器(七)屬性選擇器(八)偽元素
(一)基本選擇器
1.標(biāo)簽選擇器:通過標(biāo)簽名獲取元素 權(quán)重:0001
(此種選擇器影響范圍大,建議盡量應(yīng)用在層級(jí)選擇器中。)
2.class選擇器:通過 . 類名獲取元素 權(quán)重:0010
(通過class類名來選擇元素,一個(gè)類可應(yīng)用于多個(gè)元素,一個(gè)元素上也可以使用多個(gè)類,應(yīng)用靈活,可復(fù)用,是css中應(yīng)用最多的一種選擇器。)
3.id選擇器:通過 # id名獲取元素 權(quán)重:0100
(通過id名來選擇元素,元素的id名稱不能重復(fù),所以一個(gè)樣式設(shè)置項(xiàng)只能對(duì)應(yīng)于頁面上一個(gè)元素,不能復(fù)用,id名一般給程序使用,所以不推薦使用id作為選擇器。 )
4. * 通配符選擇器:獲取到頁面的所有元素
5.群組選擇器:用逗號(hào)隔開基本選擇器,表示這些選擇器都獲取到
(二)層次/關(guān)系選擇器
(主要應(yīng)用在選擇父元素下的子元素,或者子元素下面的子元素,可與標(biāo)簽元素結(jié)合使用,減少命名,同時(shí)也可以通過層級(jí),防止命名沖突。)
1.包含選擇器:用空格隔開基本選擇器,表示后一個(gè)選擇器是前面的后代
例:p a { color:red; }
2.子代選擇器:用隔開基本選擇器,表示后一個(gè)選擇器是前面的子代
例:ulli { line-style: none; }
3.相鄰兄弟選擇器:E+F:表示獲取到E后面的緊跟著的F元素(同級(jí)的)
例: a+a { }
4.兄弟選擇器:E~F:表示獲取到E后面所有的同級(jí)的F元素
例: li~li { }
(三)動(dòng)態(tài)偽類選擇器
1. a:link 錨鏈接被訪問前添加樣式
2. a:visited 錨鏈接被訪問后添加樣式
3. e:hover 鼠標(biāo)懸停在元素上添加樣式
4. e:active 鼠標(biāo)點(diǎn)擊元素時(shí)添加樣式
5. :focus 表單元素被聚焦時(shí),添加樣式
(四)目標(biāo)偽類選擇器
語法: 目標(biāo):target {屬性:屬性值} 被選中的目標(biāo)添加樣式
目標(biāo):target E子元素{屬性:屬性值} 被選中的目標(biāo)里的E子元素添加樣式
(五)ui狀態(tài)偽類選擇器
1. :enabled 可用的表單元素添加樣式
2. :disabled 不可用的表單元素添加樣式(disabled )
3. :checked+E 被選中的表單元素添加樣式
(六)結(jié)構(gòu)偽類選擇器
1. E:first-child 獲取到E元素,且要滿足為其父元素的第一個(gè)孩子。
2. E:last-child 獲取到E元素,且要滿足為其父元素的最后一個(gè)孩子
3. E:nth-child(n) 獲取到E元素,且要滿足為其父元素的第n個(gè)孩子
n的用法:
(1)6n倍數(shù) (2)even偶數(shù)/2n odd奇數(shù)/2n-1(如可用來選中奇偶行來實(shí)現(xiàn) “隔行換色”)
(3) -n+5 選中1-5
(4)p:nth-child(-n+3):nth-child(n+2) 2-3個(gè)
4. E:nth-last-child(n) 獲取到E元素,且要滿足為其父元素的倒數(shù)第n個(gè)孩子
5. E:first-of-type 獲取到E元素,且要滿足為其父元素的第一個(gè)該類型的孩子
6. E:last-of-type 獲取到E元素,且要滿足為其父元素的最后一個(gè)該類型的孩子
7. E:nth-of-type(n) 獲取到E元素,且要滿足為其父元素的第n個(gè)該類型的孩子
8. E:nth-last-of-type(n)獲取到E元素,且要滿足為其父元素的倒數(shù)第n個(gè)該類型的孩子
9. E:empty 獲取到空的E元素(注:連空格都不能有)
(七)屬性選擇器
1. E[attr] 擁0有attr屬性的E元素添加樣式 如div[class];
2. E[attr="val"] 擁有attr屬性值 為 val的E元素添加樣式 如p[class="ab"]
3. E[attr*="val"] attr屬性值 包含 val的E元素添加樣式
如ul[class="c"] 指class類名中包含有c字母的E元素
4. E[attr^="val"] attr屬性值以val 開頭 的E元素添加樣式
5. E[attr$="val"] attr屬性值以val 結(jié)尾 的E元素添加樣式
(八)偽元素
1. E::before給E元素添加第一個(gè)子元素 (前面)
2. E::after 給E元素添加最后一個(gè)子元素(后面)
3. E::first-letter給E元素第一個(gè)字添加樣式
4. E::first-line給E元素第一行添加樣式
5. E::selection 元素內(nèi)容被選中時(shí)添加樣式(火狐需要加前綴-moz-)
CSS選擇器、優(yōu)先級(jí)與匹配原理\x0d\x0a1.id 選擇器(#myid)2.類選擇器(.myclassname)3.標(biāo)簽選擇器(div,h1,p)4.相鄰選擇器(h1+p)5.子選擇器(ul 通配選擇符的權(quán)值 0,0,0,0\x0d\x0a2.標(biāo)簽的權(quán)值為 0,0,0,1\x0d\x0a3.類的權(quán)值為 0,0,1,0\x0d\x0a4.屬性選擇的權(quán)值為 0,0,1,0\x0d\x0a5.偽類選擇的權(quán)值為 0,0,1,0\x0d\x0a6.偽對(duì)象選擇的權(quán)值為 0,0,0,1\x0d\x0a7.ID的權(quán)值為 0,1,0,0\x0d\x0a8.important的權(quán)值為最高 1,0,0,0\x0d\x0a使用規(guī)則: 選擇器的權(quán)值加到一起,大的優(yōu)先;如果權(quán)值相同,后定義的優(yōu)先 。\x0d\x0a從上面我們可以得出兩個(gè)關(guān)鍵的因素:\x0d\x0a1.權(quán)值的大小跟選擇器的類型和數(shù)量有關(guān)\x0d\x0a2.樣式的優(yōu)先級(jí)跟樣式的定義順序有關(guān)
當(dāng)前名稱:哪些是css的樣式選擇器,哪些是css的樣式選擇器
當(dāng)前URL:http://chinadenli.net/article30/dsdshpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、建站公司、網(wǎng)頁設(shè)計(jì)公司、電子商務(wù)、移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)