【发布时间】:2015-10-01 05:37:17
【问题描述】:
以下是聚合物元素示例
<dom-module id="custom-dialog">
<style>
#text{
width: 400px;
height: 50px;
position: relative;
background: #fff;
}
p{
position: absolute;
margin: var(--ui-connectionDialog-text-margin, 5% 30%);
font-size: var(--ui-connectionDialog-text-font-size, 18px);
}
</style>
<template>
<!-- local DOM for your element -->
<div id = "text" > <p><content></content></p> </div>
</template>
</dom-module>
以及使用自定义 css 设置样式的示例
<style>
custom-dialog.connecting
{
--custom-dialog-text-font-size: 23px;
--custom-dialog-text-margin: 3.8% 30%;
}
custom-dialog.disconnected
{
--custom-dialog-text-font-size: 20px;
--custom-dialog-text-margin: 3.8% 30%;
}
</style>
<body>
<custom-dialog class="connecting">Connecting</custom-dialog>
</body>
我可以使用connecting类属性应用自定义css属性,但是当我使用js将自定义元素的类更改为disconnected时,没有应用新的css属性。实际上当class属性改回connecting时,相应的css属性也没有应用。
我怀疑这是由于我的浏览器在 shady-dom 模式下运行的脸,并且在多边形填充中存在间隙。
我很想直接将 css 属性应用到 shady-dom 中的 <p> 元素上,但它想知道是否有适当的方法来处理这个问题。
【问题讨论】: