css樣式表有3種:行內(nèi)樣式表、內(nèi)部樣式表和外部樣式表。選擇器優(yōu)先級(jí)為:“通用選擇器>元素選擇器>類選擇器>屬性選擇器>偽類>ID 選擇器>行內(nèi)樣式”。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
css樣式表有哪些種類?
按照CSS樣式書寫的位置(或者引入的方式),CSS樣式表可以分為以下三大類:
1、行內(nèi)樣式表
行內(nèi)樣式就是把 CSS 樣式直接放在代碼行內(nèi)的標(biāo)簽中,一般都是放入標(biāo)簽的style屬性中,由于行內(nèi)樣式直接插入標(biāo)簽中,故是最直接的一種方式,同時(shí)也是修改最不方便的樣式。
例:
<p style="background-color: #999900">行內(nèi)元素,控制段落-1</p>
2、內(nèi)部樣式表
內(nèi)部樣式表包含在 <style> 標(biāo)簽內(nèi),一個(gè) <style> 標(biāo)簽就表示一個(gè)內(nèi)部樣式表。
如果一個(gè)網(wǎng)頁文檔中包含多個(gè) <style> 標(biāo)簽,就表示該文檔包含了多個(gè)內(nèi)部樣式表。
例:
<style> div { color: blue; font-size: 16px; } </style>
3、外部樣式表
如果 CSS 樣式被放置在網(wǎng)頁文檔外部的文件中,則稱為外部樣式表,一個(gè) CSS 樣式表文檔就表示一個(gè)外部樣式表。
實(shí)際上,外部樣式表也就是一個(gè)文本文件,擴(kuò)展名為.css。當(dāng)把CSS樣式代碼復(fù)制到一個(gè)文本文件中后,另存為.css文件,則它就是一個(gè)外部樣式表。
在HTML頁面中,使用< link >標(biāo)簽引入文件,具體引入代碼如下所示:
<link rel="styleheet" href="css文件路徑">
多重樣式表的優(yōu)先級(jí):
內(nèi)聯(lián)樣式 inline style > 內(nèi)部樣式表 internal style sheet > 外部樣式表 External style sheet > 瀏覽器默認(rèn)樣式
下面是講解選擇器優(yōu)先級(jí)的內(nèi)容,關(guān)于權(quán)重解釋的不錯(cuò)因此摘抄過來 ,摘自菜鳥教程
優(yōu)先級(jí)是瀏覽器是通過判斷哪些屬性值與元素最相關(guān)以決定并應(yīng)用到該元素上的。優(yōu)先級(jí)僅由選擇器組成的匹配規(guī)則決定的。
優(yōu)先級(jí)就是分配給指定的CSS聲明的一個(gè)權(quán)重,它由匹配的選擇器中的每一種選擇器類型的數(shù)值決定。
選擇器優(yōu)先級(jí)是什么?
下列是一份優(yōu)先級(jí)逐級(jí)增加的選擇器列表:
- 通用選擇器(*)
- 元素(類型)選擇器
- 類選擇器
- 屬性選擇器
- 偽類
- ID 選擇器
- 內(nèi)聯(lián)樣式
!important 規(guī)則例外
當(dāng) !important 規(guī)則被應(yīng)用在一個(gè)樣式聲明中時(shí),該樣式聲明會(huì)覆蓋CSS中任何其他的聲明, 無論它處在聲明列表中的哪里. 盡管如此, !important規(guī)則還是與優(yōu)先級(jí)毫無關(guān)系.使用 !important 不是一個(gè)好習(xí)慣,因?yàn)樗淖兞四銟邮奖肀緛淼募?jí)聯(lián)規(guī)則,從而使其難以調(diào)試。
一些經(jīng)驗(yàn)法則:
- Always 要優(yōu)化考慮使用樣式規(guī)則的優(yōu)先級(jí)來解決問題而不是
!important
- Only 只在需要覆蓋全站或外部 css(例如引用的 ExtJs 或者 YUI )的特定頁面中使用
!important
- Never 永遠(yuǎn)不要在全站范圍的 css 上使用
!important
- Never 永遠(yuǎn)不要在你的插件中使用
!important
權(quán)重計(jì)算:
解釋:
- 1. 內(nèi)聯(lián)樣式表的權(quán)值最高 1000;
- 2. ID 選擇器的權(quán)值為 100
- 3. Class 類選擇器的權(quán)值為 10
- 4. HTML 標(biāo)簽選擇器的權(quán)值為 1
利用選擇器的權(quán)值進(jìn)行計(jì)算比較,em 顯示藍(lán)色,示例如下:https://c.runoob.com/codedemo/3048
CSS 優(yōu)先級(jí)法則:
- A 選擇器都有一個(gè)權(quán)值,權(quán)值越大越優(yōu)先;
- B 當(dāng)權(quán)值相等時(shí),后出現(xiàn)的樣式表設(shè)置要優(yōu)于先出現(xiàn)的樣式表設(shè)置;
- C 創(chuàng)作者的規(guī)則高于瀏覽者:即網(wǎng)頁編寫者設(shè)置的CSS 樣式的優(yōu)先權(quán)高于瀏覽器所設(shè)置的樣式;
- D 繼承的CSS 樣式不如后來指定的CSS 樣式;
- E 在同一組屬性設(shè)置中標(biāo)有“!important”規(guī)則的優(yōu)先級(jí)最大;示例如下:https://c.runoob.com/codedemo/3049
結(jié)果:在Firefox 下顯示為藍(lán)色;在IE 6 下顯示為紅色;
這里引入一張流行的CSS權(quán)重關(guān)系圖:
(學(xué)習(xí)視頻分享:css視頻教程)