DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS3基礎 >> 2.2 屬性選擇器
2.2 屬性選擇器
編輯:CSS3基礎     

一、屬性選擇器簡介

元素的屬性,我們都知道是什麼。例如下面代碼中type和value就是input元素的屬性。屬性選擇器,顧名思義,就是通過屬性來選擇元素的一種方式。

 
<input type="text" value="lvye"/>

其實屬性選擇器在CSS2中已經存在了,而CSS3在CSS2的基礎上對屬性選擇器進行了擴展,新增了3個屬性選擇器。對於CSS2中的屬性選擇器,請關注即將上線的CSS進階教程。

CSS3新增的屬性選擇器 屬性選擇器 說明 E[attr^="lvye"] 選取了元素E,其中E元素定義了屬性att,att屬性值是以lvye開頭的任何字符串。 E[attr$="lvye"] 選取了元素E,其中E元素定義了屬性att,att屬性值是以lvye結尾的任何字符串。 E[attr*="lvye"] 選取了元素E,其中E元素定義了屬性att,att屬性值任意位置是包含了lvye的任何字符串。

(E,指的是元素名element;attr,指的是屬性名attribute)

CSS3新增的這3個屬性選擇器使得選擇器具有通配符的功能,有點正則表達式的感覺,大家可以繼續學習 學習網的正則表達式教程。

我們在百度文庫下載資料的時候,經常會看到文檔列表的超鏈接前面都會顯示一個文檔類型的小圖標。這是用戶體驗非常好的設計細節。這個效果的實現技術,只需要使用CSS3中的屬性選擇器就可以輕松實現了。

為了實現百度文庫的列表項圖標效果,我們使用到以下背景小圖標:

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>CSS3 屬性選擇器</title>
    <style type="text/css">
        /*清除所有元素默認的padding和margin*/
        *{padding:0;margin:0;}
        /*清除列表項符號*/
        ul{list-style-type:none;}
        a
        {
            display:inline-block;
            font-size:12px;
            height:20px;
            line-height:20px;
        }
        /*匹配jpg文件*/
        a[href$="jpg"]:before
        {
            content:url("../App_images/lesson/run_css3/1.png");
        }
        /*匹配PDF文件*/
        a[href$="pdf"]:before
        {
            content:url("../App_images/lesson/run_css3/2.png");
        }
        /*匹配PDF文件*/
        a[href$="ppt"]:before
        {
            content:url("../App_images/lesson/run_css3/3.png");
        }
    </style>
</head>
<body>
    <ul>
        <li><a href="css3.jpg">這是jpg圖片</a></li>
        <li><a href="css3.pdf">這是pdf文件</a></li>
        <li><a href="css3.ppt">這是ppt文檔</a></li>
    </ul>
</body>
</html>

在浏覽器預覽效果如下:

分析:

(1)其實百度文庫列表的效果實現原理很簡單,只需要使用屬性選擇器匹配a元素中href屬性值的最後幾個字符(文件後綴名)。由於文件類型的不同,文件後綴名也會不同。根據後綴名不同,分別為不同文件類型的超鏈接添加不同圖標即可。當然實際上百度文庫列表實際代碼不像上述代碼,思想是一樣的。有興趣的同學可以查看一下百度文庫的源代碼。

(2)content屬性用於為元素插入內容,在CSS3教程中用戶界面中的“為元素添加內容content屬性”這一節我們會詳細講解到。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved