摘要:后代選擇器,兒子選擇器,毗鄰選擇器,弟弟選擇器。后代選擇器后代選擇器標(biāo)簽選擇器后跟標(biāo)簽后代,無論直屬還是間接直屬,直接后代毗鄰后代中最近的一個(gè)弟弟,找到和自己同級(jí)的標(biāo)簽如通過多個(gè)選擇器好到具體的標(biāo)簽。
目錄
TOC
CSS被用于同時(shí)控制多重頁面的樣式和布局
樣式很多;關(guān)鍵在于布局的耗時(shí)和難點(diǎn)
通過CSS可以將html中的格式化都剝離出來。
為什么說層疊呢?
簡(jiǎn)單說就是:一個(gè)元素標(biāo)簽的樣式css的來源,是可以有很多來源的。把每個(gè)來源點(diǎn)抽象看為一個(gè)層,每個(gè)來源層根據(jù)css的標(biāo)準(zhǔn),是有不同的優(yōu)先級(jí)的。優(yōu)先級(jí)低的在底層,優(yōu)先級(jí)高的在高層。這樣層次堆疊就有了一個(gè)從上而下的堆疊模型,或者想象成一個(gè)裝修材料層板堆疊在那里。每一層都可以給元素設(shè)置任何css屬性,每一層之間可以有相同的屬性。只是,相同的屬性會(huì)根據(jù)層次的優(yōu)先級(jí)進(jìn)行覆蓋。可以再次想象從上帝視角,垂直向下看,上層有的會(huì)遮擋下層有的,上層沒有的就會(huì)看到下層有的。這就是將一個(gè)立體的看成一平面視角。這就是層疊的含義了。
至于優(yōu)先級(jí),內(nèi)聯(lián)高于選擇器(多個(gè)選擇器,根據(jù)權(quán)重排列優(yōu)先,相同有后覆蓋先),選擇器高于繼承。
可以說,css這種設(shè)計(jì)非常優(yōu)秀的。很多技術(shù)都有類似的設(shè)計(jì)解決**多來源的沖突**。
了解層疊和css屬性來源,是調(diào)試樣式的關(guān)鍵。
優(yōu)點(diǎn):
1. 大大提升網(wǎng)頁開發(fā)的效率
2. 提高網(wǎng)站被搜索引擎收錄,html文件小了。
3. 內(nèi)容和表現(xiàn)分離
4. 網(wǎng)站表現(xiàn)統(tǒng)一,容易修改;這個(gè)很重要,用戶體驗(yàn)最重要。
三種引入方式,內(nèi)聯(lián)是優(yōu)先大于后兩者的。
而后兩者注意其在html代碼中引入的順序;這個(gè)順序會(huì)影響優(yōu)先級(jí)。相同選擇器權(quán)重后引入的優(yōu)先級(jí)高。
一般父級(jí)標(biāo)簽可以影響到子標(biāo)簽,但是有些則不能,如a鏈接標(biāo)簽.
在引入方式這里還要提到,引入方式除了內(nèi)聯(lián),其它都是選擇器。可以總結(jié)一個(gè):標(biāo)簽css樣式的抽象來源方式有:繼承,選擇器,內(nèi)聯(lián)。只是選擇器有兩種引入方式。
/*這是注釋*/
/*
html是
js是//
css是/**/
*/
站在元素標(biāo)簽的角度,它被選擇器Selector選中后,元素去選擇排序涉及到自己的選擇器權(quán)重順序,并重疊他們,取出想要的。權(quán)重高的沒有化就使用選擇權(quán)重低的的樣式。這就是重疊。
其實(shí)選擇的分類,可以站在另一個(gè)角度來看待:
一類:直接選擇器,通過元素自身的特點(diǎn)的選擇器;標(biāo)簽,類,id,屬性。
二類:間接選擇器,很多叫組合選擇器;通過自己所處的環(huán)境和位置來;由直接選擇器構(gòu)成,直接選擇器之間存在包含關(guān)系或者說父子關(guān)系,最后選擇上的是被包含的元素;利用了父元素的選擇來間接通過它們的關(guān)系來選擇上元素。后代選擇器,兒子選擇器,毗鄰選擇器,弟弟選擇器。
三類:分組選擇器,很多叫群組選擇器。就是多個(gè)選擇器,無論直接還是間接,它們都是一樣的聲明樣式;為了節(jié)約代碼,將他們用逗號(hào)間隔。其實(shí)質(zhì)就是放到把選擇器放到一起成為一個(gè)組,他們之間沒有任何關(guān)聯(lián)關(guān)系,只是大家都是一樣的聲明樣式,放在一堆而已。
四類:交集選擇器,因?yàn)橐粋€(gè)元素的多個(gè)自身特點(diǎn)組合在一起來選擇元素。但是,第一個(gè)選擇器必須是標(biāo)簽選擇器,第二個(gè)必須是內(nèi)選擇器或者id選擇器。如元素有多個(gè)類,通過一個(gè)類可能選擇不到,就通過多個(gè)類一起選擇。也可以想成,一個(gè)選擇器選擇的元素和另一個(gè)選擇器選擇的元素之間的交集里面的元素。交集選擇器用的還是比較多的。它的構(gòu)成就是選擇器之間沒有空格。交集還可以是標(biāo)簽和屬性選擇器交集。
五類:偽類和偽元素,不存在的。偽類是元素事件發(fā)生時(shí)被選擇上所呈現(xiàn)的樣式。為元素是元素的前后虛擬出元素。
選擇器說白了,就是找可能定位元素的各種維度去實(shí)現(xiàn)查找。帶到耗子的就是好貓。當(dāng)你要給一個(gè)或者一類元素創(chuàng)建選擇器時(shí),就是考慮怎么查找到他們更準(zhǔn)確,就是選擇器類型的選型了。還有種選擇器是用于動(dòng)態(tài)的,就是配合js改變?cè)兀瑥亩淖冊(cè)仄ヅ涞倪x擇器,從而改變頁面的布局樣式。這就是js操縱頁面動(dòng)態(tài)的手段之一(也要考慮選擇器優(yōu)先級(jí))。
選擇器是標(biāo)簽名:p {}
選擇器是.類名: .red {}
其實(shí)類選擇器可以看作是用于標(biāo)簽繼承的,標(biāo)簽可以多繼承。
類用來歸類一些列樣式。可以將實(shí)現(xiàn)了不同樣式的類應(yīng)用到元素中。最后多個(gè)類進(jìn)行層疊,得到想要的效果。所以用類的層疊使用是很科學(xué)和靈活的。
1 要用“公共類”的思想,將多個(gè)標(biāo)簽相同的樣式,都抽象到一個(gè)類中
2 不要試圖使用一個(gè)類就將標(biāo)簽的樣式都寫到這個(gè)類中。通過抽象公共部分到一個(gè)類中,然后標(biāo)簽使用多個(gè)類。這樣就解除了一定的耦合,即如果元素的樣式都在一個(gè)類中,那么類和這個(gè)元素之間就是高度耦合的。每個(gè)類盡量小,減少了耦合度,這樣就變得非常靈活,把代碼寫活了。
選擇器是#id值: #p2 {}
* { }
是對(duì)前三種選擇器進(jìn)行擴(kuò)展組合。而inline style是元素標(biāo)簽內(nèi)的,嚴(yán)格不是選擇器,但是人們便于理解記憶,將其說成內(nèi)聯(lián)選擇器。
標(biāo)簽選擇器后 跟 標(biāo)簽
如: div,span,img {} 注意使用逗號(hào)間隔的,這就是群主選擇器,其實(shí)群主選擇器就是將定義相同的放在一起,省代碼
是標(biāo)簽加上標(biāo)簽的type類型。如: a:active {} 。
所謂偽元素選擇器,就是針對(duì)一個(gè)虛擬的元素,沒有具體的標(biāo)簽,就是一個(gè)標(biāo)簽的相對(duì)位置構(gòu)建一個(gè)inline的盒子。所以偽元素選擇器,長(zhǎng)得像這樣:p:after {} 這樣。
選擇器優(yōu)先原理參考
一般而言,選擇器越特殊,選擇器指向越準(zhǔn)確,優(yōu)先級(jí)越高(所以我們要定義一個(gè)選擇器時(shí),要想優(yōu)先級(jí)高不被其它覆蓋,盡量準(zhǔn)確)基于基本選擇器的權(quán)重進(jìn)行計(jì)算,參考權(quán)重值:
組合的選擇器,就根據(jù)這個(gè)進(jìn)行計(jì)算得出權(quán)重值,這里也給個(gè)形象的枚舉出所有組合可能之間的權(quán)重關(guān)系:
還有一些法則:
還有:1. 偽類選擇器、屬性選擇器、類選擇器 權(quán)重一樣
2. 標(biāo)簽選擇器、偽元素標(biāo)簽選擇器 權(quán)重一樣
特別注意:權(quán)重比較是按照同類比較,不會(huì)去計(jì)算和的大小。也就是說同一權(quán)重計(jì)數(shù)是不會(huì)進(jìn)位的。
就是指定k-v對(duì),也可以說是元素的屬性,影響元素在瀏覽器中的表現(xiàn)。
就是和盒子還有布局無關(guān);如字體,顏色等
見《WEB前端 布局》
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/2040.html
摘要:年,和前端開發(fā)者與應(yīng)用程序前端開發(fā)者之間產(chǎn)生了巨大的分歧。開發(fā)最常見的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開發(fā)者可以從瀏覽器開發(fā)中學(xué)習(xí)到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過深入現(xiàn)代化的前端工程課程來提高你的技能。 下載:PDF ...
摘要:年,和前端開發(fā)者與應(yīng)用程序前端開發(fā)者之間產(chǎn)生了巨大的分歧。開發(fā)最常見的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開發(fā)者可以從瀏覽器開發(fā)中學(xué)習(xí)到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過深入現(xiàn)代化的前端工程課程來提高你的技能。 下載:PDF ...
摘要:年,和前端開發(fā)者與應(yīng)用程序前端開發(fā)者之間產(chǎn)生了巨大的分歧。開發(fā)最常見的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開發(fā)者可以從瀏覽器開發(fā)中學(xué)習(xí)到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過深入現(xiàn)代化的前端工程課程來提高你的技能。 下載:PDF ...
摘要:一團(tuán)隊(duì)組織網(wǎng)站說明騰訊團(tuán)隊(duì)騰訊前端團(tuán)隊(duì),代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗(yàn)設(shè)計(jì),簡(jiǎn)稱,騰訊設(shè)計(jì)團(tuán)隊(duì)網(wǎng)站騰訊用戶研究與體驗(yàn)設(shè)計(jì)部百度前端研發(fā)部出品淘寶前端團(tuán)隊(duì)用技術(shù)為體驗(yàn)提供無限可能凹凸實(shí)驗(yàn)室京東用戶體驗(yàn)設(shè)計(jì)部出品奇舞團(tuán)奇虎旗下前 一、團(tuán)隊(duì)組織 網(wǎng)站 說明 騰訊 AlloyTeam 團(tuán)隊(duì) 騰訊Web前端團(tuán)隊(duì),代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
摘要:一團(tuán)隊(duì)組織網(wǎng)站說明騰訊團(tuán)隊(duì)騰訊前端團(tuán)隊(duì),代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗(yàn)設(shè)計(jì),簡(jiǎn)稱,騰訊設(shè)計(jì)團(tuán)隊(duì)網(wǎng)站騰訊用戶研究與體驗(yàn)設(shè)計(jì)部百度前端研發(fā)部出品淘寶前端團(tuán)隊(duì)用技術(shù)為體驗(yàn)提供無限可能凹凸實(shí)驗(yàn)室京東用戶體驗(yàn)設(shè)計(jì)部出品奇舞團(tuán)奇虎旗下前 一、團(tuán)隊(duì)組織 網(wǎng)站 說明 騰訊 AlloyTeam 團(tuán)隊(duì) 騰訊Web前端團(tuán)隊(duì),代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
摘要:一團(tuán)隊(duì)組織網(wǎng)站說明騰訊團(tuán)隊(duì)騰訊前端團(tuán)隊(duì),代表作品,致力于前端技術(shù)的研究騰訊社交用戶體驗(yàn)設(shè)計(jì),簡(jiǎn)稱,騰訊設(shè)計(jì)團(tuán)隊(duì)網(wǎng)站騰訊用戶研究與體驗(yàn)設(shè)計(jì)部百度前端研發(fā)部出品淘寶前端團(tuán)隊(duì)用技術(shù)為體驗(yàn)提供無限可能凹凸實(shí)驗(yàn)室京東用戶體驗(yàn)設(shè)計(jì)部出品奇舞團(tuán)奇虎旗下前 一、團(tuán)隊(duì)組織 網(wǎng)站 說明 騰訊 AlloyTeam 團(tuán)隊(duì) 騰訊Web前端團(tuán)隊(duì),代表作品WebQQ,致力于前端技術(shù)的研究 ISUX 騰...
閱讀 3813·2023-04-26 02:07
閱讀 3686·2021-10-27 14:14
閱讀 2874·2021-10-14 09:49
閱讀 1637·2019-08-30 15:43
閱讀 2630·2019-08-29 18:33
閱讀 2382·2019-08-29 17:01
閱讀 925·2019-08-29 15:11
閱讀 602·2019-08-29 11:06