- 原文地址: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">
复制代码