一篇文章帶你了解 CSS 選擇器
CSS選擇器是一種用于匹配HTML文檔中元素的模式。關(guān)聯(lián)的樣式規(guī)則將應(yīng)用于與選擇器模式匹配的元素。
一、什么是選擇器?
選擇器是CSS最重要的方面之一,因為它們用于選擇網(wǎng)頁上的元素,以便可以設(shè)置樣式。可以通過多種方式定義選擇器。
二、通用選擇器
通用選擇器(用 * 星號或星號表示)與頁面上的每個單個元素匹配。如果目標元素上存在其他條件,則可以省略通用選擇器。此選擇器通常用于從元素中刪除默認的邊距和填充,以進行快速測試。
例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>CSS通用選擇器例:</title>
- <style>
- * {
- margin: 0;
- padding: 0;
- }
- </style>
- </head>
- <body style="background-color: aqua;">
- <h1>This is heading</h1>
- <p>This is a paragraph.</p>
- </body>
- </html>
*選擇器內(nèi)的樣式規(guī)則將應(yīng)用于文檔中的每個元素。
注意:
不建議* 在生產(chǎn)環(huán)境中使用通用選擇器,因為此選擇器會匹配頁面上的每個元素,這會對瀏覽器造成不必要的壓力。
三、元素類型選擇器
元素類型選擇器將文檔樹中元素的每個例:與相應(yīng)的元素類型名稱進行匹配。
例:
- <style>
- h1 {
- color: red;
- }
- p {
- color: blue;
- }
- </style>
p選擇器中的樣式規(guī)則將應(yīng)用于
文檔中的每個元素,并使其顏色為藍色,無論它們在文檔樹中的位置如何。
1. ID選擇器
id選擇器用于為單個或唯一元素定義樣式規(guī)則,ID選擇器的定義是一個井號(#),后跟ID值。
例:
- <style>
- #error {
- color: #ff0000;
- }
- </style>
此樣式規(guī)則將id屬性設(shè)置為的元素文本呈現(xiàn)為紅色error。
2. class類選擇器
類選擇器可用于選擇具有class屬性的任何HTML元素。具有該類的所有元素將根據(jù)定義的規(guī)則進行格式化。
用一個句號(.)緊隨其后的類值定義類選擇器。
例:
- <style>
- .blue {
- color: #0000ff;
- }
- </style>
以上樣式規(guī)則將 class 屬性中設(shè)置為的文檔中每個元素的文本顯示為藍色blue。可以使其更加具體。
例:
- p.blue {
- color: blue;
- }
選擇器中的樣式規(guī)則p.blue僅<p>將class屬性設(shè)置為的那些元素呈現(xiàn)為藍色blue,而對其他段落沒有影響。
2.1 后代選擇器
當需要選擇一個元素是另一個元素的后代時,可以使用這些選擇器。例如,如果只想定位無序列表中包含的那些定位點,而不要定位所有定位點元素。
例:
- <style>
- h1 em {
- color: green;
- }
- ul.menu {
- padding: 0;
- list-style: none;
- }
- ul.menu li {
- display: inline;
- }
- ul.menu li a {
- margin: 10px;
- text-decoration: none;
- }
- </style>
注:
選擇器內(nèi)的樣式規(guī)則ul.menu li a僅適用于包含在具有class 的無序列表內(nèi)的那些即錨元素.menu,并且對文檔內(nèi)的其他鏈接沒有影響。
同樣,h1 em 選擇器內(nèi)的樣式規(guī)則僅適用于heading內(nèi)包含的元素。
2.2 子選擇器
子選擇器只能用于選擇作為某些元素的直接子元素的那些元素。子選擇器由兩個或多個選擇器組成,兩個選擇器之間用大于號(即>)隔開。例如,可以使用這些選擇器在具有多個級別的嵌套列表中選擇列表元素的第一級。
例:
- <style>
- ul > li {
- list-style: square;
- }
- ul > li ol {
- list-style: none;
- }
- </style>
選擇器內(nèi)的樣式規(guī)則ul > li僅適用于<li>作為<ul>元素直接子元素的那些元素,并且對其他列表元素沒有影響。
2.3 分組選擇器
樣式表中的多個選擇器通常共享相同的樣式規(guī)則聲明。可以將它們分組為一個逗號分隔的列表,以最大程度地減少樣式表中的代碼。它還可以防止一遍又一遍地重復(fù)相同的樣式規(guī)則。
例:
- h1 {
- font-size: 36px;
- font-weight: normal;
- }
- h2 {
- font-size: 28px;
- font-weight: normal;
- }
- h3 {
- font-size: 22px;
- font-weight: normal;
- }
可以在上面的例:中看到,相同的樣式規(guī)則font-weight: normal; 是由選擇共享h1,h2和h3。
因此,可以將其分為逗號分隔的列表。
例:
- <style>
- h1,h2,h3 {
- font-weight: normal;
- }
- h1 {
- font-size: 36px;
- }
- h2 {
- font-size: 28px;
- }
- h3 {
- font-size: 22px;
- }
- </style>
四、總結(jié)
本文基于HTML基礎(chǔ),介紹了有關(guān)CSS選擇器,常規(guī)的通用樣式選擇器 *,元素選擇器id,class屬性,class屬性中后代選擇器,子選擇器,分類選擇器。通過案例分析,豐富的效果展示。能夠讓讀者更好的理解。
歡迎大家積極嘗試,有時候看到別人實現(xiàn)起來很簡單,但是到自己動手實現(xiàn)的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。
代碼很簡單,希望對你學(xué)習(xí)有幫助。
本文轉(zhuǎn)載自微信公眾號「前端進階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系前端進階學(xué)習(xí)交流公眾號。