使用Polymer应用程序网格布局创建断点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Polymer应用程序网格布局创建断点相关的知识,希望对你有一定的参考价值。

Polymer中的app-grid Element(辅助类)允许创建响应式网格布局。给定的Polymer Example创建一个布局,其中三个列表项水平放置在彼此旁边。

为了使其在较小的屏幕上响应地将网格从3列更改为1,必须声明断点。该文档讨论了在@media规则中定义自定义属性。 (上面的链接)

我无法通过媒体规则来做出改变。我在Polymer中找到了关于@media规则的类似问题,但答案总是指出与铁媒体查询一起使用。既然Polymer文档提到了@media,我相信一定有办法做到这一点。

我尝试使用它,但无法让它工作:

  <style include="app-grid-style">
   :host {
      --app-grid-columns: 3;
      --app-grid-item-height: 200px;
      --app-grid-gutter: 20px;
   }
   @media (max-width: 600px) {
      :host {
         --app-grid-columns: 1;
      }
   }
  </style>
答案

查看demos时,他们总是在调整窗口大小时调用this.updateStyles,以确保正确应用所有自定义属性。

不幸的是,文档中缺少此信息......

  attached: function() {
    this._updateGridStyles = this._updateGridStyles || function() {
      this.updateStyles();
    }.bind(this);
    window.addEventListener('resize', this._updateGridStyles);
  },

  detached: function() {
    window.removeEventListener('resize', this._updateGridStyles);
  }

如果您在主文档中的元素之外使用app-grid,则必须调用Polymer.updateStyles()

以上是关于使用Polymer应用程序网格布局创建断点的主要内容,如果未能解决你的问题,请参考以下文章

如何在kotlin的片段内显示网格视图?

在片段中在运行时更改方向时更改布局而不重新创建视图

Python - 使用网格布局格式化窗口

片段中的网格视图

用于打印的引导网格

SAP UI5 Form 表单的 Responsive Grid Layout 布局中的 breakpoint