記11月29日作業(yè)

問題一:CSS有幾種引入方式? link 和@import 有什么區(qū)別?

css一共有4種引入方式:

  1. 內(nèi)聯(lián)樣式
    <h1 style="color: red; font-size: 20px;"></h1>
  2. 內(nèi)部樣式
    <style type="text/css">h1
    {width:100px;
    height:100px;
    border:1px solid #000;}
    </style>
    <h1>標(biāo)題</h1>
  3. 外部樣式
    <head> <link rel="stylesheet" type="text/css" href="xxx.css"> </head>
  4. @import方式引用外部樣式表
    <style> @import url("hello.css"); @import "world.css"; </style>

link 和@import 有什么區(qū)別?

差別1:老祖宗的差別。link屬于XHTML標(biāo)簽,而@import完全是CSS提供的一種方式。
link標(biāo)簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
差別2:加載順序的差別。當(dāng)一個(gè)頁面被加載的時(shí)候(就是被瀏覽者瀏覽的時(shí)候),link引用的CSS會(huì)同時(shí)被加載,而@import引用的CSS 會(huì)等到頁面全部被下載完再被加載。所以有時(shí)候?yàn)g覽@import加載CSS的頁面時(shí)開始會(huì)沒有樣式(就是閃爍),網(wǎng)速慢的時(shí)候還挺明顯(夢之都加載CSS 的方式就是使用@import,我一邊下載一邊瀏覽夢之都網(wǎng)頁時(shí),就會(huì)出現(xiàn)上述問題)。
差別3:兼容性的差別。由于@import是CSS2.1提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識(shí)別,而link標(biāo)簽無此問題。

問題二列出你所知道的選擇器

基礎(chǔ)選擇器:
*:通用元素選擇器,匹配頁面內(nèi)所有元素
#id:id選擇器,匹配特定id的元素
.class:類選擇器,匹配class包含的(不等于)特定類的元素
element:標(biāo)簽選擇器
組合選擇器
E,F:多元素選擇器,用,分隔,同時(shí)匹配元素E或元素F。
E F:后代選擇器,用空格分隔,匹配E元素所有的后代(不只是子元素、子元素向下遞歸)元素F
E>F:子元素選擇器,用>分隔,匹配E元素的所有直接子元素
E+F:直接相鄰選擇器,匹配E元素之后的相鄰的同級(jí)元素F
E~F:普通相鄰選擇器(弟弟選擇器),匹配E元素之后的同級(jí)元素F(無論直接相鄰與否)
.class1.class2:id和class選擇器和選擇器連寫的時(shí)候中間沒有分隔符,.#本身充當(dāng)分隔符的元素
element#ididclass選擇器和選擇器連寫的時(shí)候中間沒有分隔符.和 #本身充當(dāng)分隔符的元素
屬性選擇器
E[attr]:匹配所有具有屬性attr的元素,div[id]就能取到所有有id屬性的div
E[attr = value]:匹配屬性attr值為value的元素
偽類選擇器
E:first-child:匹配元素E的第一個(gè)子元素
E:link:匹配所有未被點(diǎn)擊的鏈接
E:visited:匹配所有已被點(diǎn)擊的鏈接
E:active:匹配鼠標(biāo)已經(jīng)其上按下、還沒有釋放的E元素
E:hover:匹配鼠標(biāo)懸停其上的E元素
E:focus:匹配獲得當(dāng)前焦點(diǎn)的E元素
E:lang(c):匹配lang屬性等于c的E元素
E:enabled:匹配表單中可用的元素
E:disabled:匹配表單中禁用的元素
E:checked:匹配表單中被選中的radiocheckbox元素
E::selection:匹配用戶當(dāng)前選中的元素
E:root:匹配文檔的根元素,對(duì)于HTML文檔,就是HTML元素
E:nth-child(n):匹配其父元素的第n個(gè)子元素,第一個(gè)編號(hào)為1
E:nth-last-child(n):匹配其父元素的倒數(shù)第n個(gè)子元素,第一個(gè)編號(hào)為1
E:nth-of-type(n):與:nth-child()作用類似,但是僅匹配使用同種標(biāo)簽的元素
E:nth-last-of-type(n):與:nth-last-child() 作用類似,但是僅匹配使用同種標(biāo)簽的元素
E:last-child:匹配父元素的最后一個(gè)子元素,等同于:nth-last-child(1)
E:first-of-type:匹配父元素下使用同種標(biāo)簽的第一個(gè)子元素,等同于:nth-of-type(1)
E:last-of-type:匹配父元素下使用同種標(biāo)簽的最后一個(gè)子元素,等同于:nth-last-of-type(1)
E:only-child:匹配父元素下僅有的一個(gè)子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1)
E:only-of-type:匹配父元素下使用同種標(biāo)簽的唯一一個(gè)子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1)
E:empty:匹配一個(gè)不包含任何子元素的元素,文本節(jié)點(diǎn)也被看作子元素
E:not(selector):匹配不符合當(dāng)前選擇器的任何元素
E::first-line:匹配E元素內(nèi)容的第一行
E::first-letter:匹配E元素內(nèi)容的第一個(gè)字母
E::before:在E元素之前插入生成的內(nèi)容
E::after:在E元素之后插入生成的內(nèi)容

