国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS 優先級問題詳解

2024-07-11 08:30:21
字體:
來源:轉載
供稿:網友

當你將一個樣式添加到元素上卻發現不起作用時,那就是遇到優先級問題了。那么應該如何處理 CSS 優先級問題呢,下面我總結了一些解決 CSS 優先級問題的常用法則。

樣式距離

我們可以通過使用外部樣式、內部樣式、內聯樣式等方法給元素添加指定的樣式,此時的優先級是:

外部樣式 < 內部樣式 < 內聯樣式
這個應該比較容易理解,也就是說離元素距離越近的樣式優先級越大。如:


復制代碼
代碼如下:
<style type="text/css">
div{color:blue;} //內部樣式
</style>
<link rel="stylesheet" type="text/css" href="mystyle.css"/> //外部樣式(color:green)
<div style="color:red">my color</div>//內聯樣式

此時顯示的優先級是 red > blue > green。所以 my color 顯示為紅色。

特殊的計算方法

假設有下面這段代碼:


復制代碼
代碼如下:
<style type="text/css">
div p.classSelector {color: blue}
#idselector p {color: red}
</style>
<div id="idSelector">
<p class="classSelector">my color</p>
</div>

我們面對下面的 css,如何判斷優先級呢?


復制代碼
代碼如下:
<style type="text/css">
div p.classSelector {color: blue}
#idselector p {color: red}
</style>

這里介紹一種特殊的計算方法:

元素, 偽元素: 1 – (0,0,0,1)
類, 偽類, 屬性: 1 – (0,0,1,0)
ID: 1 – (0,1,0,0)
內聯樣式: 1 – (1,0,0,0)
這里的屬性指的是:

效果如下:

優先級從上往下依次增加,至于如何計算,同樣舉例說明:

p: 1個元素– (0,0,0,1)
div: 1個元素 – (0,0,0,1)
#idSelector: 1個ID – (0,1,0,0)
div#idSelector: 1個元素, 1個ID – (0,1,0,1)
div#idSelector p: 2個元素, 1個ID– (0,1,0,2)
div#idSelector p.classSelector: 2個元素, 1個類, 1個ID – (0,1,1,2)
所以現在我們再來看上面的例子:


復制代碼
代碼如下:
div p.classSelector {color: blue} - (0,0,0,1) + (0,0,0,1) + (0,0,1,0) = (0,0,1,2)
#idselector p {color: red} - (0,1,0,0) + (0,0,0,1) = (0,1,0,1)

由于優先級上 (0,1,0,1) > (0,0,1,2),所以我們知道最后顯示的顏色為紅色。

繼承

繼承是個比較好理解的概念,即子元素會繼承父元素的樣式。例如:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳朔县| 金华市| 山阳县| 松江区| 木里| 香格里拉县| 容城县| 蕉岭县| 兰坪| 漳平市| 衡东县| 瓮安县| 德阳市| 平安县| 洛浦县| 卫辉市| 石棉县| 江门市| 四川省| 屏南县| 志丹县| 林甸县| 宽甸| 泽库县| 滦平县| 胶州市| 武山县| 宁德市| 霍山县| 保康县| 新田县| 利川市| 册亨县| 海丰县| 灌南县| 吉木萨尔县| 维西| 六安市| 江源县| 长沙市| 巴青县|