好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > HTML5+CSS3應用詳解

HTML5+CSS3應用詳解

熱門標簽:百度地圖標注為什么總是封號 咸陽穩定外呼系統軟件 小朱地圖標注 怎么做百度地圖標注 地圖標注柱狀圖 智能芯電話機器人 四川移動電銷外呼客戶管理系統 臨海地圖標注app 400開頭的電話好申請不

Web設計師可以使用HTML4和CSS2.1完成一些很酷的東西。我們可以在不使用陳舊的基于table布局的基礎上完成文檔邏輯結構并創建內容豐富的網站。我們可以在不使用內聯<font>和<br>標簽的基礎上對網站添加漂亮而細膩的風格樣式。事實上,我們目前的設計能力已經讓我們遠離了那個可怕的瀏覽器戰爭時代、專有協議和那些充滿閃動、滾動和閃爍的丑陋網頁。

雖然我們現在已經普遍使用了HTML4和 CSS2.1,但是我們還可以做得更好!我們可以重組我們代碼的結構并能讓我們的頁面代碼更富有語義化特性。我們可以縮減帶給頁面美麗外觀樣式代碼量并讓他們有更高的可擴展性。現在,HTML5和CSS3正躍躍欲試的等待大家,下面讓我們來看看他們是否真的能讓我們的設計提升到下一個高度吧…

曾經,設計師們經常會跟頻繁使用基于table的沒有任何語義的布局。不過最終還是要感謝像Jeffrey Zeldman和Eric Meyer這樣的思想革新者,聰明的設計師們慢慢的接受了相對更語義化的<div>布局替代了table布局,并且開始調用外部樣式表。但不幸的是,復雜的網頁設計需要大量不同的標簽結構代碼,我們把它叫做“<div>-soup” 綜合癥。也許你很熟悉下面的代碼: <div id="news">


復制代碼
代碼如下:

<div class="section">
<div class="article">
<div class="header">
<h1>Div Soup Demonstration</h1>
<p>Posted on July 11th, 2009</p>
</div>
<div class="content">
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
</div>
<div class="footer">
<p>Tags: HMTL, code, demo</p>
</div>
</div>
<div class="aside">
<div class="header">
<h1>Tangential Information</h1>
</div>
<div class="content">
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
</div>
<div class="footer">
<p>Tags: HMTL, code, demo</p>
</div>
</div>
</div>
</div>

盡管這有些勉強,但上面這個實例還是可以說明使用HTML4對一個復雜的設計進行代碼化后依然過于臃腫(其實xHTML1.1也不過如此)。不過值得激動的是,HTML5解決“<div>-soup” 綜合癥并帶給我們一套新的結構化元素。這些新的HTML5元素富有更細致的語義從而代替了那些毫無語義的<div>標簽,并同時為CSS的調用提供了”自然”的CSS鉤子。

下面是 HTML5的解決方案實例: <section>


復制代碼
代碼如下:

<section>
<article>
<header>
<h1>Div Soup Demonstration</h1>
<p>Posted on July 11th, 2009</p>
</header>
<section>
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
</section>
<footer>
<p>Tags: HMTL, code, demo</p>
</footer>
</article>
<aside>
<header>
<h1>Tangential Information</h1>
</header>
<section>
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
<p>Lorem ipsum text blah blah blah.</p>
</section>
<footer>
<p>Tags: HMTL, code, demo</p>
</footer>
</aside>
</section>
</section>

正如我們所見,HTML5可以讓我們用很多更語義化的結構化代碼標簽代替那些大量的無意義的<div>標簽。這種語義化的特性不僅提升了我們網頁的質量和語義,并且大量減少了曾經代碼中用于CSS必須調用的class和id屬性。事實上,CSS3也是可以然通過我們忽略掉所有class和id 的。

跟class屬性說再見,歡迎整潔的標簽  

      結合了富有新的語義化標記的HTML5,CSS3為web設計師們的網頁提供了神一般的力量。有了HTML5的能量,我們將得到更多的對文檔代碼的控制權,有了CSS3的能量,我們的控制權將趨于無窮大!

  即使沒有那些高級的CSS選擇器,我們仍然可以通過強大的HTML5條調用不同的容器而不勞駕class和id這類屬性。像以往的DIV布局,我們在css中可能要這樣調用: div#news    {}


復制代碼
代碼如下:

div.section {}
div.article {}
div.header {}
div.content {}
div.footer {}
div.aside {}

我們再來看看基于HTML5的實例: section {}


復制代碼
代碼如下:

article {}
header {}
footer {}
aside {}

這是個進步,但仍有一些問題需要解決。在<div>實例中,我們需要通過class或id屬性來調用頁面中的元素。這種邏輯將允許我們將樣式應用到文檔中的任何一個元素上,無論是整體還是個體。例如在<div>實例中,.section 和 .content元素很容易定位。但是在HTML5實例中,實際文檔中會有很多個section元素。其實我們可以添加一些特定的屬性選擇器來調用那些不同的section元素,不過謝天謝地,我沒現在可以用少量的高級CSS選擇器來定位不同的section元素。

