css最常用的選擇器,css規(guī)則?
在CSS樣式規(guī)則
1.選擇器用于指定CSS樣式作用的HTML對(duì)象,花括號(hào)內(nèi)是對(duì)該對(duì)象設(shè)置的具體樣式。
2.屬性和屬性值以“鍵值對(duì)”的形式出現(xiàn)。
3.屬性是對(duì)指定的對(duì)象設(shè)置的樣式屬性,例如字體大小、文本顏色等。
4.屬性和屬性值之間用英文“:”連接。
5.多個(gè)“鍵值對(duì)”之間用英文“;”進(jìn)行區(qū)分。
四路選擇器功能表?
四路選擇器簡(jiǎn)介:要使用css對(duì)HTML頁(yè)面中的元素實(shí)現(xiàn)一對(duì)一,一對(duì)多或者多對(duì)一的控制,這就需要用到CSS選擇器。
HTML頁(yè)面中的元素就是通過(guò)CSS選擇器進(jìn)行控制的。
1.1 類(lèi)別選擇器
類(lèi)選擇器根據(jù)類(lèi)名來(lái)選擇
前面以”.”來(lái)標(biāo)志,如:
.demoDiv{
color:#FF0000;
}
在HTML中,元素可以定義一個(gè)class的屬性。
如:
<div class="demoDiv">
這個(gè)區(qū)域字體顏色為紅色
</div>
同時(shí),我們可以再定義一個(gè)元素:
<p class="demoDiv">
這個(gè)段落字體顏色為紅色
</p>
最后,用瀏覽器瀏覽,我們可以發(fā)現(xiàn)所有class為demoDiv的元素都應(yīng)用了這個(gè)樣式。包括了頁(yè)面中的div元素和p元素。
上例我們給兩個(gè)元素都定義了class,但如果有很多個(gè)元素都會(huì)應(yīng)用這個(gè)元素,那得一個(gè)個(gè)的定義元素,就會(huì)造成頁(yè)面重復(fù)的代碼太多,這種現(xiàn)象稱(chēng)為“多類(lèi)癥”。
我們可以改成這樣來(lái)定義。
<div class="demoDiv">
<div>
這個(gè)區(qū)域字體顏色為紅色
</div>
同時(shí),我們可以再定義一個(gè)元素:
<p>
這個(gè)段落字體顏色為紅色
</p>
</div>
這樣,我們就只是定義了一個(gè)類(lèi),同時(shí)把樣式應(yīng)用到了所有的元素當(dāng)中。
1.2 標(biāo)簽選擇器
一個(gè)完整的HTML頁(yè)面是有很多不同的標(biāo)簽組成,而標(biāo)簽選擇器,則是決定哪些標(biāo)簽
采用相應(yīng)的CSS樣式,(在大環(huán)境中你可能出于不同的位置,但是不管怎么樣,你總
是穿著同一套衣服,這件衣服就是由標(biāo)簽選擇器事先給你限定好的,不管走到哪里
都是這身衣服)比如,在style.css文件中對(duì)p標(biāo)簽樣式的聲明如下:
p{
font-size:12px;
background:#900;
color:090;
}
復(fù)制代碼則頁(yè)面中所有p標(biāo)簽的背景都是#900(紅色),文字大小均是12px,顏色為#090(綠色)
,這在后期維護(hù)中,如果想改變整個(gè)網(wǎng)站中p標(biāo)簽背景的顏色,只需要修改
background屬性就可以了,就這么容易!
1.3 ID選擇器
根據(jù)元素ID來(lái)選擇元素,具有唯一性。
前面以”#”號(hào)來(lái)標(biāo)志,在樣式里面可以這樣定義:
#demoDiv{
color:#FF0000;
}
這里代表id為demoDiv的元素的設(shè)置它的字體顏色為紅色。
我們?cè)陧?yè)面上定義一個(gè)元素把它的ID定義為demoDiv,如:
<div id="demoDiv">
這個(gè)區(qū)域字體顏色為紅色
</div>
用瀏覽器瀏覽,我們可以看到因?yàn)閰^(qū)域內(nèi)的顏色變成了紅色
再定義一個(gè)區(qū)域
<div>
這個(gè)區(qū)域沒(méi)有定義顏色
</div>
用瀏覽器瀏覽,與預(yù)期的一樣,區(qū)域沒(méi)有應(yīng)用樣式,所以區(qū)域中的字體顏色還是默認(rèn)的顏色黑色。
1.4 后代選擇器
后代選擇器也稱(chēng)為包含選擇器,用來(lái)選擇特定元素或元素組的后代,后代選擇器用兩個(gè)常用選擇器,中間加一個(gè)空格表示。其中前面的常用選擇器選擇父元素,后面的常用選擇器選擇子元素,樣式最終會(huì)應(yīng)用于子元素中。
如:
<style>
.father.child{
color:#0000CC;
}
</style>
<p class="father">
黑色
<label class="child">藍(lán)色
<b>也是藍(lán)色</b>
</label>
</p>
這里我們定義了所有class屬性為father的元素下面的class屬性為child的顏色為藍(lán)色。
后代選擇器是一種很有用的選擇器,使用后代選擇器可以更加精確的定位元素。
css選擇器中可以匹配所有標(biāo)簽的是?
答案是星星選擇標(biāo)簽。
因?yàn)樾翘?hào)選擇器的定義是用于選擇html中的所有標(biāo)簽,在一個(gè)頁(yè)面中我們都會(huì)選擇去掉html所有標(biāo)簽的默認(rèn)樣式,然后根據(jù)自己的需求添加樣式,這個(gè)時(shí)候就需要使用*選擇標(biāo)簽。
另外一個(gè)*選擇標(biāo)簽也可以搭配到其他的標(biāo)簽進(jìn)行使用,用來(lái)選擇表示某個(gè)父元素下面的所有子元素標(biāo)簽。
CSS選擇器權(quán)重如何計(jì)算?
很古老的話(huà)題了
id=100
class=10
tag(標(biāo)簽)=1
按照這個(gè)規(guī)律去計(jì)算,比如
#qietu div{}
100+1 = 101
.qietu .box{}
10+10=20
可以得出第一個(gè)的權(quán)重要比第二個(gè)要高。另外關(guān)于權(quán)重的擴(kuò)展知識(shí)面,我推薦了解下BEM命名規(guī)則,這個(gè)觀念很好,可以從側(cè)面杜絕權(quán)重問(wèn)題的產(chǎn)生,還有一個(gè)就是提高權(quán)重的方法 !important;