|
|
|
|
|
CSS我們可以用標(biāo)簽、id、類來(lái)定義,然而,當(dāng)某一個(gè)元素同時(shí)擁有這三個(gè)CSS定義時(shí),瀏覽器渲染時(shí)該選擇哪一個(gè)呢?這就涉及到它們的優(yōu)先級(jí)問題。本文將通過示例,來(lái)說(shuō)明這個(gè)問題。
示例
<html>
<head>
<title>div</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<style>
div {
color: red;
}
.class {
color: blue;
}
#id {
color: yellow;
}
body {
background: #333;
display: grid;
font-size: 50px;
height: 100vh;
place-items: center;
}
</style>
</head>
<body>
<div id="id" class="class">卡卡測(cè)速網(wǎng) WebKaka.com</div>
</body>
</html>
執(zhí)行結(jié)果
div
元素有兩個(gè)屬性:id="id"
和class="class"
。
CSS定義了三個(gè)樣式:div
、#id
和.class
,它們?cè)O(shè)置了color
屬性,div
為red(紅色),.class
為blue(藍(lán)色),#id
為yellow(黃色)。
從執(zhí)行結(jié)果來(lái)看,文字顏色為黃色,所以可以斷定,#id
的優(yōu)先級(jí)最高。
如果把div的id屬性去掉,HTML代碼改為:
<div class="class">卡卡測(cè)速網(wǎng) WebKaka.com</div>
那么結(jié)果又會(huì)怎樣呢?
執(zhí)行結(jié)果
結(jié)果文字顏色為藍(lán)色,所以可以斷定,.class
的優(yōu)先級(jí)要比標(biāo)簽div
高。
至此,我們可以清楚的知道了,CSS中id、類、標(biāo)簽的優(yōu)先級(jí)順序是:id > 類 > 標(biāo)簽。
使用 !important ,優(yōu)先級(jí)別最高
下面一個(gè)例子,使得div的CSS優(yōu)先級(jí)別最高,因?yàn)槭褂昧?!important
屬性值。
<html>
<head>
<title>div</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<style>
div {
color: red !important;
}
.class {
color: blue;
}
#id {
color: yellow;
}
body {
background: #333;
display: grid;
font-size: 50px;
height: 100vh;
place-items: center;
}
</style>
</head>
<body>
<div id="id" class="class">卡卡測(cè)速網(wǎng) WebKaka.com</div>
</body>
</html>
執(zhí)行結(jié)果
文字顏色為紅色,故使用的是CSS中div
的定義。
CSS中div
的屬性使用了red !important;
,這使得div
的CSS定義一下子把優(yōu)先權(quán)提升到了最高的級(jí)別,所以就出現(xiàn)這樣的執(zhí)行結(jié)果。
總結(jié)
本文通過多個(gè)示例,說(shuō)明了CSS中id、類、標(biāo)簽的優(yōu)先級(jí)問題,但是我們可以使用一些手段把某個(gè)CSS的定義的優(yōu)先級(jí)提高。
相關(guān)文章