🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 组件是 Web 开发的方向,现在的热点是 JavaScript 组件,但是 HTML 组件未来可能更有希望。自定义元素(custom elements)就是HTML组件技术; 我们一般都使用标准的 HTML 元素。 ``` <p>Hello World</p> ``` 上面代码中,<p>就是标准的 HTML 元素。 如果使用非标准的自定义元素,会有什么结果? ``` <greeting>Hello World</greeting> ``` 上面代码中,<greeting>就是非标准元素,浏览器不认识它。这段代码的运行结果是,浏览器照常显示Hello World,这说明浏览器并没有过滤这个元素。 浏览器对待自定义元素,就像对待标准元素一样,只是没有默认的样式和行为。这种处理方式是写入 HTML5 标准的。 事实上,浏览器提供了一个`HTMLUnknownElement`对象,所有自定义元素都是该对象的实例; 有了自定义元素,就可以写出语义性非常好的 HTML 代码。 ## 二、规范 自定义元素的名字必须包含一个破折号(`-`)所以`<x-tags>`、`<my-element>`和`<my-awesome-app>`都是正确的名字,而`<tabs>`和`<foo_bar>`是不正确的。这样的限制使得 HTML 解析器可以分辨那些是标准元素,哪些是自定义元素。