胡根得 天行健,君子以自強不息。
阿新 • • 發佈:2018-12-26
1、什麼是CSS選擇器?
CSS選擇器,目的是指定CSS要作用的標籤物件,今天來了解一下CSS的基本選擇器和擴充套件選擇器。
2、基本選擇器
這裡介紹四種基本選擇器。
(1)標籤選擇器(這個時候的css程式碼以html標籤來決定作用於誰)
<span style="font-size:14px;"> /*
* 標籤選擇器
*/
p {
color:#ff0000;
font-size:30px;
}</span>
這個表示將p標籤中的字型顏色設定為#ff0000,字型大小設定為30畫素。格式為:“標籤{ }”。
(2)類選擇器
<span style="font-size:14px;"> /* class選擇器,類選擇器 */ .p_1 { color:green; font-size:20px; }</span>
類選擇器表示將class屬性為p_1的標籤字型顏色設定為green,大小為20畫素。格式為:“.class屬性名{ }”。
(3)ID選擇器
<span style="font-size:14px;"> #p_1 {
color:#0f0f0f;
font-size:50px;
}</span>
同理,ID選擇器指將ID屬性為p_1的標籤顏色設定為0f0f0f,字型大小為50畫素。格式為:“#ID屬性名{ }”。(4)通用選擇器
<span style="font-size:14px;"> *{ font-size: 12px; }</span>
通用選擇器表示將所有標籤字型屬性設定為12畫素。格式為:“ * { }”。
3、擴充套件選擇器
當基本的選擇器不能夠完全符合需求時,就出現了擴充套件選擇器,這裡介紹三種擴充套件選擇器。
(1)關聯選擇器
需求:我需要p標籤下的b標籤顏色變紅,而不需要所有的p標籤下的顏色變紅。這時候需要關聯選擇器:
<span style="font-size:14px;"> p b {
color:red;
}</span>
這就表示p標籤下的b標籤顏色變紅,而不是所有的p標籤變紅。
那麼,如果我的HTML程式碼是這樣:
我想要“胡根得”變紅,而不需要“岳飛”變紅,要怎麼辦呢?<span style="font-size:14px;"> <table > <tr> <td>胡根得</td> </tr> </table> <table> <tr> <td>岳飛</td> </tr> </table></span>
我們可以使用類選擇器或ID選擇器與擴充套件選擇器相結合。以與類選擇器結合為例,首先將HTML程式碼變為:
<span style="font-size:14px;"> <table class="name">
<tr>
<td>胡根得</td>
</tr>
</table>
<table>
<tr>
<td>岳飛</td>
</tr>
</table></span>
然後:
<span style="font-size:14px;"> .name tr td {
color:red;
}</span>
這就表示:將class屬性名為name的標籤下的 tr 標籤下的 td標籤顏色變紅。
(2)組合選擇器
需求:我的HTML程式碼如下,我需要將p、b、i、u標籤下的顏色全部變紅,怎麼辦?
<span style="font-size:14px;"> <p>aa</p>
<b>bb</b><br/>
<i>cc</i><br/>
<u>dd</u><br/></span>
為方便起見,我們可以使用組合選擇器:
<span style="font-size:14px;"> p, i, u, b {
color:red;
}</span>
這表示將p、b、i、u標籤下的顏色全部變紅,省去了用標籤選擇器的一個一個設定。
(3)偽元素選擇器
HTML中預先定義好的一些選擇器,稱為偽元素。是因為CSS的術語。
偽元素格式:標籤名:偽元素;類名:偽元素。
常見的有:
<span style="font-size:14px;"> a:link 超連結未點選狀態。
a:visited 被訪問後的狀態。
a:hover 游標移到超連結上的狀態(未點選)。
a:active 點選超連結時的狀態。</span>
例項:
HTML程式碼:
<span style="font-size:14px;"> <a href="http://www.baidu.com">百度</a>
<a href="http://www.sina.com">新浪</a>
<a href="http://www.youku.com">優酷</a></span>
CSS程式碼:
<span style="font-size:14px;"> <style type="text/css">
a:link {
color:red;
}
a:visited {
color:blue;
}
a:hover{
color:green;
text-decoration:line-through; //當滑鼠放上去時候為標籤下內容加上貫穿線
}
a:active{
color:yellow;
}
a {
text-decoration:none; //表示對a標籤下內容無額外裝飾
}
</style></span>
表示a標籤下的內容在未點選狀態下為紅色;游標移到標籤上時候為綠色;點選時為黃色;訪問後為藍色。
附:CSS選擇器合集:
選擇器 | 例子 | 例子描述 |
---|---|---|
.intro | 選擇 class=”intro” 的所有元素。 | |
#id | #firstname | 選擇 id=”firstname” 的所有元素。 |
* | * | 選擇所有元素。 |
p | 選擇所有 <p> 元素。 | |
div,p | 選擇所有 <div> 元素和所有 <p> 元素。 | |
div p | 選擇 <div> 元素內部的所有 <p> 元素。 | |
div>p | 選擇父元素為 <div> 元素的所有 <p> 元素。 | |
div+p | 選擇緊接在 <div> 元素之後的所有 <p> 元素。 | |
[target] | 選擇帶有 target 屬性所有元素。 | |
[target=_blank] | 選擇 target=”_blank” 的所有元素。 | |
[title~=flower] | 選擇 title 屬性包含單詞 “flower” 的所有元素。 | |
[lang|=en] | 選擇 lang 屬性值以 “en” 開頭的所有元素。 | |
:link | a:link | 選擇所有未被訪問的連結。 |
a:visited | 選擇所有已被訪問的連結。 | |
a:active | 選擇活動連結。 | |
a:hover | 選擇滑鼠指標位於其上的連結。 | |
input:focus | 選擇獲得焦點的 input 元素。 | |
p:first-letter | 選擇每個 <p> 元素的首字母。 | |
p:first-line | 選擇每個 <p> 元素的首行。 | |
p:first-child | 選擇屬於父元素的第一個子元素的每個 <p> 元素。 | |
p:before | 在每個 <p> 元素的內容之前插入內容。 | |
p:after | 在每個 <p> 元素的內容之後插入內容。 | |
p:lang(it) | 選擇帶有以 “it” 開頭的 lang 屬性值的每個 <p> 元素。 | |
a[src^=”https”] | 選擇其 src 屬性值以 “https” 開頭的每個 <a> 元素。 | |
a[src$=”.pdf”] | 選擇其 src 屬性以 “.pdf” 結尾的所有 <a> 元素。 | |
a[src*=”abc”] | 選擇其 src 屬性中包含 “abc” 子串的每個 <a> 元素。 | |
p:first-of-type | 選擇屬於其父元素的首個 <p> 元素的每個 <p> 元素。 | |
p:last-of-type | 選擇屬於其父元素的最後 <p> 元素的每個 <p> 元素。 | |
p:only-of-type | 選擇屬於其父元素唯一的 <p> 元素的每個 <p> 元素。 | |
p:only-child | 選擇屬於其父元素的唯一子元素的每個 <p> 元素。 | |
p:nth-child(2) | 選擇屬於其父元素的第二個子元素的每個 <p> 元素。 | |
p:nth-last-child(2) | 同上,從最後一個子元素開始計數。 | |
p:nth-of-type(2) | 選擇屬於其父元素第二個 <p> 元素的每個 <p> 元素。 | |
p:nth-last-of-type(2) | 同上,但是從最後一個子元素開始計數。 | |
p:last-child | 選擇屬於其父元素最後一個子元素每個 <p> 元素。 | |
:root | :root | 選擇文件的根元素。 |
p:empty | 選擇沒有子元素的每個 <p> 元素(包括文字節點)。 | |
#news:target | 選擇當前活動的 #news 元素。 | |
input:enabled | 選擇每個啟用的 <input> 元素。 | |
input:disabled | 選擇每個禁用的 <input> 元素 | |
input:checked | 選擇每個被選中的 <input> 元素。 | |
:not(p) | 選擇非 <p> 元素的每個元素。 | |
::selection | 選擇被使用者選取的元素部分。 |
小結:CSS是為美化和優化HTML程式碼而存在,通過使用CSS使得HTML更加簡潔、高效。而CSS中的選擇器目的是指定CSS要作用的標籤物件,而且基本選擇器和擴充套件選擇器可以結合使用,發揮更大的功效。