天天看點

html5遵循的5個設計原則

[1]避免不必要的複雜性

[2]支援已有的内容

[3]解決現實的問題

[4]内容模型

[5]平穩退化

前面的話

  實際上,html5并不是由w3c直接制定的,w3c的方向是xhtml2,而不是html5。當xhtml2脫離現實,無法付諸實踐時,w3c工作組才将研究方向轉向html5。為什麼xhtml2從未落到實處?因為它違反了一條設計原理,這條設計原理就是著名的伯斯塔爾法則——發送時要保守;接收時要開放。而在html5設計過程中遵循了一系列原則,才使得html5得以快速推廣。本文将介紹html5遵循的5個設計原則

避免不必要的複雜性

  html4

<!DOCTYPE html PUBLIC "-//W3C/DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">      

  html5

<!DOCTYPE html>      
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">      
<meta charset="utf-8">      

支援已有内容

  以下四段代碼,在xhtml中隻有第一段是正确的;而在html5中,所有的都是正确的

<img src="foo" alt="bar" />
<p class="foo">Hello world</p>
 
<img src="foo" alt="bar">
<p class="foo">Hello world
 
<IMG SRC="foo" ALT="bar">
<P CLASS="foo">Hello world</P>
 
<img src=foo alt=bar>
<p class=foo>Hello world</p>      

解決現實的問題

  在html4中,即使兩個塊級元素元素有相同的連結位址,也必須分開寫,因為内聯元素不能包含塊級元素

<h2><a href="/path/to/resource">Headline text</a></h2>
<p><a href="/path/to/resource">Paragraph text.</a></p>      

  而在html5中,由于使用了内容模型,<a>元素也可以包含塊級元素

<a href="/path/to/resource">
    <h2>Headline text</h2>
    <p>Paragraph text.</p>
</a>      

内容模型

  html5新增了多個元素,其中包括:section、article、aside和nav,它們代表了一種新的内容模型——給内容分區。以前人們一直都在用div來組織頁面中的内容,但與其他類似的元素一樣,div本身并沒有語義。但section、article、aside和nav實際上是在明确地告訴你——這一塊就像文檔中的另一個文檔一樣。位于這些元素中的任何内容,都可以擁有自己的概要、标題,自己的腳部。

平穩退化

  浏覽器在遇到不識别的type值時,會将type的值解釋為text

input type="number"
input type="search"
input type="range"
input type="email"
input type="date"
input type="url"      

好的代碼像粥一樣,都是用時間熬出來的