gpt4 book ai didi

javascript - 造型 polymer 纸 slider

转载 作者:技术小花猫 更新时间:2023-10-29 11:36:57 28 4
gpt4 key购买 nike

所以我实际上是用自定义元素包装标准 paper-slider 元素,并希望包含一些样式。以下是我目前拥有的:

<dom-module id="my-slider">
<template>
<style>
/* Works */
paper-slider {
--paper-slider-active-color: red;
--paper-slider-knob-color: red;
--paper-slider-height: 3px;
}

/* Doesn't work */
paper-slider #sliderContainer.paper-slider {
margin-left: 0;
}

/* Also doesn't work */
.slider-input {
width: 100px;
}
</style>

<div>
<paper-slider editable$="[[editable]]" disabled$="[[disabled]]" value="{{value}}" min="{{min}}" max="{{max}}"></paper-slider>
</div>
</template>

<script>
Polymer({
is: "my-slider",
properties: {
value: {
type: Number,
value: 0,
reflectToAttribute: true
},
min: {
type: Number,
value: 0
},
max: {
type: Number,
value: 100
},
editable: Boolean,
disabled: Boolean
}
});
</script>
</dom-module>

JSFiddle:https://jsfiddle.net/nhy7f8tt/

定义 paper-slider 使用的变量按预期工作,但当我尝试通过其选择器直接处理其中的任何内容时,它不起作用。

我是 Polymer 的新手,所以这可能是一个非常简单/愚蠢的问题,但我真的很困惑,非常感谢任何帮助!

次要(但相关)的问题是当值为 100 时,可编辑 paper-slider 元素右侧的输入被裁剪。

最佳答案

您可以使用像 ::shadow/deep/ 这样的选择器,但它们已被弃用。如果一个元素不提供钩子(Hook)(CSS 变量和混合),那么你基本上就不走运了。

您可以做的是在 elements GitHub 中创建一个功能请求 repo 以支持额外的选择器。

我已经成功使用的另一个解决方法是添加一个 style module .

var myDomModule = document.createElement('style', 'custom-style');
myDomModule.setAttribute('include', 'mySharedStyleModuleName');
Polymer.dom(sliderElem.root).appendChild(myDomModule);

我希望语法是正确的。我只在 Dart 中使用 Polymer。dom 模块需要是 自定义样式,尽管这通常仅在 Polymer 元素外部使用时才需要。

另见 https://github.com/Polymer/polymer/issues/2681关于我在使用这种方法时遇到的问题。

关于javascript - 造型 polymer 纸 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34650000/

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