最新的规范在这里:http://w3c.github.io/webcomponents/explainer/

依据规范,有以下四个组成部分:

  • Templates
  • Custom Elements
  • Shadow DOM
  • Imports

Templates

这里引入了一个新的HTML元素,叫做template。该元素的特点是其中的内容虽然会被浏览器解析(规范上这么说),但是并不会被真正的激活,例如脚本不会被执行,图片不会被加载,也不会被渲染到页面上。直到通过脚本把它激活。

这篇文章对template元素的使用有讲解(http://www.html5rocks.com/en/tutorials/webcomponents/template/)。

Custom Elements

可以自定义元素名称和行为,也可以对现有的HTML元素进行扩展。定义的时候首先需要调用registerElement。

Shadow DOM

Shadow DOM提供了一种将展现和内容分离的机制,展现和内容分离这个概念不是很新了,很早以前我们就知道HTML和CSS要各司其职,HTML负责内容,CSS负责展现。但实际上这个分离还不够彻底。为什么呢?因为为了某些展现效果,我们不得不在HTML增加一些辅助的元素,同时配合样式来实现某些效果。这样就不能说HTML是仅仅负责内容了,它还是或多或少为展现服务。Shadow DOM的作用就是将HTML中那些负责展现的部分也提出来放在别的地方,只剩下内容部分保留的HTML中,真正做到分离。具体做法请参考规范。这篇文章也对Shadow DOM有讲解(http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/)。

有个概念还是在这里说一下,普通的HTML元素可以拥有一个叫做shadow root的结点,而有shadow root结点的元素会被称作shadow host。

Imports

提供一种重用HTML文档的方法,通过link标签,制定rel属性为import,可以把一份HTML文档导入进来。通过js可以访问HTML中的DOM元素。

Web Components 规范学习的更多相关文章

  1. web Components 学习之路

    就目前而言,纯粹的Web Components在兼容性方面还有着较为长远的路,这里做个记录总结,以纪念自己最近关于Web Components的学习道路. 参考教材 JavaScript 标准参考教程 ...

  2. 学习web components

    javascript里的两种组件 1 autonomous custom elements 一般extends HTMLElement, 可以通过<popup-info>或doducmen ...

  3. Web Components之Custom Elements

    什么是Web Component? Web Components 包含了多种不同的技术.你可以把Web Components当做是用一系列的Web技术创建的.可重用的用户界面组件的统称.Web Com ...

  4. 【转】Facebook React 和 Web Components(Polymer)对比优势和劣势

    原文转自:http://segmentfault.com/blog/nightire/1190000000753400 译者前言 这是一篇来自 StackOverflow 的问答,提问的人认为 Rea ...

  5. Facebook React 和 Web Components(Polymer)对比优势和劣势

    目录结构 译者前言 Native vs. Compiled 原生语言对决预编译语言 Internal vs. External DSLs 内部与外部 DSLs 的对决 Types of DSLs - ...

  6. Fiori Fundamentals和SAP UI5 Web Components

    这周有位同事邀请我给团队讲一讲SAP技术的演进历史,所以我准备了下面几个主题来介绍. 其中SAP的技术回顾和演进,我的思路就是从前后台两方面分别介绍. 我画了一张非常简单的图: 去年5月我写过一篇文章 ...

  7. Web Components 入门实例教程

    转自阮一峰http://www.ruanyifeng.com/blog/2019/08/web_components.html 组件是前端的发展方向,现在流行的 React 和 Vue 都是组件框架. ...

  8. 【shadow dom入UI】web components思想如何应用于实际项目

    回顾 经过昨天的优化处理([前端优化之拆分CSS]前端三剑客的分分合合),我们在UI一块做了几个关键动作: ① CSS入UI ② CSS作为组件的一个节点而存在,并且会被“格式化”,即选择器带id前缀 ...

  9. Polymer——Web Components的未来

    什么是polymer? polymer由谷歌的Palm webOS团队打造,并在2013 Google I/O大会上推出,旨在实现Web Components,用最少的代码,解除框架间的限制的UI 框 ...

随机推荐

  1. tcp_tw_recycle和tcp_timestamps导致connect失败问题

    把服务里面的net.ipv4.tcp_timestamps这个参数设置为0后已经可以正常telnet通了. 具体设置方法: 在/etc/sysctl.conf  里面加入 net.ipv4.tcp_t ...

  2. (转)RRU交织冗余在LTE-R组网中的应用研究

    RRU交织冗余在LTE-R组网中的应用研究 王 芳1,2 庞萌萌1,2 (1.北京全路通信信号研究设计院集团有限公司,北京 100070; 2.北京市高速铁路运行控制系统工程技术研究中心,北京 100 ...

  3. 如何对hashmap按value值排序

    http://bbs.csdn.net/topics/90321713 这个帖子中没有我想要的答案,treemap是根据key排序的,想以value排序,那么可以key,value互换一下,不过这样的 ...

  4. C_point指针

    1,关于C语言中变量的访问方式,直接访问[使用变量名直接引用,操作变量进行赋值,改变变量值等操作],间接访问--指针,一种指向变量飞, 程序对变如量的读写操作,实际是对变量所在的存储空间进行写入和取出 ...

  5. 42. linux下数据库服务启动

    进到bin目录运行 emctl start dbconsole oracle@suse92:~> sqlplus /nolog SQL*Plus: Release 9.2.0.4.0 - Pro ...

  6. XE 创建 Active Form

    XE6: http://docwiki.embarcadero.com/RADStudio/XE6/en/Generating_an_Active_Form_Based_on_a_VCL_Form h ...

  7. VB6 创建控制台应用程序

    ' 功能:为VB程序创建一个consolewindow.Private Declare Function AllocConsole Lib "kernel32" () As Lon ...

  8. Spring 3.2 事件驱动模型

    事件 @SuppressWarnings("serial") public class CheckEvent extends ApplicationEvent { public C ...

  9. Spring boot Tomcat配置

    来自: https://www.cnblogs.com/a8457013/p/7687764.html

  10. C++Primer笔记-----day07

    ==========================================================================day07===================== ...