DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS特效代碼 >> CSS選擇器多樣應用
CSS選擇器多樣應用
編輯:CSS特效代碼     

一般的選擇器

標簽選擇器

以html標簽的名稱作為標示符如

p {color:red;}

<p>這是一段文字</p>
顯示結果段落文字顯示為紅色

ID、類 選擇器

使用html標簽的class值

p {color:red;}
p.blue{color:blue;}

<p>這是一段紅色文字</p>
<p class="blue">這是一段藍色文字</p>
屬性選擇器

[attr^=val] : 以val開頭

[attr$=val] : 以val結尾

[attr*=val] : 包含val

/*data-role以h開始的div*/
div[data-role^=h]{color:red;}
/*data-role以content結尾的div*/
div[data-role$=content]{color:blue;}
/*data-role包含foot的div*/
div[data-role^=header]{color:yellow;}

<div data-role="h-header">header</div>
<div data-role="c-content">content</div>
<div data-role="f-footer">header</div>






偽類、偽元素選擇器

以‘:’、’::’ 作為開始

:first-child - 選擇子元素的第一項 ;

:last-child - 選擇子元素的最後項;

:nth-child(n) – 選擇第n個子元素

/*選中子元素只有一個的ul子元素*/
ul.test_only :only-child {background-color: red;}

/*第一個子元素*/
li:first-child {color: red;}
/*最後一個子元素*/
li:last-child {color: orange;}
/*偶數項子元素*/
li:nth-child(2n){background-color: #ccc;}
/*奇數項子元素*/
li:nth-child(2n+1){background-color: yellow;}
<ul class="test_only">
<li>only li</li>
</ul>
<ul class="test_only">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
:first-of-type - 選擇子元素為某類型的的第一個子元素,p:first-of-type 選擇子元素為p的第一個元素

:last-of-type – 選擇子元素為某類型的的最後一個子元素

:nth-of-type(n) - 選擇子元素為某類型的第n子元素

/*類型為dt的第一個子元素*/
dt:first-of-type {background-color: #ccc;}
/*類型為dt的最後一個子元素*/
dt:last-of-type {background-color: red;}
/*類型為dd的第三個子元素*/
dd:nth-of-type(3) {background-color: orange;}
/*類型為dd的倒數第三個子元素*/
dd:nth-last-of-type(3) {background-color: yellow;}


<dl>
<dt>作者</dt>
<dd>Leon</dd>
<dt>出版社</dt>
<dd>人民出版社</dd>
<dt>出版時間</dt>
<dd>2014-01-02</dd>
</dl>
偽元素選擇器:

/**
* 偽元素選擇器
* ::first-letter 選擇第一個字;
* ::first-line 選擇第一行;
* ::before{content:"";} 在選擇元素前面加入content內容
* ::after{content:"";}; 在選擇元素後面加入content內容
* ::selection 被選中的內容,如鼠標選擇的內容
*/
/*第一個字變大*/
div.oth-class p::first-letter{font-size:25px;font-weight:bold;}
div.oth-class p::first-line{color:red;}
/*前面加上before,after和before添加的內容無法被鼠標選中*/
div.oth-class p::before{content:"before";}
div.oth-class p::after{content:"after";}
/*被鼠標選擇內容*/
div.oth-class p::selection{background-color: #ccc;color:orange;}



<div class="other">
<p></p>
<p>我是段落</p>

<div><span>我是div,我有一個span</span></div>
<div>我是div,沒有span</div>

</div>

<div class="oth-class" style="border:1px solid red;">
<p>這是一段文字,<br>這段文字有兩行.</p>
</div>



3. 選擇器的優先級

CSS對選擇器的優先級有一個計算方法
a=行內樣式
b=ID選擇器的數量
c=類、偽類和屬性選擇器的數量
d=標簽選擇器和偽元素選擇器的數量
a,b,c,c的權重依次為1000,100,10,1
最終的權重值value=a*1000+b*100+c*10+d ,
CSS層疊:

相同屬性 - 優先級高覆蓋優先級低,優先級相同後面覆蓋簽名的。
不同屬性 - 疊加在一起。
明確指定的屬性有限與父元素繼承來的屬性。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved