五、不要使用不必要的type屬性
這是個常見的問題,但并不是一個錯誤,我認為我們應該通過最佳實踐來避免這種風格。
在HTML5中,script和style元素不再需要type屬性。然而這些很可能會被你的CMS自動加上,所以要移除也不是那么的輕松。但如果你是手工編碼或者你完全可以控制你的模板的話,那真的沒有什么理由再去包含type屬性。所有的瀏覽器都認為腳本是javascript而樣式是css樣式,你沒必要再多此一舉了。
<!-- 請不要復制這段代碼!它太冗余了! --> <link type="text/css" rel="stylesheet" href="css/styles.css" /> <script type="text/javascript" src="js/scripts" /></script>
其實只需要這樣寫:
<link rel="stylesheet" href="css/styles.css" /> <script src="js/scripts" /></script>
甚至指定字符集的代碼都可以省略掉。Mark Pilgrim在Dive into HTML5的語義化一章中作出了解釋。
六、form屬性的錯誤使用
HTML5引入了一些form的新屬性,以下是一些使用上的注意事項:
布爾屬性
一些多媒體元素和其他元素也具有布爾屬性。這里所說的規(guī)則也同樣適用。
有一些新的form屬性是布爾型的,意味著它們只要出現(xiàn)在標簽中,就保證了相應的行為已經(jīng)設置。這些屬性包括:
- autofocus
- autocomplete
- required
坦白的說,我很少看到這樣的。以required為例,常見的是下面這種:
<!-- 請不要復制這段代碼! 這是錯的! --> <input type="email" name="email" required="true" /> <!-- 另一個錯誤的例子 --> <input type="email" name="email" required="1" />
嚴格來說,這并沒有大礙。瀏覽器的HTML解析器只要看到required屬性出現(xiàn)在標簽中,那么它的功能就會被應用。但是如果你反過來寫equired=”false”呢?
<!-- 請不要復制這段代碼! 這是錯的! --> <input type="email" name="email" required="false" />
解析器仍然會將required屬性視為有效并執(zhí)行相應的行為,盡管你試著告訴它不要去執(zhí)行了。這顯然不是你想要的。
有三種有效的方式去使用布爾屬性。(后兩種只在xthml中有效)
- required
- required=""
- required="required"
上述例子的正確寫法應該是:
<input type="email" name="email" required />
本文鏈接:http://www.95time.cn/tech/web/2011/8550.asp
出處:163 UED Team
責任編輯:moby
上一頁 避免常見的六種HTML5錯誤用法 [3] 下一頁
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|