不使用class和id定位HTML-5元素

  下面讓我們來看看如何在不使用class和id的情況下定位HTML5頁面元素的一個實例,我們可以使用三種CSS選擇器來定位和辨別實例中的元素。如下:

      后代選擇器:[CSS 2.1]: EF
      兄弟選擇器:[CSS 2.1]: E + F
      子元素選擇器:[CSS 2.1]: E > F

      下面讓我們來看看如何不使用class和id而完成對文檔中的那些section元素的定位吧:

定位最外層的<section>元素

  考慮到我們的例子并不是一套完整的HTML5代碼,所以我們假定在<body>元素下有個<nav>元素與<section>元素是兄弟元素。這樣的話,我們就可以向下面代碼那樣定位最外層的
<section>了:


復制代碼
代碼如下:

body nav+section {}

定位下一個<section>元素

作為最外層<section>元素下的唯一直屬子集元素,這個<section>元素也許可以這樣定位:


復制代碼
代碼如下:

section>section {}

定位<article>元素

可以定位<article>元素的方法有很多,不過最簡單的方法當然就是后代選擇器了:


復制代碼
代碼如下:

section section article {}

定位<header>、<section> 和<footer>元素

這三個元素分別在兩個地方都出現過,一是在<article>元素中出現,另一是在<aside>元素中出現。這種差別能讓我們輕松定位每個元素。


復制代碼
代碼如下:

article header {}
article section {}
article footer {}

或者一起定義:


復制代碼
代碼如下:

section section header {}
section section section {}
section section footer {}

到目前為止,我們已經使用CSS2.1選擇器排除掉了所有的class和id。那么我們為什么還需要使用CSS3 呢?我很高興你能這么問…

使用CSS3對HTML5元素進行高級定位

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

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

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


復制代碼
代碼如下:

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

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


復制代碼
代碼如下:

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”選擇器了:


復制代碼
代碼如下:

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

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


復制代碼
代碼如下:

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

使用更多的方式選擇指定元素

  另一種選擇HTML5中指定元素(如 header、section和footer)的方法就是利用”:only-of-type”選擇器的優勢。由于這些HTML5元素通常會在很多地方出現不止一次,所以當我們想定位那種在父元素下僅出現過一次的標簽時這種方法很方便。例如,我們要選擇的是在某元素中有切僅有的唯一一個元素,如以下代碼:


復制代碼
代碼如下:

<section>
<section></section>
<section>
<section>定位這個section元素</section>
</section>
<section>
<section>定位這個section元素</section>
</section>
<section>
<section>但不定位這個section元素</section>
<section>和這個section元素</section>
</section>
<section></section>
</section>

我們可以僅使用以下一行選擇器:


復制代碼
代碼如下:

section>section:only-of-type {}

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

總結

  我相信隨著時間的推進和更多瀏覽器的支持,HTML5和CSS3將越來越受歡迎,它們將為web設計師們帶來更無窮的能量,讓我們的web前端更上一個臺階。(文/鬼武者)

標簽:黃石 平涼 陜西 南平 山南 黃石 公主嶺 平頂山

巨人網絡通訊聲明:本文標題《HTML5+CSS3應用詳解》,本文關鍵詞  HTML5+CSS3,應用,詳解,HTML5+CSS3,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5+CSS3應用詳解》相關的同類信息!
  • 本頁收集關于HTML5+CSS3應用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 巴西大肥**毛茸茸| 久久久久精品人妻一区二区三区| 美女扒开内裤狂揉下部的动态 | 亚洲精品国产剧情久久9191| 一级戒备观看在线观看| 干干人人| 精品国产乱码一区二区三区麻豆| 神里凌华被调教成肉奴小说| 《漂亮的女邻居》韩国电影| 女教师~淫辱の教室电影在线观看 | 艹逼app| 91在无码精品秘?虎视| 亚洲成熟女人毛??| 国产精品亚洲综合色拍| 日韩性生活视频| 国产亲子伦一级A片| 亚洲 成 人 导航| 美女又xx又xx免费| 久草水蜜桃| 强行扒开双腿猛烈进入免费版| 日韩精品无码一级A片-百度贴吧| 男人扒开腿女人猛戳视频| 无内女秘书| 白丝美女被羞羞视频| 无码精品人妻一区二区三区拉屎| yw尤物视频| japanesemilk奶水| 丝袜老片dorcelclub| 一级毛片免费下载观看| 成 人 a v天堂| 国产三级电影网址| 混乱的多p交换小说| 两根太满了嗯啊夹到喷了漫画免费| 97国产大学生情侣酒店| 美女曰逼视频| 色老头免费视频精品三区| 好吊看视频| 91无码亚洲精品无码专区在线| 好爽毛片一区二区三区色欲| 国模冰冰炮图| 遵化市|