CSS選擇器

CSS 元素選擇器
CSS 選擇器分組
CSS 類選擇器詳解
CSS ID 選擇器詳解
CSS 屬性選擇器詳解
CSS 后代選擇器
CSS 子元素選擇器
CSS 相鄰兄弟選擇器
CSS 偽類
CSS 偽元素

CSS元素選擇器

最常見的 CSS 選擇器是元素選擇器。換句話說,文檔的元素就是最基本的選擇器。

CSS 元素選擇器(類型選擇器)可以設置 XML 文檔中元素的樣式。

CSS選擇器分組

1僧诚、h2, p {color:gray;}

2车要、通配符選擇器 * {color:red;}

這個聲明等價于列出了文檔中所有元素的一個分組選擇器食棕。利用通配選擇器寿弱,只需敲一次鍵(僅一個星號)就能使文檔中所有元素的 color 屬性值指定為 red。

3嚷硫、聲明分組
對聲明分組检访,一定要在各個聲明的最后使用分號,這很重要:

h1 {
    font: 28px Verdana;
    color: blue;
    background: red;
 }

4仔掸、結合選擇器和聲明的分組

h1, h2, h3, h4, h5, h6 {
    color:gray;
    background: white;
    padding: 10px;
    border: 1px solid black;
    font-family: Verdana;
}

類選擇器

語法

使用以下語法向這些歸類的元素應用樣式脆贵,即類名前有一個點號(.),然后結合通配選擇器:

*.important {color:red;}

如果您只想選擇所有類名相同的元素嘉汰,可以在類選擇器中忽略通配選擇器丹禀,這沒有任何不好的影響:

.important {color:red;}

結合元素選擇器

p.important {color:red;}

CSS 多類選擇器

一個 class 值中可能包含一個詞列表,各個詞之間用空格分隔鞋怀。

例如双泪,如果希望將一個特定的元素同時標記為重要(important)和警告(warning),就可以寫作:

<p class="important warning">
This paragraph is a very important warning.
</p>

css:

.important {font-weight:bold;}
.warning {font-style:italic;}
.important.warning {background:silver;}

ID 選擇器

只能在文檔中使用一次

與類不同密似,在一個 HTML 文檔中焙矛,ID 選擇器會使用一次,而且僅一次残腌。

不能使用 ID 詞列表

不同于類選擇器村斟,ID 選擇器不能結合使用,因為 ID 屬性不允許有以空格分隔的詞列表抛猫。

區(qū)分大小寫

屬性選擇器

1蟆盹、簡單屬性選擇

例子 1

如果您希望把包含標題(title)的所有元素變?yōu)榧t色,可以寫作:

*[title] {color:red;}

例子 2

與上面類似闺金,可以只對有 href 屬性的錨(a 元素)應用樣式:

a[href] {color:red;}

例子 3

還可以根據多個屬性進行選擇逾滥,只需將屬性選擇器鏈接在一起即可。

例如败匹,為了將同時有 href 和 title 屬性的 HTML 超鏈接的文本設置為紅色寨昙,可以這樣寫:

a[href][title] {color:red;}

例子 4

可以采用一些創(chuàng)造性的方法使用這個特性。

例如掀亩,可以對所有帶有 alt 屬性的圖像應用樣式舔哪,從而突出顯示這些有效的圖像:

img[alt] {border: 5px solid red;}

2、根據具體屬性值選擇

除了選擇擁有某些屬性的元素槽棍,還可以進一步縮小選擇范圍捉蚤,只選擇有特定屬性值的元素抬驴。

例子 1

例如,假設希望將指向 Web 服務器上某個指定文檔的超鏈接變成紅色缆巧,可以這樣寫:

a[] {color: red;}

例子 2

與簡單屬性選擇器類似怎爵,可以把多個屬性-值選擇器鏈接在一起來選擇一個文檔。

a[] {color: red;}

根據部分屬性值選擇
如果需要根據屬性值中的詞列表的某個詞進行選擇盅蝗,則需要使用波浪號(~)。

