五種css選擇器類型,為什么看到有的前端工程師將css每個(gè)選擇器里的內(nèi)容寫成一行?
應(yīng)該是個(gè)老程序猿,之前css壓縮沒有實(shí)現(xiàn)的時(shí)候,通過縮短選擇器嵌套,人工進(jìn)行壓縮就出現(xiàn)了這個(gè)。而且沒有l(wèi)ess,scss開發(fā)的時(shí)候這種情況更甚,不過有了這些便捷的開發(fā)方式也希望去注意一點(diǎn)嵌套層數(shù)。
推薦項(xiàng)目工程呢還是用less,scss開發(fā)比較好,css文件開發(fā)期就是被編譯的壓不壓縮無所謂了。
推薦樓主使用 vs code 這個(gè)編輯器 非常好用的東西。如果你要發(fā)展全棧或者學(xué)習(xí)node,這個(gè)玩意兒繞不開1
四路選擇器功能表?
四路選擇器簡(jiǎn)介:要使用css對(duì)HTML頁(yè)面中的元素實(shí)現(xiàn)一對(duì)一,一對(duì)多或者多對(duì)一的控制,這就需要用到CSS選擇器。
HTML頁(yè)面中的元素就是通過CSS選擇器進(jìn)行控制的。
1.1 類別選擇器
類選擇器根據(jù)類名來選擇
前面以”.”來標(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)象稱為“多類癥”。
我們可以改成這樣來定義。
<div class="demoDiv">
<div>
這個(gè)區(qū)域字體顏色為紅色
</div>
同時(shí),我們可以再定義一個(gè)元素:
<p>
這個(gè)段落字體顏色為紅色
</p>
</div>
這樣,我們就只是定義了一個(gè)類,同時(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來選擇元素,具有唯一性。
前面以”#”號(hào)來標(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ū)域沒有定義顏色
</div>
用瀏覽器瀏覽,與預(yù)期的一樣,區(qū)域沒有應(yīng)用樣式,所以區(qū)域中的字體顏色還是默認(rèn)的顏色黑色。
1.4 后代選擇器
后代選擇器也稱為包含選擇器,用來選擇特定元素或元素組的后代,后代選擇器用兩個(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如何設(shè)置網(wǎng)頁(yè)鏈接?
1. 打開文檔,然后打開“CSS樣式”面板。
2. 在“CSS樣式”面板中,點(diǎn)擊右下角的“新建 CSS 規(guī)則”按鈕,打開“新建 CSS 規(guī)則”對(duì)話框。
在“選擇器類型”中選擇“復(fù)合內(nèi)容(基于選擇的內(nèi)容)”項(xiàng)。
在“選擇器名稱”中點(diǎn)擊右邊的下拉箭頭,我們可以看到:
a:link:未訪問的超鏈接。
a:visited:已經(jīng)訪問過的超鏈接。
a:hover:鼠標(biāo)指針移動(dòng)到上面時(shí)的超鏈接。
a:active:正在訪問的超鏈接。
3. 在“選擇器名稱”中選擇“a:link”項(xiàng),然后點(diǎn)擊“確定”按鈕,打開“CSS 規(guī)則定義”對(duì)話框。
4. 在“CSS 規(guī)則定義”對(duì)話框中,在“分類”下拉框中選擇“類型”,然后在右邊“類型”部分設(shè)置鏈接字體的顏色、大小和修飾等。
5. 設(shè)置好以后單擊“確定”按鈕,完成“a:link”項(xiàng)的設(shè)置。
css調(diào)試工具?
css說是調(diào)試工具其實(shí)只是一段 Javascript 代碼,但非常實(shí)用,它會(huì)給頁(yè)面里所有的 DOM 元素添加一個(gè) 1px 的描邊(outline),方便我們?cè)谡{(diào)試 CSS 過程中分析、排查問題。
先來看看代碼,它有兩個(gè)版本,一個(gè)是使用的$$選擇器,代碼量更少(瀏覽器控制臺(tái)支持 $$ 選擇器);另一種就是傳統(tǒng)的document.querySelectorAll選擇器: