1 繼承性
有一些屬性,當給自己設定的時候,自己的後代都繼承上了,這個就是繼承性。
哪些屬效能繼承。
color、 text-開頭的、line-開頭的、font-開頭的。
這些關於文字樣式的,都能夠繼承;所有關於盒子的、定位的、布局的屬性都不能繼承。 如果將body設定為:
1 body{
2 color:gray;
3 font-size:14px; }
則,body中的其他元素也會具有這些樣式
<body>
<div>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
</div>
</body>
2 層疊性
層疊性:就是css處理衝突的能力。所有的權重計算,沒有任何相容問題。
id的數量,類的數量,標籤的數量
以id的數量為準,如id相同,依次。
如果權重一樣,那麼以後出現的為準:
#box1 .hezi2 p{ //1,1,1------所以為這個
color:red;
}
div div #box3 p{ //1,0,3
color:green;
}
div.hezi1 div.hezi2 div.hezi3 p{ //0,3,3
color:blue;
}
<div class="hezi1" id="box1">
<div class="hezi2" id="box2">
<div class="hezi3" id="box3">
<p>猜猜我是什麼顏色。</p>
</div>
</div>
</div>
如果不能直接選中某個元素,通過繼承性影響的話,那麼權重是0。
#hezi1 #hezi2 #hezi3{
color:red;
}
div.box div.box div.box{
color:blue;
}
p{
color:green;
}
<div class="box" id="hezi1">
<div class="box" id="hezi2">
<div class="box" id="hezi3">
<p class="pp">猜猜我是什麼顏色</p>
</div>
</div>
</div>
如果大家都是0,那麼有一個就近原則:誰描述的近,聽誰的。 #hezi3{
color:blue;
}
#hezi1 #hezi2{
color:red;
}
<div class="box" id="hezi1">
<div class="box" id="hezi2">
<div class="box" id="hezi3"> //近
<p class="pp">猜猜我是什麼顏色</p>
</div>
</div>
</div>
同一個標籤,攜帶了多個類名,有衝突:
<p class="spec1 spec2">我是什麼顏色。</p> <p class=" spec2 spec1">我是什麼顏色。</p>
1 .spec2{
2 color:blue;
3 }
4 .spec1{ //紅色的。因為css中red寫在後面。後邊的起作用
5 color:red;
6 } </style>
權重問題大總結:
1) 先看有沒有選中,如果選中了,那麼以(id數,類數,標籤數)來計權重。誰大聽誰的。如果都一樣,聽後寫的為準。
2) 如果沒有選中,那麼權重是0。如果大家都是0,就近原則。