- 原文地址:bitsofco.de/whats-new-i…
- 原文做者:Ire Aderinokun
不到一個月前,HTML 5.2 成爲 W3C 官方推薦標準 (REC) 。當規範達到 REC 階段時,這標誌着它已經獲得 W3C 成員和主管的正式承認,W3C 正式建議由用戶代理部署規範,由 Web 開發者實現規範。
在 REC 階段,任何新事物都應該至少有兩個獨立的實現。做爲 Web 開發者,如今正是開始實踐新特性的好時機。
在HTML 5.2 中,有許多添加和刪除,全部這些均可以在官方的HTML 5.2 更改頁面上看到。在本文中,我將回顧一些我認爲對個人開發影響最大的更改。
html
<dialog>
<h2>Dialog Title</h2>
<p>Dialog content and other stuff will go here</p>
</dialog>
複製代碼
默認狀況下,這個彈框在視覺上是看不到的,除非使用open這個屬性瀏覽器
<dialog open>
複製代碼
Open
屬性能夠經過調用show()
和close()
方法來切換,任何HTMLDialogElement
均可以使用這些方法。bash
<button id="open">Open Dialog</button>
<button id="close">Close Dialog</button>
<dialog id="dialog">
<h2>Dialog Title</h2>
<p>Dialog content and other stuff will go here</p>
</dialog>
<script>
const dialog = document.getElementById("dialog");
document.getElementById("open").addEventListener("click", () => {
dialog.show();
});
document.getElementById("close").addEventListener("click", () => {
dialog.close();
});
</script>
複製代碼
Dialog 元素被 Chrome 瀏覽器支持,Firefox 瀏覽器也開始標記了。
app
<iframe allowpaymentrequest>
複製代碼
<link rel="icon" sizes="16x16" href="path/to/icon16.png">
<link rel="icon" sizes="32x32" href="path/to/icon32.png">
複製代碼
儘管這個屬性純粹是建議性質,但它容許用戶在多個大小可用時決定使用哪一個大小的圖標,特別是當大多數設備都有本身不一樣的「最佳」圖標大小。
在 HTML5.2 以前,只有連接關係爲圖標時,Sizes 屬性纔有效。而且,蘋果的 IOS 系統不支持 Sizes 屬性。爲了解決這個問題,蘋果介紹了一種專門命令,apple-touch-icon,能夠用來定義在他們設備上使用的圖標。
在HTML5.2 中,若是是 apple-touch-icon,如今是容許使用 Sizes 屬性,不在僅限於 icon。這就容許咱們對不一樣的蘋果設備提供不一樣尺寸的圖標。儘管蘋果設備不能直接支持 Sizes 屬性,這個改變對於將來是很是有用的。
組件化
<main>...</main>
<main hidden>...</main>
<main hidden>...</main>
複製代碼
衆所周知,CSS 中有不少方式隱藏元素。可是多餘的 Main 元素必須使用 Hidden 元素隱藏。其它隱藏方法,好比:display:none;
或者visibility:hidden;
都是無效的。
佈局
<body>
<p>I’m cornflowerblue!</p>
<style>
p { color: cornflowerblue; }
</style>
<p>I’m cornflowerblue!</p>
</body>
複製代碼
然而,在性能方面,仍須要注意 Style 仍是放在<head>裏比較好。根據如下規範,性能
最好在文檔的頭部使用樣式元素。在文檔主體中使用樣式可能會致使從新設計樣式、觸發佈局和/或再次生效,所以應該謹慎使用。
網站
還應該注意的是,如示例所示,樣式沒有限定範圍。在 HTML 文檔中定義的內聯樣式仍然適用於在它以前定義的元素,這就是它可能觸發再次生效的緣由。ui
<fieldset>
<legend><h2>Basic Information</h2></legend>
<!-- Form fields for basic information -->
</fieldset>
<fieldset>
<legend><h2>Contact Information</h2></legend>
<!-- Form fields for contact information -->
</fieldset>
複製代碼
當咱們但願使用<fieldset>元素對錶單的不一樣部分進行分組時,這很是有用。像這個例子同樣,使用標題是頗有意義的,這將使依賴於文檔大綱的用戶更容易瀏覽這些表單部分。spa
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
複製代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
複製代碼