學(xué)習(xí)筆記-CSS-2017.2.14

CSS 選擇器

1贡茅、CSS 元素選擇器

如果設(shè)置 HTML 的樣式,選擇器通常將是某個 HTML 元素其做,比如 p顶考、h1、em妖泄、a驹沿,甚至可以是 html 本身。


<style type="text/css">
html {color:black;}
h1 {color:blue;}
h2 {color:silver;}
</style>
<h1>這是 heading 1</h1>
<h2>這是 heading 2</h2>
<p>這是一段普通的段落蹈胡。</p>
2渊季、CSS 選擇器分組
<style type="text/css">
/* group 1 */
h1 {color:silver; background:white;}
h2 {color:silver; background:gray;}
h3 {color:white; background:gray;}
h4 {color:silver; background:white;}
b {color:gray; background:white;}

/* group 2 */
h1, h2, h4 {color:silver;}
h2, h3 {background:gray;}
h1, h4, b {background:white;}
h3 {color:white;}
b {color:gray;}

/* group 3 */
h1, h4 {color:silver; background:white;}
h2 {color:silver;}
h3 {color:white;}
h2, h3 {background:gray;}
b {color:gray; background:white;}
</style>


<body>
<h1>這是 heading 1</h1>
<h2>這是 heading 2</h2>
<h3>這是 heading 3</h3>
<h4>這是 heading 4</h4>
<p>這是一段<b>普通</b>的段落文本。</p>
</body>

通配選擇器(universal selector)罚渐,顯示為一個星號(*)却汉。該選擇器可以與任何元素匹配,就像是一個通配符搅轿。
例如病涨,下面的規(guī)則可以使文檔中的每個元素都為紅色:

<style type="text/css">
* {color:red;}
</style>
<body>
<h1>這是 heading 1</h1>
<h2>這是 heading 2</h2>
<h3>這是 heading 3</h3>
<h4>這是 heading 4</h4>
<p>這是一段<b>普通</b>的段落文本。</p>
</body>
3璧坟、CSS 類選擇器

類選擇器允許以一種獨立于文檔元素的方式來指定樣式。
該選擇器可以單獨使用赎懦,也可以與其他元素結(jié)合使用雀鹃。

<style type="text/css">
p.important {color:red;}
h1.important {color:blue;}
</style>
<body>
<h1 class="important">This heading is very important.</h1>
<p class="important">This paragraph is very important.</p>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
<p>...</p>
</body>
4、CSS ID 選擇器

ID 選擇器前面有一個 # 號 - 也稱為棋盤號或井號励两。

類選擇器和ID選擇器的區(qū)別

  • 區(qū)別 1:只能在文檔中使用一次
    與類不同黎茎,在一個 HTML 文檔中,ID 選擇器會使用一次当悔,而且僅一次傅瞻。
  • 區(qū)別 2:不能使用 ID 詞列表
    不同于類選擇器踢代,ID 選擇器不能結(jié)合使用,因為 ID 屬性不允許有以空格分隔的詞列表嗅骄。
  • 區(qū)別 3:ID 能包含更多含義
    類似于類胳挎,可以獨立于元素來選擇 ID。
5溺森、CSS 屬性選擇器

屬性選擇器可以根據(jù)元素的屬性及屬性值來選擇元素慕爬。

[title]
{
color:red;
}

a[href]
{
color:red;
}



6、CSS 后代選擇器

注:兩個元素之間的層次間隔可以是無限的屏积。
例如医窿,如果寫作 ul em,這個語法就會選擇從 ul 元素繼承的所有 em 元素炊林,而不論 em 的嵌套層次多深姥卢。

7、CSS 子元素選擇器

與后代選擇器相比渣聚,子元素選擇器(Child selectors)只能選擇作為某元素子元素的元素隔显。

從右向左讀,選擇器 h1 > strong 可以解釋為“選擇作為 h1 元素子元素的所有 strong 元素”饵逐。

<style type="text/css">
h1 > strong {color:red;}
</style>
<body>
<h1>This is <strong>very</strong> <strong>very</strong> important.</h1>
<h1>This is <em>really <strong>very</strong></em> important.</h1>
</body>
8括眠、CSS 相鄰兄弟選擇器

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

h1 + p {margin-top:50px;}

這個選擇器讀作:“選擇緊接在 h1 元素后出現(xiàn)的段落掷豺,h1 和 p 元素?fù)碛泄餐母冈亍薄?/p>

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

這個選擇器解釋為:選擇緊接在 table 元素后出現(xiàn)的所有兄弟 ul 元素,該 table 元素包含在一個 body 元素中薄声,body 元素本身是 html 元素的子元素当船。

用一個結(jié)合符只能選擇兩個相鄰兄弟中的第二個元素。

li + li {font-weight:bold;}

上面這個選擇器只會把列表中的第二個和第三個列表項變?yōu)榇煮w默辨。第一個列表項不受影響德频。

9、CSS偽類

偽類的語法:

selector:pseudo-class {property:value;}

CSS類也可以使用偽類:

selector.class:pseudo-class {property:value;}
CSS - :first - child偽類選擇元素的第一個子元素
<style type="text/css">
p:first-child {font-weight: bold;}
li:first-child {text-transform:uppercase;}
</style>
<body>
<div>
<p>These are the necessary steps:</p>
<ul>
<li>Intert Key</li>
<li>Turn key <strong>clockwise</strong></li>
<li>Push accelerator</li>
</ul>
<p>Do <em>not</em> push the brake at the same time as the accelerator.</p>
</div>
</body>

作為第一個元素的元素包括第一個 p缩幸、第一個 li 和 strong 和 em 元素壹置。

