CSS偽元素選擇器和屬性選擇器


偽元素

能使用偽元素來選擇元素中的一些特殊位置

一、給段落定義樣式

  • :first-letter  首字母(只能用於塊元素)
  • :first-line  第一行

1、為p元素中的第一個字符設置顏色為黃色,字體為30px

p:first-letter{color:yellow;font-size:30px;}

<p>這是一個段落</p>

2、為p中的第一行設置背景顏色為綠色(多寫點)

p:first-line{background-color:green;}

 

 

二、元素前后部分

  • :before   表示元素最前面的部分(緊隨着開始標簽的后面)
  • :after   表示元素最后面的部分(緊挨着結束標簽的前面)

一般before和after都要結合content這個樣式一起使用,通過content向before或after的位置添加一些內容。

所添加的內容因為是通過css添加的所以無法選中這部分內容。

1、在p元素后面添加文字內容

p:after{content:"會出現在元素的最后面";color:blue;}

 2、在p元素前面添加文字(使用偽類元素插入的內容“會出現在元素的最前面”這部分內容不可選中)

p:before{content:"會出現元素的最前面";color:orange;}

 

 

 屬性選擇器

按屬性選擇元素,可以對具有給定屬性或屬性值的元素進行格式化,按屬性選擇要設置的 元素

語法結構

No1首先是選擇器(要考察其屬性的元素的選擇器)

No2接着輸入屬性的名稱(元素要考察的屬性的名稱)

方括號[ ],包圍目標屬性和目標值。

No3、選擇相應的屬性選擇器,屬性選擇器有:

  • [屬性名]  匹配具體的屬性,不問具體屬性值是什么
  • [屬性名="value"]  屬性值符合條件的元素將被選中
  • [屬性名~="value"]  屬性值包含這里的value的元素將被選中(屬性值還可以包含其他內容,不同的屬性值之間空隔分開)必須匹配完整的單詞,而不是單詞的一部分。
  • [屬性名|="value"]  (前面是管道符號|,不是1或字母L),表示屬性值等於這里的value或是以value-開頭的元素將會被選中。不用輸入連字符
  • [屬性名^="value"]  表示屬性值以這里的value開頭(作為完整的單詞,或單詞的一部分)的元素將被選中
  • [屬性名$="value"]  表示屬性值這里以value結尾(作為完整的單詞,或單詞的一部分)的元素將被選中
  • [屬性名*="value"]  表示屬性值至少包含這里的value一次的元素將被選中,value不必是屬性值中的完整單詞

實例:        

 1.選擇所有具有class屬性的段落p,設置其前景色為紅色

p[class]{color:red} <p class="b1">第一個段落</p> <p class="b2">第二個段落</p> <p>第三個段落</p>

2.選擇任何lang屬性值等於en(必須完全匹配)的p元素,設置前景色為紅色

p[lang="en"] {color:red} <p lang="en">第一個段落</p> <p>第二個段落</p> <p>第三個段落</p>

3、~=可以測試單詞的部分匹配,即匹配以空格相鄰的多個單詞中的一個(完整單詞)。選擇class屬性中屬性值中有boxone的article元素,並設置其背景顏色為黃色。

article[class~="boxone"] {background-color:yellow} <article class="boxone content">article</article> <article class="boxoone">center</article>

(1) *=選擇器可以匹配部分字符串(不需要完整的單詞)

article[class*="box"] {background-color:yellow}   √

(2) 當寫成如下形式的時候,這個選擇器將無法匹配,因為box不是空格分隔的單詞列表中某個完整的單詞。

article[class~="box"] {background-color:yellow}   ×

4、|=選擇任何帶有lang屬性且屬性值是以es開頭的h2,設置前景顏色為藍色。

h2[lang|="es"] {color:blue} <h2 lang="es">第一個二級標題</h2> <h2 lang="zh">第二個二級標題</h2>

 

5、可以通過聯合使用多種選擇器,選擇既有href屬性,又有任意屬性值包含單詞box的class屬性的a元素,設置背景顏色為橙色。

a[href][class~="box"] {background-color:orange} <a href="http://www.baidu.com">百度</a> <a href="#" class="box link">未鏈接</a> <a href="http://www.baidu.com" id="box">其他進入方式</a>

6、*=選擇器選擇所有既有href屬性,又有任意屬性包含are(作為完整單詞或單詞的一部分,如hare、dare。無論are出現在屬性值的什么位置)的title屬性的a元素。

a[href][title*="are"] {font-size:30px} <a href="#" title="百度are">百度</a> <a href="#" title="sinlangsre">新浪</a> <a href="#" title="wangyi">網易</a>

7、^=選擇器匹配任何href屬性以http://開頭(作為完整的單詞,或單詞的一部分)的a元素。

a[href^="http://"] {background-color:red} <a href="http://www.baidu.com">百度</a> <a href="#">新浪</a>

8、匹配任何src屬性完全等於logo.png的img元素。

img[src="wj1.png"] {border:1px solid green} <img src="wj.png">

 

9、選擇器的精確度比前一個低,匹配任何src屬性值以。png結尾的img元素。

img[src$=".png"] {border:1px solid green} <img src="wj.png"> <img src="1.jpg">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM