CSS簡(jiǎn)介及選擇器

什么是css?

CSS是一種用于向用戶指定文檔如何呈現(xiàn)的語(yǔ)言 — 它們?nèi)绾伪恢付邮健⒉季值取?/p>

css如何工作的构韵?

-當(dāng)瀏覽器顯示文檔時(shí)莱衩,它必須將文檔的內(nèi)容與其樣式信息結(jié)合爵嗅。它分兩個(gè)階段處理文檔:

  1. 瀏覽器將 HTML轉(zhuǎn)化成 DOM文檔對(duì)象模型)。DOM在計(jì)算機(jī)內(nèi)存中表示文檔膳殷。它把文檔內(nèi)容和其樣式結(jié)合在一起操骡。
  2. 瀏覽器顯示 DOM 的內(nèi)容九火。]

如何在HTML里應(yīng)用css?

1.外部樣式表
將你的 CSS 保存在一個(gè)獨(dú)立的擴(kuò)展名為 .css 的文件中册招,并從HTML的 <link> 元素中引用它岔激。

<link rel="stylesheet" href="style.css">

2.內(nèi)部樣式表
將你的css放入<style>元素中,該元素包含在HTMLhead內(nèi)是掰。
3.內(nèi)聯(lián)樣式
內(nèi)聯(lián)樣式是僅影響一個(gè)元素的CSS聲明虑鼎,被 style 屬性包括著。

CSS語(yǔ)句組成

從最基本的層次來看键痛,CSS是由兩塊內(nèi)容組合而成的:

  • 屬性(Property):一些人類可理解的標(biāo)識(shí)符炫彩,這些標(biāo)識(shí)符指出你想修改哪一些樣式,例如:字體,寬度杯聚,背景顏色等辈挂。
  • 屬性值(Value):每個(gè)指定的屬性都需要給定一個(gè)值,這個(gè)值表示你想把那些樣式特征修改成什么樣杉允,例如,你想把字體席里,寬度或背景顏色改成什么叔磷。
    屬性和屬性值之間,用英文半角冒號(hào) (:) 隔離奖磁,如下圖所示改基。
    聲明

CSS選擇器

在CSS中,選擇器用于定位我們想要樣式化的網(wǎng)頁(yè)HTML元素咖为。各種各樣可用的CSS選擇器允許我們精確選擇要樣式化的元素秕狰。
選擇器可以被分為以下類別:

  • 簡(jiǎn)單選擇器(Simple selectors):通過元素類型、class或 id 匹配一個(gè)或多個(gè)元素案疲。
  • 屬性選擇器(Attribute selectors):通過 屬性 / 屬性值 匹配一個(gè)或多個(gè)元素封恰。
  • 偽類(Pseudo-classes):匹配處于確定狀態(tài)的一個(gè)或多個(gè)元素,比如被鼠標(biāo)指針懸停的元素褐啡,或當(dāng)前被選中或未選中的復(fù)選框诺舔,或元素是DOM樹中一父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)。
  • 偽元素(Pseudo-elements):匹配處于相關(guān)的確定位置的一個(gè)或多個(gè)元素备畦,例如每個(gè)段落的第一個(gè)字低飒,或者某個(gè)元素之前生成的內(nèi)容。
  • 組合器(Combinators):這里不僅僅是選擇器本身懂盐,還有以有效的方式組合兩個(gè)或更多的選擇器用于非常特定的選擇的方法褥赊。例如,你可以只選擇divs的直系子節(jié)點(diǎn)的段落莉恼,或者直接跟在headings后面的段落拌喉。
  • 多重選擇器(Multiple selectors):這些也不是單獨(dú)的選擇器速那;這個(gè)思路是將以逗號(hào)分隔開的多個(gè)選擇器放在一個(gè)CSS規(guī)則下面, 以將一組聲明應(yīng)用于由這些選擇器選擇的所有元素尿背。

元素選擇器

此選擇器只是一個(gè)選擇器名和指定的HTML元素名的不區(qū)分大小寫的匹配端仰。

p {
color: red;
}

類選擇器

類選擇器由一個(gè)點(diǎn)“.”以及類后面的類名組成。類名是在HTMLclass文檔元素屬性中沒有空格的任何值田藐。

<p class = "first">This is a graph.</p>
<style>
.first{
  color = red;
}
</style>

ID選擇器

ID選擇器是由一個(gè)哈希/磅符號(hào) (#)荔烧,后面跟著給定元素的ID名稱組成的。 任何元素都可以使用id屬性設(shè)置唯一的ID名稱汽久。id的名稱必須是文檔中唯一的鹤竭。

<p id="say"> — "Good morning."</p>
#say {
  color = red;
}

通用選擇器

它允許選擇在一個(gè)頁(yè)面中的所有元素。用*表示景醇。

* {
  padding: 5px;
  border: 1px solid black;
}

屬性選擇器

這些屬性選擇器嘗試匹配精確的屬性值:

[attr]:該選擇器選擇包含 attr 屬性的所有元素臀稚,不論 attr 的值為何。
[attr=val]:該選擇器僅選擇 attr 屬性被賦值為 val 的所有元素三痰。
[attr~=val]:該選擇器僅選擇具有 attr 屬性的元素烁涌,而且要求 val 值是 attr 值包含的被空格分隔的取值列表里中的一個(gè)。

子串值屬性選擇器

