:host 样式无效
:host styles have no effect
我有一个 wokring 应用程序,在使用 Polymer 5.5 构建的自定义元素上有一些 :host 样式。现在,我将其转换为 Polymer 1.0,但 运行 变成了这个奇怪的问题:
不应用使用 :host 定义的样式。出于测试目的,我直接从文档中获取示例:
<dom-element id="my-element">
<style>
:host {
display: block;
border: 1px solid red;
}
#child-element {
background: yellow;
}
</style>
<template>
<div id="child-element">In local DOM!</div>
<content></content>
</template>
<script>
Polymer({
is: 'my-element'
});
</script>
</dom-element>
当我渲染时(最新 chrome)它确实有黄色背景但没有 1px 红色边框,它应该有。
知道这里发生了什么吗?没有js警告或其他线索...
您应该使用 dom-module
而不是 dom-element
:
<dom-module id="my-element">
<style>
:host {
display: block;
border: 1px solid red;
}
#child-element {
background: yellow;
}
</style>
<template>
<div id="child-element">In local DOM!</div>
<content></content>
</template>
<script>
Polymer({
is: 'my-element'
});
</script>
</dom-module>
我有一个 wokring 应用程序,在使用 Polymer 5.5 构建的自定义元素上有一些 :host 样式。现在,我将其转换为 Polymer 1.0,但 运行 变成了这个奇怪的问题:
不应用使用 :host 定义的样式。出于测试目的,我直接从文档中获取示例:
<dom-element id="my-element">
<style>
:host {
display: block;
border: 1px solid red;
}
#child-element {
background: yellow;
}
</style>
<template>
<div id="child-element">In local DOM!</div>
<content></content>
</template>
<script>
Polymer({
is: 'my-element'
});
</script>
</dom-element>
当我渲染时(最新 chrome)它确实有黄色背景但没有 1px 红色边框,它应该有。
知道这里发生了什么吗?没有js警告或其他线索...
您应该使用 dom-module
而不是 dom-element
:
<dom-module id="my-element">
<style>
:host {
display: block;
border: 1px solid red;
}
#child-element {
background: yellow;
}
</style>
<template>
<div id="child-element">In local DOM!</div>
<content></content>
</template>
<script>
Polymer({
is: 'my-element'
});
</script>
</dom-module>