Shadow DOM是DOM的新属性, 用于构建组件。 Shadow DOM提供了一种将隐藏的单独DOM附加到元素的方法。
查看一个简单的HTML示例:
<
header-demo>
<
header>
<
h1>
<
button>
在上面的代码中, 标题组件包括页面标题和菜单按钮。
现在查看Shadow DOM的用法。它允许用户在有作用域的子树(称为影子树)中定位子级。
<
header-demo>
#shadow-root<
header>
<
h1>
<
button>
阴影根位于阴影树的顶部, 连接到阴影树的元素称为阴影主机。该影子主机包含一个名为shadowRoot的属性, 该属性指定影子根。
影子DOM和合成如果影子DOM中有一个元素, 则可以通过将< slot> 元素添加到影子树中来渲染该元素的子代。
例如, 对< header-demo> 使用以下阴影树。
<
header>
<
h1>
<
slot>
<
/slot>
<
/h1>
<
button>
Menu<
/button>
<
/header>
【Polymerjs Shadow DOM和样式】将子级添加到< my-header> 元素中, 如下所示:
<
header-demo>
Shadow DOM<
/header-demo>
标头将< / slot> 元素替换为上面指定的子元素, 如下所示:
<
header-demo>
<
header>
<
h1>
Shadow DOM<
/h1>
<
button>
Menu<
/button>
<
/header>
<
/header-demo>
如果没有节点分配给该插槽, 则显示回退内容。
<
my-element>
#shadow-root<
slot id = "myimgicon">
<
img src = "http://www.srcmini.com/img-demo.png">
<
/slot>
<
slot>
<
/slot>
<
my-element>
你可以为元素提供自己的图标, 例如-
<
my-element>
<
img slot = "myimgicon" src = "http://www.srcmini.com/warning.png">
<
my-element>
推荐阅读
- Polymerjs教程介绍
- Polymerjs platinum推送消息
- Polymerjs platinum-bluetooth元素
- 通达2017OA办公系统-热销-全功能无限制源码CRM HR微信钉钉APP
- Android逆向基础
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationContext的区别
- 关于获得安卓外部存储读写权限
- Xamarin Android 监听音量键(下)
- 彻底解析Android缓存机制——LruCache