gpt4 book ai didi

html - 将自定义 CSS 传递给 Polymer 元素

转载 作者:行者123 更新时间:2023-11-28 01:18:30 25 4
gpt4 key购买 nike

我希望能够将 CSS width 传递给我的自定义元素的影子 DOM。

名为 my-list 的自定义元素定义如下:

<dom-module id="my-list">
<style>
#container {
width: var(width, 100%);
}
</style>

<template>
<div id="container">
<content></content>
</div>
</template>

<script>
Polymer({
is: 'my-list'
});
</script>
</dom-module>

它是这样使用的:

<style type="text/css">
.medium {
width: 500px;
}
</style>

<my-list class="medium">
<list-entry>1</list-entry>
<list-entry>2</list-entry>
</my-list>

但是,500px 宽度没有应用;宽度仍然是 100%。

我做错了什么?

最佳答案

CSS变量名需要以--开头

<dom-module id="my-list">
<template>
<style>
#container {
width: var(--my-list-width, 100%);
}
</style>

<div id="container">
<content></content>
</div>
</template>

<script>
Polymer({
is: 'my-list'
});
</script>
</dom-module>

提示:<style>标记应在 <template> 内标签(这在文档中有不同的解释,但后来改变了)。


如果您使用 Polymer 功能,您需要添加 is="custom-style"让 Polymer 知道它需要处理(polyfill)这个样式标签内的样式。

<style is="custom-style" type="text/css">
/* .medium { I think this should work but I fear it doesn't - haven't investigated yet*/
:root { /*this works */
--my-list-width: 500px;
}
</style>

<my-list class="medium">
<list-entry>1</list-entry>
<list-entry>2</list-entry>
</my-list>

关于html - 将自定义 CSS 传递给 Polymer 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34777020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com