CSS3經常使用選擇器總結

CSS3選擇器

中午吃飯時與同事簡單聊了下H5C3爲咱們提供的便利,晚上下班後簡單整理了下CSS3的選擇器,在這裏跟你們分享下。程序員

CSS3新增了許多靈活查找元素的方法,極大的提升了咱們查找元素的效率和精準度。CSS3選擇器與jQuery中所提供的絕大部分選擇器兼容。spa

1.屬性選擇器

其特色是經過屬性來選擇元素,具體有如下5種形式(Eelement的首字母,下面都是簡寫代替,程序員老是那麼懶,哈哈哈)code

一、E[attr] 表示存在attr屬性便可;blog

 

        /*存在*/
        [class]{/*選中的是全部的div*/
            color: red;
        }

 

二、E[attr=val] 表示屬性值徹底等於valelement

 

        /*全等*/
        [class="abcd"]{/*選中的是div2*/
            color: red;
        }

 

3E[attr*=val] 表示的屬性值裏包含val字符而且在「任意」位置;v8

        /*包含(任意位置)*/
        [class*="abcd"]{
            color: red;
        }/*選中的是div2和div3,div4*/

 

4E[attr^=val] 表示的屬性值裏包含val字符而且在「開始」位置;get

/*以什麼開頭*/
[class^="abcd"]{
color: red;
}/*選中的是div2和div3*/

5E[attr$=val] 表示的屬性值裏包含val字符而且在「結束」位置;it

/*結尾*/
[class$="abcd"]{
color: red;
}/*選中的是div2和div4*/

 

<body>
    <div><a href="#" class="abc">div1</a></div>
    <div><a href="#" class="abcd">div2</a></div>
    <div><a href="#" class="abcdef">div3</a></div>
    <div><a href="#" class="aabcd">div4</a></div>
    <div><a href="#" class="abc">div5</a></div>
    <div><a href="#" class="abc">div6</a></div>
    <div><a href="#" class="abc">div7</a></div>
    <div><a href="#" class="abc">div8</a></div>
</body>

 

2.僞類選擇器

除了之前學過的:link:active:visited:hover(我通常簡稱爲LV,HA能夠理解爲,我今天買了個LV的包包,因此很開心,哈哈哈),CSS3又新增了其它的僞類選擇器。io

2.1、以某元素相對於其父元素或兄弟元素的位置來獲取無素的結構僞類。ast

重點是要理解經過E來肯定元素的父元素。

E:first-child第一個子元素

E:last-child最後一個子元素

E:nth-child(n) n個子元素,計算方法是E元素的所有兄弟元素;

E:nth-last-child(n) E:nth-child(n) 類似,只是倒着計算;

n遵循線性變化,其取值01234... 可是當n<=0時,選取無效。

n但是多種形式:nth-child(2n),表示選中偶數項,固然選中偶數項還能夠寫成nth-child(even)nth-child(2n+1)表示選中奇數項,固然選中奇數項還能夠寫成nth-child(odd)nth-last-child(-n+5)表示選中的是倒數第五個元素等;

E:empty 選中沒有任何子節點的E元素;(使用不是很是普遍)

2.二、目標僞類

E:target 結合錨點進行使用,處於當前錨點的元素會被選中;

3.僞元素選擇器

E::first-letter文本的第一個單詞或字(如中文、日文、韓文等);

E::first-line 文本第一行;

注意:E::beforeE::after(比較經常使用,很方便)

是一個行內元素,須要轉換成塊元素

E:afterE:before 在舊版本里是僞類,在新版本里是僞元素,新版本下E:afterE:before會被自動識別爲E::afterE::before,按僞元素來對待,這樣作的目的是用來作兼容處理。

E::selection 可改變選中文本的樣式(文本顏色,背景色等);

注意:":" "::" 區別在於區分僞類和僞元素

相關文章
相關標籤/搜索