DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS進階教程 >> 利用CSS3定位頁面元素
利用CSS3定位頁面元素
編輯:CSS進階教程     

網頁制作poluoluo文章簡介:讓我們通過完成一下的實例來了解一下如何在不使用無用的class和id屬性的情況下利用CSS3定位頁面元素。

 雖然我們已經使用CSS2.1選擇器排除掉了所有的class和id,顯然還會有很多更復雜的情況需要CSS3的高級選擇器來解決。讓我們通過完成一下的實例來了解一下如何在不使用無用的class和id屬性的情況下利用CSS3定位頁面元素。

相關文章:CSS3.0參考手冊下載(poluoluo推薦)

使用一個唯一的日志(post)ID定位所有日志

  wordpress提供給我們一種包含了ID的每篇日志的源代碼輸出。這種信息通常用於導航和/或了解資料的意圖,不過CSS3可以利用這些唯一的ID來定義這些日志的樣式。當然,你還可以像往常那樣為每篇日志添加class=”post”這樣的屬性,但這就與我們練習的意圖相沖突了(再加上它沒有一點樂趣所在)。使用”子字符串匹配選擇器”,我們就可以像下面這樣定位所有日志和它們的不同元素了。

1
2
3
article[id*=post-] {}           /* 定位所有日志 */
article[id*=post-] header h1 {} /* 定位所有日志中的h1標簽 */
article[id*=post-] section p {} /* 定位所有日志中的p標簽 */

我沒仍然可以使用同樣的方式定位評論的元素和它們的子元素。

1
2
3
article[id*=comment-] {}           /* 定位所有評論 */
article[id*=comment-] header h1 {} /* 定位所有評論中的h1標簽 */
article[id*=comment-] section p {} /* 定位所有評論中的p標簽 */

定位一些指定的區域(section)或文章(article)
  有很多博客的日志量和評論量都相當大,HTML 5 會將它們由<section>或<article>元素組成。為了定位哪些指定的<section>或<article>元素,我們就要轉而使用強大的“:nth-child”選擇器了:

1
2
3
4
5
section:nth-child(1) {} /* 選擇第一個 <section> */
article:nth-child(1) {} /* 選擇第一個 <article> */

section:nth-child(2) {} /* 選擇第二個 <section> */
article:nth-child(2) {} /* 選擇第二個 <article> */

同樣,我們可以使用“:nth-last-child”選擇器定位反序的一些元素。

1
2
3
4
5
section:nth-last-child(1) {} /* 選擇最後一個 <section> */
article:nth-last-child(1) {} /* 選擇最後一個 <article> */

section:nth-last-child(2) {} /* 選擇倒數第二個 <section> */
article:nth-last-child(2) {} /* 選擇倒數第二個 <article> */

使用更多的方式選擇指定元素
  另一種選擇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>section:only-of-type {}

  再次唠叨,你可以固執的為每個元素添加ID屬性,但你會失去代碼的可擴展性、維護性和絕對簡潔的結構與表現相分離。CSS3的確能讓我們可快速更方便的定位幾乎所有沒有ID和class屬性的頁面元素。

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