問題三:a:link, a:hover, a:active, a:visited 的順序是怎樣的? 為什么?

a:link, a:hover, a:active, a:visited 的順序是a:link; a:visited;a:hover, a:active
原理是:當(dāng)選擇器的優(yōu)先級(jí)相等時(shí),寫在后面的會(huì)覆蓋前面的。
當(dāng)鼠標(biāo)經(jīng)過鏈接時(shí),同時(shí)擁有a linka hover倆個(gè)屬性,遵從原理,a hover將覆蓋alink;當(dāng)鼠標(biāo)經(jīng)過已訪問的鏈接時(shí),a hover屬性將覆蓋a visited定義;當(dāng)鼠標(biāo)已經(jīng)按下鏈接,則a visited將覆蓋所有屬性。

計(jì)算選擇器的優(yōu)先級(jí):

1.先設(shè)定初始值:0,0,0,0,0
2.加了!improtant,在第一位加1:1,0,0,0,0
3.內(nèi)聯(lián)樣式在第二位加1:0,1,0,0,0
4.id選擇器為第三位加1:0,0,1,0,0
5.類選擇器在第四位加1:0,0,0,1,0
6.偽類和屬性選擇器與類選擇器一樣:0,0,0,1,0
7.標(biāo)簽選擇器在第五位加1:0,0,0,0,1
!important是將對(duì)應(yīng)選擇器的優(yōu)先級(jí)設(shè)置為最高級(jí),覆蓋所有屬性。計(jì)算優(yōu)先級(jí)時(shí)通過數(shù)標(biāo)簽來計(jì)算,先數(shù)id,如果id相等再數(shù)類,如果id不相等,id多的選擇器權(quán)重高,權(quán)重越高,優(yōu)先級(jí)越高。如果id選擇器數(shù)量相同,再數(shù)類選擇器,最后數(shù)標(biāo)簽。依次類推

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,647評(píng)論 19 139
  • 1.class 和 id 的使用場景? 類選擇器允許以一種獨(dú)立于文檔元素的方式來指定樣式。該選擇器可以單獨(dú)使用,也...
    草鞋弟閱讀 2,555評(píng)論 0 1
  • 1.class 和 id 的使用場景? 當(dāng)頁面中某元素的樣式并不獨(dú)有,或與其他元素共用一個(gè)樣式時(shí),可以為該元素指定...
    Feiyu_有貓病閱讀 1,042評(píng)論 0 0
  • 1.class 和 id 的使用場景? 兩者都能選取DOM節(jié)點(diǎn)并給DOM節(jié)點(diǎn)添加樣式,但是W3C標(biāo)準(zhǔn)里規(guī)定頁面中只...
    饑人谷_米彌輪閱讀 508評(píng)論 0 1
  • class 和 id 的使用場景? 每個(gè)標(biāo)簽只能設(shè)置一個(gè)id,此id在頁面中只能出現(xiàn)一次。id多用于頁面分塊時(shí)塊級(jí)...
    cross_王閱讀 541評(píng)論 0 0

友情鏈接更多精彩內(nèi)容