首頁 > web前端 > html教學 > CSS的优先级别_html/css_WEB-ITnose

CSS的优先级别_html/css_WEB-ITnose

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-21 09:17:58
原創
1127 人瀏覽過

1、样式的优先级

    内联样式 > 内部样式 > 外部样式

    以下的特例:外部样式会覆盖内部样式(不推荐内联样式)

<html><head>    <style type="text/css">    div { background:red; }    </style>    <link rel="stylesheet" type="text/css" href="style.css" /></head><body>    <div>Hello World!</div></body></html>
登入後複製


2、选择器的优先权

内联样式(1000)> id(100)> class(10)> tag(10)

以下例子div将显示的背景色是黑色。

<html><head>    <style type="text/css">    #divId    { height:100px; background:black; }    .divClass { height:100px; background:green; }    </style></head><body>    <div id="divId" class="divClass">Hello World!</div></body></html>
登入後複製


同理,之前遇到过一个问题:

<html><head>    <style type="text/css">    #divId    { height:100px; background:black; }    .divClass { height:100px; background:red; }    </style></head><body>    <div id="divId"></div></body><script type="text/javascript">    window.onload = function() {        var divId = document.getElementById("divId");        divId.className = "divClass";    };</script></html>
登入後複製


这时你会发现js的代码不起作用,相信你应该知道原因了吧。

解决的方法有很多,以下说说两种:

(1)如果需要修改的属性少,可以直接用js修改属性

window.onload = function() {    var divId = document.getElementById("divId");    divId.style.background = "red";};
登入後複製

(2)当要修改的属性多,可以在外出加多一个有id的标签,让class的优先级高于当前div的id

<html><head>    <style type="text/css">    #divId    { height:100px; background:black; }    #boss .divClass { height:100px; background:red; }    </style></head><body>    <div id="boss">        <div id="divId"></div>    </div></body><script type="text/javascript">    window.onload = function() {        var divId = document.getElementById("divId");        divId.className = "divClass";    };</script></html>
登入後複製

    




相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板