![QQ截圖20170214155154.png](http://upload-images.jianshu.io/upload_images/4652375-3b1f95b59ec2f117.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![QQ截圖20170214155154.png](http://upload-images.jianshu.io/upload_images/4652375-3c57bde89430be83.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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

第一個規(guī)則將作為某元素第一個子元素的所有 p 元素設(shè)置為粗體。第二個規(guī)則將作為某個元素(在 HTML 中表谊,這肯定是 ol 或 ul 元素)第一個子元素的所有 li 元素變成大寫钞护。

  • 例子 1 - 匹配第一個 < p > 元素
<head>
<style type="text/css">
p:first-child {
  color: red;
  } 
</style>
<body>
<p>some text</p>
<p>some text</p>
</body>
  • 例子 2 - 匹配所有 < p > 元素中的第一個 < i > 元素
<style type="text/css">
p > i:first-child {
  font-weight:bold;
  } 
</style>
<body>
<p>some <i>text</i>. some <i>text</i>.</p>
<p>some <i>text</i>. some <i>text</i>.</p>
  • 例子 3 - 匹配所有作為第一個子元素的 < p > 元素中的所有 < i > 元素
<style type="text/css">
p:first-child i {
  color:blue;
  } 
</style>
<body>
<p>some <i>text</i>. some <i>text</i>.</p>
<p>some <i>text</i>. some <i>text</i>.</p>
</body>
CSS - :lang 偽類使你有能力為不同的語言定義特殊的規(guī)則
<style>
q:lang(no)
{
    quotes: "~" "~";
}
</style>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q> Some text.</p>
<p>在這個例子中,:lang定義了q元素的值為lang =“no”</p>
</body>
10、CSS 偽元素

CSS 偽元素用于向某些選擇器設(shè)置特殊效果爆办。

偽元素的語法:

selector:pseudo-element {property:value;}

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

selector.class:pseudo-element {property:value;}
:first-line 偽元素用于向文本的首行設(shè)置特殊樣式难咕。只能用于塊級元素。

下面的屬性可應(yīng)用于 "first-line" 偽元素:

  • font properties
  • color properties
  • background properties
  • word-spacing
  • letter-spacing
  • text-decoration
  • vertical-align
  • text-transform
  • line-height
  • clear
<style>
p:first-line 
{
color:#ff0000;
font-variant:small-caps;
}
</style>
<body>
<p>this is a demo</p>
</body>
:first-letter 偽元素用于向文本的首字母設(shè)置特殊樣式。用于塊級元素余佃。
<style>
p:first-letter 
{
    color:#ff0000;
    font-size:xx-large;
}
</style>
<body>
<p>你可以使用 "first-letter" 偽元素向文本的首字母設(shè)置特殊樣式:</p>
</body>

注意: 下面的屬性可應(yīng)用于 "first-letter" 偽元素:

  • font properties
  • color properties
  • background properties
  • margin properties
  • padding properties
  • border properties
  • text-decoration
  • vertical-align (only if "float" is "none")
  • text-transform
  • line-height
  • float
  • clear
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暮刃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子爆土,更是在濱河造成了極大的恐慌椭懊,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雾消,死亡現(xiàn)場離奇詭異灾搏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)立润,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進(jìn)店門狂窑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桑腮,你說我怎么就攤上這事泉哈。” “怎么了破讨?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵丛晦,是天一觀的道長。 經(jīng)常有香客問我提陶,道長烫沙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任隙笆,我火速辦了婚禮锌蓄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撑柔。我一直安慰自己瘸爽,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布铅忿。 她就那樣靜靜地躺著剪决,像睡著了一般。 火紅的嫁衣襯著肌膚如雪檀训。 梳的紋絲不亂的頭發(fā)上柑潦,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機(jī)與錄音肢扯,去河邊找鬼妒茬。 笑死,一個胖子當(dāng)著我的面吹牛蔚晨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼铭腕,長吁一口氣:“原來是場噩夢啊……” “哼银择!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起累舷,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤浩考,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后被盈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體析孽,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年只怎,在試婚紗的時候發(fā)現(xiàn)自己被綠了袜瞬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡身堡,死狀恐怖邓尤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贴谎,我是刑警寧澤汞扎,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站擅这,受9級特大地震影響澈魄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仲翎,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一箱沦、第九天 我趴在偏房一處隱蔽的房頂上張望峡懈。 院中可真熱鬧,春花似錦、人聲如沸陋率。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽便贵。三九已至,卻和暖如春昂秃,著一層夾襖步出監(jiān)牢的瞬間禀梳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工肠骆, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留算途,地道東北人。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓蚀腿,卻偏偏與公主長得像嘴瓤,于是被迫代替她去往敵國和親扫外。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案廓脆? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評論 1 92
  • 1.CSS 元素選擇器 最常見的 CSS 選擇器是元素選擇器筛谚。換句話說,文檔的元素就是最基本的選擇器停忿。如果設(shè)置 H...
    饑人谷_小侯閱讀 862評論 0 1
  • 轉(zhuǎn)載請聲明 原文鏈接地址 關(guān)注公眾號獲取更多資訊 第一部分 HTML 第一章 職業(yè)規(guī)劃和前景 職業(yè)方向規(guī)劃定位...
    程序員poetry閱讀 16,552評論 32 459
  • CSS基礎(chǔ) 本文包括CSS基礎(chǔ)知識選擇器(重要<萁病!O浮)繼承吮铭、特殊性、層疊颅停、重要性CSS格式化排版單位和值盒模型浮動...
    廖少少閱讀 3,079評論 0 40
  • 我決定自殺谓晌!
    67fe28bedf3c閱讀 133評論 0 0