這種情況的屬性選擇器也被稱為“偽正則選擇器”酒觅。
[attr|=val] : 選擇attr屬性的值是 val 或值以 val- 開頭的元素(注意,這里的 “-” 不是一個(gè)錯(cuò)誤微峰,這是用來處理語(yǔ)言編碼的)舷丹。
[attr^=val] :選擇attr屬性的值以 val 開頭(包括 val)的元素。
[attr$=val] :選擇attr屬性的值以 val 結(jié)尾(包括 val)的元素蜓肆。
[attr*=val] : 選擇attr屬性的值中包含子字符串 val 的元素(一個(gè)子字符串就是一個(gè)字符串的一部分而已颜凯,例如,”cat“ 是 字符串 ”caterpillar“ 的子字符串)仗扬。

偽類選擇器

一個(gè)CSS偽類(pseudo-class)是一個(gè)以冒號(hào)(:)作為前綴症概,被添加到一個(gè)選擇器末尾的關(guān)鍵字,當(dāng)你希望樣式在特定狀態(tài)下才被呈現(xiàn)到指定的元素時(shí)早芭,你可以往元素的選擇器后面加上對(duì)應(yīng)的偽類(pseudo-class)彼城。
a類選擇
a:link 匹配所有未被點(diǎn)擊的鏈接
a:visited 匹配所有已被點(diǎn)擊的鏈接
a:active 匹配鼠標(biāo)已經(jīng)其上按下、還沒有釋放的E元素
a:hover 匹配鼠標(biāo)懸停其上的E元素
其他
:first-child 匹配作為長(zhǎng)子(第一個(gè)子女)的元素
:nth-child(n) 匹配父元素的第n個(gè)子元素退个,必須先找到父元素募壕,然后再向下找
:nth-last-child(n) 匹配其父元素的倒數(shù)第n個(gè)子元素
:nth-of-type 父元素下,同種標(biāo)簽類型的第一個(gè)元素
:nth-last-type(n) 與nth-last-child(n)语盈,匹配使用同種標(biāo)簽的元素
:first-of-type 匹配父元素下使用同種標(biāo)簽的第一個(gè)子元素
:last-of-type 匹配父元素下使用同種標(biāo)簽的最后一個(gè)子元素

偽元素

偽元素跟偽類很像舱馅,但它們又有不同的地方。它們都是關(guān)鍵字刀荒,但這次偽元素前綴是兩個(gè)冒號(hào) (::) 代嗤, 同樣是添加到選擇器后面去選擇某個(gè)元素的某個(gè)部分棘钞。
::after ::after用來創(chuàng)建一個(gè)偽元素,作為已選中元素的最后一個(gè)子元素干毅。
::before::after用來創(chuàng)建一個(gè)偽元素宜猜,作為已選中元素的最后一個(gè)子元素。
::first-letter第一行的第一個(gè)字母
::first-line第一行應(yīng)用樣式

組合器和選擇器組

選擇器組
A, B匹配滿足A(和/或)B的任意元素
后代選擇器
A B 匹配B元素溶锭,滿足條件:B是A的后代結(jié)點(diǎn)(B是A的子節(jié)點(diǎn)宝恶,或者A的子節(jié)點(diǎn)的子節(jié)點(diǎn))
子選擇器
A > B 匹配B元素,滿足條件:B是A的直接子節(jié)點(diǎn)
相鄰兄弟選擇器
A + B 匹配B元素趴捅,滿足條件:B是A的下一個(gè)兄弟節(jié)點(diǎn)(AB有相同的父結(jié)點(diǎn)垫毙,并且B緊跟在A的后面)
通用兄弟選擇器
A ~ B 匹配B元素,滿足條件:B是A之后的任意一個(gè)兄弟節(jié)點(diǎn)(AB有相同的父節(jié)點(diǎn)拱绑,B在A之后综芥,但不一定是緊挨著A)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市猎拨,隨后出現(xiàn)的幾起案子膀藐,更是在濱河造成了極大的恐慌,老刑警劉巖红省,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件额各,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吧恃,警方通過查閱死者的電腦和手機(jī)虾啦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痕寓,“玉大人傲醉,你說我怎么就攤上這事∩肼剩” “怎么了硬毕?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)礼仗。 經(jīng)常有香客問我吐咳,道長(zhǎng),這世上最難降的妖魔是什么元践? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任挪丢,我火速辦了婚禮,結(jié)果婚禮上卢厂,老公的妹妹穿的比我還像新娘乾蓬。我一直安慰自己,他們只是感情好慎恒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布任内。 她就那樣靜靜地躺著撵渡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪死嗦。 梳的紋絲不亂的頭發(fā)上趋距,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音越除,去河邊找鬼节腐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛摘盆,可吹牛的內(nèi)容都是我干的翼雀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼孩擂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼狼渊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起类垦,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤狈邑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蚤认,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體米苹,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年砰琢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驱入。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氯析,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出莺褒,到底是詐尸還是另有隱情掩缓,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布遵岩,位于F島的核電站你辣,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏尘执。R本人自食惡果不足惜舍哄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望誊锭。 院中可真熱鬧表悬,春花似錦、人聲如沸丧靡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至饭庞,卻和暖如春戒悠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舟山。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工绸狐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人累盗。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓寒矿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親幅骄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子劫窒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)拆座。 注意:講述HT...
    kismetajun閱讀 27,475評(píng)論 1 45
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,182評(píng)論 0 3
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案主巍? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • 一、樣式篇 第1章 初識(shí)jQuery (1)環(huán)境搭建 進(jìn)入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,380評(píng)論 0 44
  • 其實(shí)平時(shí)用得多的選擇器無非也就是那么幾個(gè)挪凑,時(shí)間久了孕索,許多不常用的選擇器就慢慢忘記了。為了不讓自己忘記這些選擇器躏碳,今...
    盛夏晚清風(fēng)閱讀 1,830評(píng)論 0 5