武林網(www.49028c.com)文章簡介:讓我們通過完成一下的實例來了解一下如何在不使用無用的class和id屬性的情況下利用CSS3定位頁面元素。
雖然我們已經使用CSS2.1選擇器排除掉了所有的class和id,顯然還會有很多更復雜的情況需要CSS3的高級選擇器來解決。讓我們通過完成一下的實例來了解一下如何在不使用無用的class和id屬性的情況下利用CSS3定位頁面元素。
相關文章:CSS3.0參考手冊下載(Webjx推薦)
使用一個唯一的日志(post)ID定位所有日志
wordpress提供給我們一種包含了ID的每篇日志的源代碼輸出。這種信息通常用于導航和/或了解資料的意圖,不過CSS3可以利用這些唯一的ID來定義這些日志的樣式。當然,你還可以像往常那樣為每篇日志添加class=”post”這樣的屬性,但這就與我們練習的意圖相沖突了(再加上它沒有一點樂趣所在)。使用”子字符串匹配選擇器”,我們就可以像下面這樣定位所有日志和它們的不同元素了。
1
2
3
article
我沒仍然可以使用同樣的方式定位評論的元素和它們的子元素。
1
2
3
article
定位一些指定的區域(section)或文章(article)
有很多博客的日志量和評論量都相當大,HTML 5 會將它們由<section>或<article>元素組成。為了定位哪些指定的<section>或<article>元素,我們就要轉而使用強大的“:nth-child”選擇器了:
1
2
3
4
5
section
同樣,我們可以使用“:nth-last-child”選擇器定位反序的一些元素。
1
2
3
4
5
section
使用更多的方式選擇指定元素
另一種選擇HTML5中指定元素(如header、section和footer)的方法就是利用”:only-of-type”選擇器的優勢。由于這些HTML5元素通常會在很多地方出現不止一次,所以當我們想定位那種在父元素下僅出現過一次的標簽時這種方法很方便。例如,我們要選擇的是在某元素中有切僅有的唯一一個元素,如以下代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<section>
<section></section>
<section>
<section>定位這個section元素</section>
</section>
<section>
<section>定位這個section元素</section>
</section>
<section>
<section>但不定位這個section元素</section>
<section>和這個section元素</section>
</section>
<section></section>
</section>
我們可以僅使用以下一行選擇器:
1
section
再次嘮叨,你可以固執的為每個元素添加ID屬性,但你會失去代碼的可擴展性、維護性和絕對簡潔的結構與表現相分離。CSS3的確能讓我們可快速更方便的定位幾乎所有沒有ID和class屬性的頁面元素。
新聞熱點
疑難解答