假設您想選擇 class 屬性中包含 important 的元素姆蘸,可以用下面這個選擇器做到這一點:

p[class~="important"] {color: red;}



img[title~="Figure"] {border: 1px solid gray;}

這個規(guī)則會選擇 title 文本包含 "Figure" 的所有圖像墩莫。沒有 title 屬性或者 title 屬性中不包含 "Figure" 的圖像都不會匹配。

子串匹配屬性選擇器

[abc^="def"] 選擇 abc 屬性值以 "def" 開頭的所有元素

[abc$="def"] 選擇 abc 屬性值以 "def" 結尾的所有元素

[abc*="def"] 選擇 abc 屬性值中包含子串 "def" 的所有元素

選擇器 描述
[attribute] 用于選取帶有指定屬性的元素逞敷。
[attribute=value] 用于選取帶有指定屬性和值的元素狂秦。
[attribute~=value] 用于選取屬性值中包含指定詞匯的元素。
[attribute =value] 用于選取帶有以指定值開頭的屬性值的元素推捐,該值必須是整個單詞裂问。
[attribute^=value] 匹配屬性值以指定值開頭的每個元素。
[attribute$=value] 匹配屬性值以指定值結尾的每個元素牛柒。
[attribute*=value] 匹配屬性值中包含指定值的每個元素堪簿。

后代選擇器

語法解釋

在后代選擇器中,規(guī)則左邊的選擇器一端包括兩個或多個用空格分隔的選擇器皮壁。選擇器之間的空格是一種結合符(combinator)椭更。每個空格結合符可以解釋為“... 在 ... 找到”、“... 作為 ... 的一部分”蛾魄、“... 作為 ... 的后代”虑瀑,但是要求必須從右向左讀選擇器。

有關后代選擇器有一個易被忽視的方面滴须,即兩個元素之間的層次間隔可以是無限的舌狗。

子元素選擇器

如果您不希望選擇任意的后代元素,而是希望縮小范圍扔水,只選擇某個元素的子元素痛侍,請使用子元素選擇器(Child selector)。

例如铭污,如果您希望選擇只作為 h1 元素子元素的 strong 元素恋日,可以這樣寫:

h1 > strong {color:red;}

這個規(guī)則會把第一個 h1 下面的兩個 strong 元素變?yōu)榧t色,但是第二個 h1 中的 strong 不受影響:

<h1>This is <strong>very</strong> <strong>very</strong> important.</h1>
<h1>This is <em>really <strong>very</strong></em> important.</h1>

相鄰兄弟選擇器

相鄰兄弟選擇器(Adjacent sibling selector)可選擇緊接在另一元素后的元素嘹狞,且二者有相同父元素岂膳。

結合其他選擇器
相鄰兄弟結合符還可以結合其他結合符:

html > body table + ul {margin-top:20px;}

這個選擇器解釋為:選擇緊接在 table 元素后出現的所有兄弟 ul 元素,該 table 元素包含在一個 body 元素中磅网,body 元素本身是 html 元素的子元素谈截。

偽類

偽類的語法:

selector : pseudo-class {property: value}

CSS 類也可與偽類搭配使用。

selector.class : pseudo-class {property: value}

:first-child 偽類
您可以使用 :first-child 偽類來選擇元素的第一個子元素。

p:first-child {font-weight: bold;}
li:first-child {text-transform:uppercase;}

:lang 偽類

:lang 偽類使你有能力為不同的語言定義特殊的規(guī)則簸喂。在下面的例子中毙死,:lang 類為屬性值為 no 的 q 元素定義引號的類型:

屬性 描述
:active 向被激活的元素添加樣式。
:focus 向擁有鍵盤輸入焦點的元素添加樣式喻鳄。
:hover 當鼠標懸浮在元素上方時扼倘,向元素添加樣式。
:link 向未被訪問的鏈接添加樣式除呵。
:visited 向已被訪問的鏈接添加樣式再菊。
:first-child 向元素的第一個子元素添加樣式。
:lang 向帶有指定 lang 屬性的元素添加樣式颜曾。

