【问题标题】:Iron flex layout: not getting the proper layoutIron flex 布局:没有得到正确的布局
【发布时间】:2018-02-10 09:19:57
【问题描述】:

我正在使用 Iron flex 布局 https://www.webcomponents.org/element/PolymerElements/iron-flex-layout 我想像仪表板视图一样对齐我的 div 但我无法对齐框,我使用的是此处提到的布局标准https://github.com/PolymerElements/iron-flex-layout/blob/master/iron-flex-layout-classes.html,除了布局内联布局启动之外,没有其他的 Iron flex 样式可用

模板看起来像

 </custom-style>
 <style>

    .layout {
     background-color: #263367;
     padding: 12px;
     margin: 4px;
     height: 300px;
   }
   .layout.center-justified{
     background-color: #289378;
     padding: 12px;
     margin: 4px;
     height: 100px;

 }

   </style>

   <div class="layout inline layout-center-justified" style="height: 154px">
      <div>cross axis start alignment</div>
     </div>

   <div class="layout inline layout-start" style="height: 74px width:24px">
     <div>cross axis start alignment</div>
   </div>

    <div class="layout inline layout-start" style="height: 154px">
   <div>cross axis start alignment</div>
   </div>

  <div class="layout inline layout-start" style="height: 154px">
  <div>cross axis start alignment</div>
 </div>

  <div class="layout inline layout-start" style="height: 154px">
     <div>cross axis start alignment</div>
  </div>

当我使用布局内联 layout-center-justified 时,div 不显示

 <div class="layout inline layout-center-justified" style="height: 154px">
      <div>cross axis start alignment</div>
     </div>

谁能指导我如何设置以下框的样式 以便它可以根据我的要求来,我应该如何使用https://github.com/PolymerElements/iron-flex-layout/blob/master/iron-flex-layout-classes.html以便我可以使用其他布局类?

【问题讨论】:

    标签: css flexbox polymer-1.0


    【解决方案1】:

    要使用iron-flex-layout,请务必阅读本指南:https://elements.polymer-project.org/guides/flex-layout

    要使用布局类,请导入 iron-flex-layout-classes 文件。您必须在使用任何iron-flex-layout 样式的任何元素中执行以下操作:

    • 导入文件

      &lt;link rel="import" href="bower_components/iron-flex-layout/iron-flex-layout-classes.html"&gt;

    • 包含style中的模块

      <style include="iron-flex iron-flex-alignment">
      

    如果你想了解 CSS 的基础知识flexboxclick here

    对于您的问题,您至少需要一个弹性容器。

    这是使用 flex 容器的更新代码:

    <template>
        <style include="iron-flex iron-flex-alignment">
    
          .inline {
            background-color: #263367;
            padding: 12px;
            margin: 4px;
            /*height: 300px;*/
            border: 1px solid black;
    
          }
    
          .layout-center-justified {
            background-color: #289378;
            padding: 12px;
            margin: 4px;
            /*height: 100px;*/
          }
        </style>
    
    
        <div class="vertical layout">
          <div class="horizontal layout justified">
            <div class="layout inline layout-center-justified" style="height: 154px">
              <div>cross axis start alignment</div>
            </div>
    
            <div class="layout flex inline layout-start" style="height: 74px width:24px">
              <div>cross axis start alignment</div>
            </div>
          </div>
          <div class="horizontal layout justified">
            <div class="layout inline layout-start" style="height: 154px">
              <div>cross axis start alignment</div>
            </div>
    
            <div class="layout inline layout-start" style="height: 154px">
              <div>cross axis start alignment</div>
            </div>
    
            <div class="layout inline layout-start" style="height: 154px">
              <div>cross axis start alignment</div>
            </div>
          </div>
        </div>
    </template>
    

    查看demo here

    【讨论】:

    • 我试图修改布局,以便它可以根据上面的图像对齐我已经编辑了图像,我使用了 flex-stretch 但我无法将右上框向下拉伸,你能检查一次吗plnkr.co/edit/…
    • 我快到了plnkr.co/edit/…,但左框和右框之间有很多空间
    • 您为两个孩子使用class='flex',因此他们共享相等的空间。在您的情况下,您可以仅将它用于一门课程或不使用它。尝试删除它并查看更改。
    • 我已经删除了 flex 类,但是如果我拉伸屏幕,左边的盒子会被拉伸,但我希望右边的盒子被拉伸plnkr.co/edit/…
    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 2020-09-16
    • 2012-03-09
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多