日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

如何使用它們,為什么

樣式表通過使用所謂的選擇器來引用html中的特定元素。這些選擇器可以是Clsaa,ID,元素本身等。

我們將在本文中重點介紹的選擇器是combinator。

它們以一種方式組合其他選擇器,使它們彼此之間以及文檔中內容的位置具有有用的關系。——MDN網絡文檔

組合器可以通過最大化元素關聯而不會使HTML淹沒來確保css精確。看一下這個例子:

<div>
 <div>
 <h1>Team 1</h1>
 <ul> 
 <li>
 <div>
 <h2>Player 1</h2>
 <ul>
 <li>Average points per game: 20</li> 
 </ul> 
 </div>
 </li>
 </ul>
 </div>
</div>

實際上,此HTML結構不是太復雜。但是,如果團隊中有不止一個球員,或者團隊不止一個,該怎么辦?如果您想為每個球員增加更多統計數據呢?類和ID有效,但是隨著HTML的增長,它可能會限制CSS的靈活性。

隨著網站需求的增長,元素的數量也會增加。元素嵌套得越多,訪問它們就越困難。

當您要對具有共享類的一個或多個元素進行少量調整時,這可能也會有問題。這可能導致您要么創建更多的類或id,要么采用內聯樣式,要么使用!important。

過度使用類和ID還可以在HTML中創建更多的呈現標記,從而為您和其他使用該代碼的人創建更多的工作。組合器通過有效地關聯頁面上的元素,減輕了過分具體的選擇器的負擔和繁重的標記。讓我們深入探討我們可以使用的各種組合器。

相鄰Sibling

該組合器由+符號標識,并選擇提供的標簽旁邊的元素。

h1 + p

上面的示例將選擇p標簽之后的第一個h1標簽。

假設您有一篇博客文章,并且只想使介紹性段落具有紅色背景和白色文本,如下所示:

 

了解CSS組合器

 

 

這是代碼:

p{
 font-size: 20px;
}
h1 + p {
 background-color: red;
 color: white;
 padding: 10px;
}

使用相鄰的同級組合器,我們可以僅隔離第一個p標簽并應用我們的樣式。如果我們想對標簽后面的每個標簽應用以上樣式,該怎么辦?在這種情況下,我們可以使用通用的同級組合器。p h1


普通Sibling

該組合器由~符號標識。

h1 ~ p 

上面的代碼將選擇位于p我們h1標簽之后的所有標簽。

如果從前面的例子了代碼,并改變h1 + p對h1 ~ p你會得到這樣的:

 

了解CSS組合器

 

 

img選擇器之間還有其他元素(如上述)時,它甚至可以工作。

相鄰的同級組合器不是這種情況

僅當元素與第一個標簽直接相鄰時,相鄰的同級組合器才起作用。但是,我們可以p在圖像之前添加一個標記(標簽)并為其提供灰色背景:

p {
 font-size: 20px;
}
h1 ~ p {
 background-color: red;
 color: white;
 padding: 10px;
}
h1 + p {
 background-color: grey;
}

上面的代碼為我們提供了以下結果:

 

了解CSS組合器

 

 

現在我們已經介紹了Sibling,讓我們談談子選擇器。


子選擇器

很簡單,第一個與子相關的組合器就是子組合器。用符號標識的該組合器僅選擇元素的直接子代。>

讓我們在文章右側的博客頁面中添加一個側邊欄,并將它們都包裝在parent中div。邊欄將包含ul下一步要閱讀的內容。li相關內容和無關內容都有兩個。這些每一個都將包含ul的liS的代表物品。第一個ul應該有一個左邊框以將其與主要文章分開,并且沒有列表樣式。嵌套ul的不應具有邊框和默認列表樣式。我們可以使用下面的代碼來實現:

div > ul {
 border-left: solid 1px black;
 margin-left: 10px;
 padding-left: 10px;
 list-style: none;
 width:300px;
}

通過使用子組合器,我們僅選擇ul作為父項的直接子項(我們的新側邊欄)的標簽div。這會將左邊框和沒有列表樣式應用于ul包含sub ul而不是sub ul本身的標簽。讓我們給父母div一個顯示,flex使我們的文章和側邊欄水平對齊。結果如下:

 

了解CSS組合器

 

 

如您所見,只有直接子項ul具有左邊框,沒有列表樣式。嵌套的uls沒有邊框和默認列表樣式。這些li標簽看起來有些變形。如何使li兩個標簽中的每個標簽ul的底邊距為10px?我們可以使用我們的最后一個組合器,即后代組合器來做到這一點。


后代組合器

這些組合器由選擇器之間的空格標識,并且與子組合器不同,它們不僅引導子對象,而且還指示選擇器的每個后代。

ul li {
 margin-bottom: 10px;
}

上面的CSS將10px在每個li標簽下方創建一個邊距,如下所示:

 

了解CSS組合器

 

 

現在,假設我們要對所有文章標題加下劃線,但不對章節標題加下劃線(li由相關文章無關文章標識)。讓我們使用稍微更指定的后代combinator添加以下CSS 

ul li ul li {
 text-decoration: underline;
}

結果如下所示。

 

了解CSS組合器

 

 

您可能已經注意到在介紹段落下方的位置方便的廣告。這則廣告演示了如何將組合器進一步組合到目標元素。

div div > div > p + p {
 color: purple;
 font-size: 15px;
}

這組選擇器定位p到與作為p的子級標簽相鄰的所有標簽div。在div被檢索的目標div是這樣的的孩子div包含我們的文章和邊欄。

還在我這兒?

我們使用后代子級相鄰的同級組合器來選擇p廣告中的第二個標記div,因此我們可以應用其他樣式。

組合器有助于保持我們的HTML靈活和相對干凈。這篇文章中的所有代碼都可以在該Codepen中找到。隨意擺弄組合器,看看無需使用任何類或ID 即可將樣式推進多遠。

翻譯自:https://medium.com/better-programming/understanding-css-combinators-a36e013b1bed

分享到:
標簽:組合 CSS
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定