偽元素

:first-line 偽元素

"first-line" 偽元素用于向文本的首行設置特殊樣式纠拔。
在下面的例子中,瀏覽器會根據 "first-line" 偽元素中的樣式對 p 元素的第一行文本進行格式化:

實例

p:first-line
{
    color:#ff0000;
    font-variant:small-caps;
}

:first-letter 偽元素

"first-letter" 偽元素用于向文本的首字母設置特殊樣式:

偽元素可以與 CSS 類配合使用:

p.article:first-letter
{
    color: #FF0000;
}

<p class="article">This is a paragraph in an article泛豪。</p>

上面的例子會使所有 class 為 article 的段落的首字母變?yōu)榧t色稠诲。

:before 偽元素

":before" 偽元素可以在元素的內容前面插入新內容。

下面的例子在每個 <h1> 元素前面插入一幅圖片:

h1:before
{
content:url(logo.gif);
}

:after 偽元素

":after" 偽元素可以在元素的內容之后插入新內容诡曙。

下面的例子在每個 <h1> 元素后面插入一幅圖片:
h1:after
{
 content:url(logo.gif);
 }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末臀叙,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子岗仑,更是在濱河造成了極大的恐慌匹耕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荠雕,死亡現場離奇詭異稳其,居然都是意外死亡,警方通過查閱死者的電腦和手機炸卑,發(fā)現死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門既鞠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盖文,你說我怎么就攤上這事嘱蛋。” “怎么了五续?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵洒敏,是天一觀的道長。 經常有香客問我疙驾,道長凶伙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任它碎,我火速辦了婚禮函荣,結果婚禮上显押,老公的妹妹穿的比我還像新娘。我一直安慰自己傻挂,他們只是感情好乘碑,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著金拒,像睡著了一般兽肤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绪抛,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天轿衔,我揣著相機與錄音,去河邊找鬼睦疫。 笑死,一個胖子當著我的面吹牛鞭呕,可吹牛的內容都是我干的蛤育。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼葫松,長吁一口氣:“原來是場噩夢啊……” “哼瓦糕!你這毒婦竟也來了?” 一聲冷哼從身側響起腋么,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤咕娄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后珊擂,有當地人在樹林里發(fā)現了一具尸體圣勒,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年摧扇,在試婚紗的時候發(fā)現自己被綠了圣贸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡扛稽,死狀恐怖吁峻,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情在张,我是刑警寧澤用含,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站帮匾,受9級特大地震影響啄骇,放射性物質發(fā)生泄漏。R本人自食惡果不足惜辟狈,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一肠缔、第九天 我趴在偏房一處隱蔽的房頂上張望夏跷。 院中可真熱鬧,春花似錦明未、人聲如沸槽华。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猫态。三九已至,卻和暖如春披摄,著一層夾襖步出監(jiān)牢的瞬間亲雪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工疚膊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留义辕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓寓盗,卻偏偏與公主長得像灌砖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子傀蚌,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容

  • 1.CSS 元素選擇器 最常見的 CSS 選擇器是元素選擇器基显。換句話說,文檔的元素就是最基本的選擇器善炫。如果設置 H...
    饑人谷_小侯閱讀 854評論 0 1
  • 其實平時用得多的選擇器無非也就是那么幾個撩幽,時間久了,許多不常用的選擇器就慢慢忘記了箩艺。為了不讓自己忘記這些選擇器窜醉,今...
    盛夏晚清風閱讀 1,818評論 0 5
  • 建議學習時長: 90分鐘學習方式:深入 學習目標 知道什么是 CSS 選擇器。 知道如下選擇器的寫法艺谆,對哪些元素生...
    知行社閱讀 324評論 0 2
  • 一酱虎、CSS選擇器常見的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素,用一個*表示 元素選擇器~選...
    dengpan閱讀 961評論 0 3
  • class 和 id 的使用場景? class屬性: 指定標簽的類名擂涛,CSS操作中读串,把一些特定的樣式放到一個類中,...
    我要認真學前端閱讀 1,005評論 0 0