Polymer 如何使用web组件修改标准HTML元素?

Polymer 如何使用web组件修改标准HTML元素?,polymer,web-component,Polymer,Web Component,我已经阅读了如何创建自己的web组件,这些组件可以被分配自定义属性和封装在ShadowDOM中的标记。但是如何修改已经注册的标准HTML元素呢 我注意到这样做是因为可以向标准HTML元素添加flex和layout等属性 <div horizontal layout> <div>Alpha</div> <div flex>Beta (flex)</div> <div>Gamma</div>

我已经阅读了如何创建自己的web组件,这些组件可以被分配自定义属性和封装在ShadowDOM中的标记。但是如何修改已经注册的标准HTML元素呢

我注意到这样做是因为可以向标准HTML元素添加flex和layout等属性

<div horizontal layout>
    <div>Alpha</div>
    <div flex>Beta (flex)</div>
    <div>Gamma</div>
</div>

阿尔法
测试版(flex)
伽马射线

我已经看过了,但是我找不到任何解释如何做到这一点的东西。

对于polymer的布局属性,这些纯粹是css挂钩:。我想你也在要求功能性/装饰性。自定义元素没有这个概念,但是您可以创建一个脱离您定义的自定义属性的元素

例如,核心标题面板知道如何处理具有
main
属性的子元素:

<core-header-panel>
  ...
  <div main>Main content</div>
</core-header-panel>

...
主要内容

啊,好的,所以我甚至没有接触过标准的HTML元素。他们只是为样式挂钩保留某些属性名称。如果我想更改/添加标准HTML元素的功能,你是说唯一的方法是将它们嵌套在自定义元素中吗?不一定。你只需要构建你的应用程序就可以了解这些属性。自定义元素使这变得更容易,因为它们可以在组件中包含逻辑。我们在Polymer中使用属性(而不是类)的原因是因为我们得到了属性观察(例如,
更改的
)处理程序和样式挂钩…一应俱全:)好的,谢谢,我仍在阅读web组件和Polymer,所以我相信经过一些实践后它会有意义。谢谢