最新的规范在这里: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. PHP PDO prepare()、execute()和bindParam()方法详解

    每次将查询发送给MySQL服务器时,都必须解析该查询的语法,确保结构正确并能够执行.这是这个过程中必要的步骤,但也确实带来了一些开销.做一次是必要的,但如果反复地执行相同的查询,批量插入多行并只改变列 ...

  2. 【Python编程:从入门到实践】chapter9 类

    chapter9 类 9.1 创建和使用类 9.1.1 创建Dog类 class Dog(): """一次模拟小狗的简单尝试""" def ...

  3. TensorFlow相关的一些技巧

    谷歌开发技术推广工程师 Laurence Moroney 在 Google Cloud Next 大会上进行了一段 42 分钟的演讲,主题是「What's New with TensorFlow?」. ...

  4. 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...

  5. OpenACC 简单的原子操作

    ▶ OpenACC 的原子操作,用到了 C++ 的一个高精度计时器 ● 代码,直接的原子操作 #include <iostream> #include <cstdlib> #i ...

  6. leetcode933

    public class RecentCounter { Queue<int> Q; public RecentCounter() { Q = new Queue<int>() ...

  7. J2SE 8的脚本

    1. 引擎工厂的属性 引擎 名字 MIME类型 文件扩展 Nashorn nashorn,Nashornjs,JSJavaScript,javascriptECMAScript,mcmascript ...

  8. SQL Server 2005 无法连接到WMI提供程序 无法执行 SQL Server 系统配置检查器

    无法连接到WMI提供程序.你没有权限或者该服务器无法访问/cannot connect to WMI provider. You do not have permission or the--由于计算 ...

  9. shutil模块(高级的文件copy)

    import shutil import os f1 = open('本节笔记.txt', encoding = 'utf-8') f2 = open('笔记2', 'w', encoding = ' ...

  10. python: no module named bz2

    https://stackoverflow.com/questions/8115280/importerror-no-module-named-bz2-for-python-2-7-2 centos6 ...