1.第一從符號上來區分后代選擇器:是用空格來分隔開來 例如<h1>一個<span>人</span>的戰爭</h1> 就是h1 span{}子代選擇器:用特殊符號> 例如 h1>span{}
2.第二從用法上區分后代選擇器html部分:<ul class="study"> <li>物理 <ul> <li>力學</li> <li>聲學</li> <li>電磁學</li> </ul> </li> <li>數學 <ul> <li>微積分</li> <li>概率論</li> <li>博弈論</li> </ul> </li> </ul> css部分//使用子代選擇器的效果.study >li{ border:1px solid red;/*只給物理和數學加一個紅色方框*/}//使用后代選擇器的效果.study li{ border:1px solid red;/*給物理 力學 聲學 電磁學 和數學 微積分 概率論博弈論都加一個紅色方框*/}這說明子代是他是單傳只給物理和數學就斷子絕孫,后代是一代傳一代。
子代選擇器時效果圖:
后代選擇器時效果圖:
1.類選擇器(class選擇器)
基本使用:
.類選擇器{
屬性名: 屬性值;
...}
2.id選擇器
基本使用:
#id選擇器{
屬性名: 屬性值;
...
}
3. html元素選擇器
某個html元素{
屬性名: 屬性值;
...
}
4.通配符選擇器
該選擇器可以用到所有的html元素,但是其優先權最低
*{
屬性名: 屬性值;
...
}
很古老的話題了
id=100
class=10
tag(標簽)=1
按照這個規律去計算,比如
#qietu div{}
100+1 = 101
.qietu .box{}
10+10=20
可以得出第一個的權重要比第二個要高。另外關于權重的擴展知識面,我推薦了解下BEM命名規則,這個觀念很好,可以從側面杜絕權重問題的產生,還有一個就是提高權重的方法 !important;
首字母必須是字母或者下劃線不能是數字和其他