色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

2-2. 群組選擇器的嵌套


CSS里邊,選擇器h1,h2,h3會(huì)同時(shí)命中h1元素、h2元素和h3元素。與此類(lèi)似,.button,button會(huì)命中button元素和類(lèi)名為.button的元素。這種選擇器稱為群組選擇器。群組選擇器的規(guī)則會(huì)對(duì)命中群組中任何一個(gè)選擇器的元素生效。

.button, button {
  margin: 0;
}

當(dāng)看到上邊這段代碼時(shí),你可能還沒(méi)意識(shí)到會(huì)有重復(fù)性的工作。但會(huì)很快發(fā)現(xiàn)——如果你需要在一個(gè)特定的容器元素內(nèi)對(duì)這樣一個(gè)群組選擇器進(jìn)行修飾,情況就不同了。css的寫(xiě)法會(huì)讓你在群組選擇器中的每一個(gè)選擇器前都重復(fù)一遍容器元素的選擇器。

.container h1, .container h2, .container h3 { margin-bottom: .8em }

非常幸運(yùn),sass的嵌套特性在這種場(chǎng)景下也非常有用。當(dāng)sass解開(kāi)一個(gè)群組選擇器規(guī)則內(nèi)嵌的規(guī)則時(shí),它會(huì)把每一個(gè)內(nèi)嵌選擇器的規(guī)則都正確地解出來(lái):

.container {
  h1, h2, h3 {margin-bottom: .8em}
}

首先sass.containerh1.containerh2.containerh3分別組合,然后將三者重新組合成一個(gè)群組選擇器,生成你前邊看到的普通css樣式。對(duì)于內(nèi)嵌在群組選擇器內(nèi)的嵌套規(guī)則,處理方式也一樣:

nav, aside {
  a {color: blue}
}

首先sassnavaasidea分別組合,然后將二者重新組合成一個(gè)群組選擇器:

nav a, aside a {color: blue}

處理這種群組選擇器規(guī)則嵌套上的強(qiáng)大能力,正是sass在減少重復(fù)敲寫(xiě)方面的貢獻(xiàn)之一。尤其在當(dāng)嵌套級(jí)別達(dá)到兩層甚至三層以上時(shí),與普通的css編寫(xiě)方式相比,只寫(xiě)一遍群組選擇器大大減少了工作量。

有利必有弊,你需要特別注意群組選擇器的規(guī)則嵌套生成的css。雖然sass讓你的樣式表看上去很小,但實(shí)際生成的css卻可能非常大,這會(huì)降低網(wǎng)站的速度。

關(guān)于選擇器嵌套的最后一個(gè)方面,我們看看sass如何處理組合選擇器,比如>、+和~的使用。你將看到,這種場(chǎng)景下你甚至無(wú)需使用父選擇器標(biāo)識(shí)符。