Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 在图元阴影根样式中应用聚合特性_Css_Polymer 2.x_Shadow Dom - Fatal编程技术网

Css 在图元阴影根样式中应用聚合特性

Css 在图元阴影根样式中应用聚合特性,css,polymer-2.x,shadow-dom,Css,Polymer 2.x,Shadow Dom,所以动态设置样式很容易,我的问题是基于媒体查询中的动态样式,所以在max width:1000px之间,我希望样式设置基于属性或一些计算的JS,比如旋转木马的总宽度(按组件数量) 无论如何,这里有一个代码片段,它不起作用,但显示了我对如何应用属性的想法:-p <link rel="import" href="../../bower_components/polymer/polymer-element.html"> <dom-module id="hello-e

所以动态设置样式很容易,我的问题是基于媒体查询中的动态样式,所以在max width:1000px之间,我希望样式设置基于属性或一些计算的JS,比如旋转木马的总宽度(按组件数量)

无论如何,这里有一个代码片段,它不起作用,但显示了我对如何应用属性的想法:-p

    <link rel="import" href="../../bower_components/polymer/polymer-element.html">

    <dom-module id="hello-eggs">
      <template>
        <style>
          :host {
            display: block;
            background: [[prop2]];
          }

          @media screen and (max-width: 1000px) {
            background: [[prop2]]
          }
        </style>
        <span>[[prop1]] are here</span>
      </template>

      <script>
        /**
        * @customElement
        * @polymer
        */
        class HelloEggs extends Polymer.Element {
          static get is() { return 'hello-eggs'; }
          static get properties() {
            return {
              prop1: {
                type: String,
                value: 'Hello Eggs'
              },
              prop2: {
                type: String,
                value: '#fc0'
              }
            };
          }
        }

        window.customElements.define(HelloEggs.is, HelloEggs);
      </script>
    </dom-module>

:主持人{
显示:块;
背景:[[prop2]];
}
@媒体屏幕和屏幕(最大宽度:1000px){
背景:[[prop2]]
}
[prop1]]你在这里吗
/**
*@customElement
*@聚合物
*/
类HelloEggs扩展了Polymer.Element{
静态get是(){return'hello eggs';}
静态获取属性(){
返回{
建议1:{
类型:字符串,
值:“你好,鸡蛋”
},
提案2:{
类型:字符串,
值:'#fc0'
}
};
}
}
window.customElements.define(HelloEggs.is,HelloEggs);

提前谢谢你

没关系,我找到了一个让我快乐的方法,希望能帮助像我这样的人:-D

基本上,我得到了样式表,并为新的媒体查询插入了一条规则,让我可以设置我想要的内容。我还将宽度更改为500px

    <link rel="import" href="../../bower_components/polymer/polymer-element.html">

    <dom-module id="hello-eggs">
      <template>
        <style>
          :host {
            display: block;
            background: #eee;
            margin-bottom: 10px;
          }
        </style>
        <span>[[prop1]] are here</span>
      </template>

      <script>
        /**
        * @customElement
        * @polymer
        */
        class HelloEggs extends Polymer.Element {
          static get is() { return 'hello-eggs'; }
          static get properties() {
            return {
              prop1: {
                type: String,
                value: 'Hello Eggs'
              },
              prop2: {
                type: String,
                value: '#fc0'
              }
            };
          }

          connectedCallback() {
            super.connectedCallback();

            let sheet = this.shadowRoot.styleSheets[0];
            sheet.insertRule(`@media screen and (max-width: 500px) { span { background: ${this.prop2}; } }`, 1);
          }
        }

        window.customElements.define(HelloEggs.is, HelloEggs);
      </script>
    </dom-module>

:主持人{
显示:块;
背景:#eee;
边缘底部:10px;
}
[prop1]]你在这里吗
/**
*@customElement
*@聚合物
*/
类HelloEggs扩展了Polymer.Element{
静态get是(){return'hello eggs';}
静态获取属性(){
返回{
建议1:{
类型:字符串,
值:“你好,鸡蛋”
},
提案2:{
类型:字符串,
值:'#fc0'
}
};
}
connectedCallback(){
super.connectedCallback();
let sheet=this.shadowRoot.styleSheets[0];
sheet.insertRule(`@media screen and(最大宽度:500px){span{background:${this.prop2};}}}}`,1);
}
}
window.customElements.define(HelloEggs.is,HelloEggs);
我仍然认为能够在极端情况下将属性放在styles区域是很好的,但是如果我使用insertRule应用所有样式,这仍然会给我带来这些,insertRule对于宽度和高度等都很好