網頁設計html5來了,你準備好了嗎
伴隨著 Chrome, Firefox 3.5, Opera, 和
Safar對html5的支持,html5已經像一列暴走的列車接近我們了。這裡是些好的建議幫助你準備過渡到html5.
See what others
have done(首先讓我們看看其他人已經做的吧)
開始準備html5的第一件事情就是先看下別人是使用它的。HTML 5 gallery
演示了一些使用html5的網站。
Now you do it(現在你可以開始了)
你可以先看看這些網站的文章,here(這裡html5 預覽) 和
elsewhere(和其他地方html5doctor), 甚至 read the
specification(讀取html5詳細說明)
但是上面當中文章沒有一個能像使用新的元素那樣讓您領會掌握html5.
通過實際做,你可以知道什麼可以工作,什麼不可以工作。比如我在firefox3.5版本中發現類似article
和section的標籤默認顯示方式是display:inline模式,所以不得不強制設置它們為display:block模式才能像期望的效果顯示。
下面是整理的一些Web Design HTML 5,
XHTML 1.0/1.1, 以及XHTML 5之間的一些關係或者結論吧。
我們所熟知和瞭解的HTML 4.0,它是基於SGML(standard
Generalized markup
language)規則手冊的。
在SGML規則手冊中,元素的書寫並不區分大小寫,你可以有選擇的閉合標籤,標籤屬性的書寫也可以不用引號標記。
XHTML
1.0
和1.1是基於XML的,在xml規則手冊中,所有的標籤和屬性必須用小寫,標籤必須閉合,而且所有的屬性必須用引號括起來。
HTML5定義的標記語言不是基於上面任何一種規則手冊,但是html5可以被寫成要麼是html形式,要麼是xhtml形式。
如果你用html形式書寫標籤的話,你就可以不用區分大小寫,而且標籤可以不用閉合,屬性不用引號,當中可以穿插一些xml的標籤。比如:<img
/><br
/>等。
但是如果你用xhtml書寫標籤的話就必須嚴格遵照規格手冊。
以後xml畢竟是個發展方向,所以我推薦大家使用xhtml5.
使用網站設計xhtml5的時候一定要記住在聲明MIME
類型的時候,一定要用application/xhtml+xml 或者
text/xml。如果有語法錯誤會提示滴哈。
正則表達式
html5擴展了input元素,給它增加了一些新的屬性,比如min max
(主要針對數字類型),html5還提供了一些新的type類型(比如url, email, date,
和time)
如果這些屬性不能滿足你的需求,html5還提供給type為text的input一個pattern的屬性,pattern的值就是和ECMAscript中的正則表達一樣。
這寫表單屬性已經在Safari
and Chrome, 和 Opera中支持。如果你的瀏覽器不支持這些屬性。你可以下載Google’s Web Forms 2
提供。
例子:
<p>Enter a date: <input type="date"
name="day"required="required"title="Use format yyyy-mm-dd"
/></p><p>Enter a US or Canadian Postal Code:<input type="text"
name="postCode"required="required"pattern="([0-9]{5}(-[0-9]{4})?)|([0-9][A-Z][0-9]\s+[A-Z][0-9][A-Z])"title="US:
99999-1234; Canadian: 0A1 B2C" /></p>
Static art with
SVG
html5允許在文檔對像中嵌入SVG (Scalable Vector Graphics)。根據這裡 我們可以知道svG嵌入已經在Firefox,
Safari, 和 Opera 中支持了。如果你用的是firefox3.5可以點擊 這裡SVG 文件
這是一個複雜的SVG文件。這裡還有個簡單地
下面是個例子:
<svg
xmlns:svg="http://www.w3.org/2000/svg"xmlns="http://www.w3.org/2000/svg"viewBox="0
0 200 100"width="200px" height="100px"><circle cx="50" cy="50" r="30"
style="stroke:none; fill:#ff0000;"/><g transform="translate(100, 20)
scale(1.65)"> <polygon points="36 25, 25 36, 11 36, 0 25, 0 11, 11 0, 25
0, 36 11" style="stroke:none; fill:#0000ff;" /></g><rect x="60"
y="20" height="60" width="60" style="stroke:none; fill:#00ff00; fill-opacity:
0.5;"
/></svg>SVG可以用js動態更改。html5提供了更好的解決方案。空白畫布的支持html5令人興奮的特性之一就是支持空白畫布。這一特性Firefox,
Safari, Opera, 和 Chrome都支持。但是ie不支持。你可以用js繪製你需要的畫布。示例代碼:
function
drawSimpleCanvas() { var canvas = document.getElementById("simpleCanvas"); if
(canvas.getContext) { var ctx = canvas.getContext("2d"); ctx.beginPath(); // the
circle ctx.fillStyle = "#ff0000"; ctx.arc(50, 50, 30, 0, 2*Math.PI, true);
ctx.closePath(); ctx.fill(); ctx.save(); // move and resize the octagon
ctx.translate(100, 20); ctx.scale(1.65, 1.65); ctx.fillStyle = "#0000ff";
ctx.beginPath(); ctx.moveTo(36, 25); ctx.lineTo(25, 36); ctx.lineTo(11, 36);
ctx.lineTo(0, 25); ctx.lineTo(0, 11); ctx.lineTo(11, 0); ctx.lineTo(25, 0);
ctx.lineTo(36, 11); ctx.closePath(); ctx.fill(); // restore graphics as they //
were before move and resize ctx.restore(); ctx.fillStyle = "#00ff00";
ctx.globalAlpha = 0.5; ctx.beginPath(); ctx.rect(60, 20, 60, 60);
ctx.closePath(); ctx.fill(); }}
更多關於網頁寄存可以看這裡Canvas tutorial
不要等了趕緊驗證下html5在表單和canvas等的新特性吧
留言列表