偽類選擇器(簡稱:偽類)通過冒號來定義,它定義了元素的狀態(tài),如點(diǎn)擊按下,點(diǎn)擊完成等,通過偽類可以為元素的狀態(tài)修改樣式。
偽類的功能和一般的DOM中的元素樣式相似,但和一般的DOM中的元素樣式不一樣,它并不改變?nèi)魏蜠OM內(nèi)容。只是插入了一些修飾類的元素,這些元素對于用戶來說是可見的,但是對于DOM來說不可見。偽類的效果可以通過添加一個(gè)實(shí)際的類來達(dá)到。
文/小伊評科技
作為一個(gè)半資深的前端工程師,你這個(gè)問題問的非常的沒有道理,這個(gè)問題就好比是在問:男人那么能干,為什么不能取代女人呢?因?yàn)镃SS和Javascript完全是兩個(gè)不同的概念,其工作職責(zé)也是不同的,CSS控制的樣式表,是偏向靜態(tài)表現(xiàn)得,他的核心功能最強(qiáng)大的功能其實(shí)就是定義樣式,雖然目前CSS3加入了很多動畫效果,比如配合transtion/transform以及animation可以制作很多簡單甚至相當(dāng)復(fù)雜的動畫效果,但是說白了也只是靜態(tài)展示,想要做成動態(tài)的人機(jī)交互效果,還是需要Javascript所提供的各種交互事件來配合完成,CSS+HTML所能提供得交互方式太過于單薄。
而且Javascript是一個(gè)實(shí)打?qū)嵉木幊陶Z言,他的作用可不僅限于操作DOM元素這么簡單,他還是溝通前臺和后臺得一個(gè)重要溝通工具,沒有JS你的頁面就只是一個(gè)靜態(tài)頁面罷了。筆者舉一個(gè)最簡單的例子,如果你需要頁面中某一個(gè)方面要引用后臺的數(shù)據(jù),那么用CSS怎么實(shí)現(xiàn)?根本無法實(shí)現(xiàn),所以這個(gè)時(shí)候就需要用到AJAX技術(shù)了,而一旦用到AJAX技術(shù),就必須要使用到Javascript。
只會html+CSS的前端人員充其量只能算是一個(gè)網(wǎng)頁設(shè)計(jì)師罷了HTML+CSS所能做出來的只不過是靜態(tài)的頁面,并不具備可交互性,也基本上無法滿足商用的要求。所以對于一個(gè)前端工程師來說JS才是重中之重。目前主流的三大框架React、Vue、Angular也都是基于Javascript深度開發(fā)的產(chǎn)物。只會HTML+CSS的前端工程師目前已經(jīng)基本被淘汰了,或者說沒有特別的用武之地。因?yàn)榇蟛糠諹I設(shè)計(jì)師對于Html+CSS的掌握都非常優(yōu)秀,配置靜態(tài)頁面不成問題而如果想要成為更進(jìn)一步的前端工程師,甚至前端高級工程師,Javascript是必須要熟練掌握的,在掌握了Javascript之后再去學(xué)習(xí)三大框架,學(xué)習(xí)AJAX,學(xué)習(xí)
Node.Js
等才會更加的游刃有余。end 希望可以幫到你BCDB 比如class類型 class = "nav"的話 那么CSS對應(yīng) .nav{}C 比如 body input 就是直接對應(yīng) body{} input{}D ID選擇器 id="name" 那么css對應(yīng) #name{}
基本選擇器
1.標(biāo)簽選擇器:直接用元素的標(biāo)簽來進(jìn)行選擇
span { // 直接選擇span標(biāo)簽
size:16px;
}
1
2
3
1
2
3
2.ID選擇器:通過設(shè)置id名字,進(jìn)行精確的選擇,用#來定義
# div1 { //通過id名字來進(jìn)行選擇
color:red;
}
<div id="div1">1</div>
1
2
3
4
1
2
3
4
3.類選擇器:通過類名來進(jìn)行選擇,選擇范圍比id選擇器大,用’.'來定義
.div1 { //所有類名為div1的都被選擇了
color:red;
}
<div id="div1">1</div>
<div id="div1">1</div>
<div id="div1">1</div>
1
2
3
4
5
6
1
2
3
4
5
6
4.通配符選擇器:范圍更大,作用于所有標(biāo)簽,用*來定義
不建議使用,對頁面加載負(fù)擔(dān)大
高級選擇器
1.后代選擇器:定義用空格隔開
div span { //選擇的是div標(biāo)簽下的span標(biāo)簽,當(dāng)然后代顧名思義可以不止隔一代,可以隔多代進(jìn)行選擇
color:red;
}
<div><span>1</span></div>
1
2
3
4
1
2
3
4
2.交集選擇器:與后代選擇器定義的不同是,沒有空格隔開,兩個(gè)元素緊挨著
span#a1 { //選擇的是兩個(gè)條件1.既是span標(biāo)簽的 2.id名是a1的元素,兩個(gè)條件缺一不可
color:red;
}
<span id=“a1”>1</span>
<span >1</span>
1
2
3
4
5
1
2
3
4
5
3.并集選擇器:定義用逗號隔開
span,#a1 { //選擇的是1.是span標(biāo)簽的 2.id名是a1的元素,兩個(gè)條件滿足一個(gè)即可
color:red;
}
<span id=“a1”>1</span>
<span >1</span>
1
2
3
4
5
1
2
3
4
5
4.偽類選擇器:
1.靜態(tài)偽類:點(diǎn)擊連接之前(link),點(diǎn)擊連接之后(visited)這樣的
2.動態(tài)偽類:鼠標(biāo)移入(hover),點(diǎn)擊之后(focus)