目录

栅格

优质
小牛编辑
126浏览
2023-12-01

Framework7 有灵活的布局网格,允许你按需求放置内容:

<!-- Each "cells" row should be wrapped with div class="row" -->
<div class="row">
    <!-- Each "cell" has col-[widht in percents] class -->
    <div class="col-50">50%</div>
    <div class="col-50">50%</div>
</div>   
<div class="row">
    <!-- Each "cell" has col-[widht in percents] class -->
    <div class="col-33">33%</div>
    <div class="col-33">33%</div>
    <div class="col-33">33%</div>
</div>

默认所有的“单元格”之间有15px的间距,如果你希望“单元格”之间没有间距,你应该在"row"后添加 "no-gutter" 类 :

<!-- Additional "no-gutter" class on row to remove space between cells -->
<div class="row no-gutter">
    <!-- Each "cell" has col-[widht in percents] class -->
    <div class="col-50">50%</div>
    <div class="col-50">50%</div>
</div>   
<div class="row">
    <!-- Each "cell" has col-[widht in percents] class -->
    <div class="col-33">33%</div>
    <div class="col-33">33%</div>
    <div class="col-33">33%</div>
</div>

以下尺寸是可供选择的:

Class Tablet Class
When window width >= 768px
Width
col-5 tablet-5 5%
col-10 tablet-10 10%
col-15 tablet-15 15%
col-20 tablet-20 20%
col-25 tablet-25 25%
col-33 tablet-33 33.333333333333336%
col-40 tablet-40 40%
col-50 tablet-50 50%
col-60 tablet-60 60%
col-66 tablet-66 66.66666666666666%
col-75 tablet-75 75%
col-80 tablet-80 80%
col-85 tablet-85 85%
col-90 tablet-90 90%
col-95 tablet-95 95%
col-100 tablet-100 100%
col-auto tablet-auto Equal width

用法示例

默认情况下表格列(单元)没有任何视觉样式,我们将他们添加到这个demo里:

div[class*="col-"] {
  background: #fff;
  text-align: center;
  color: #000;
  border: 1px solid #ddd;
  padding: 5px;
}
.row {
  margin-bottom: 15px;
}          
<body>
  ...
  <div class="page-content">
    <div class="content-block-title">Columns with gutter</div>
    <div class="content-block">
      <div class="row">
        <div class="col-50">50%</div>
        <div class="col-50">50%</div>
      </div>
      <div class="row">
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
      </div>
      <div class="row">
        <div class="col-33">33%</div>
        <div class="col-33">33%</div>
        <div class="col-33">33%</div>
      </div>
      <div class="row">
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
      </div>
      <div class="row">
        <div class="col-33">33%</div>
        <div class="col-66">66%</div>
      </div>
      <div class="row">
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
        <div class="col-50">50%</div>
      </div>
      <div class="row">
        <div class="col-75">75%</div>
        <div class="col-25">25%</div>
      </div>
      <div class="row">
        <div class="col-80">80%</div>
        <div class="col-20">20%</div>
      </div>
    </div>
    <div class="content-block-title">No gutter between columns</div>
    <div class="content-block">
      <div class="row no-gutter">
        <div class="col-50">50%</div>
        <div class="col-50">50%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-33">33%</div>
        <div class="col-33">33%</div>
        <div class="col-33">33%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
        <div class="col-20">20%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-33">33%</div>
        <div class="col-66">66%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-25">25%</div>
        <div class="col-25">25%</div>
        <div class="col-50">50%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-75">75%</div>
        <div class="col-25">25%</div>
      </div>
      <div class="row no-gutter">
        <div class="col-80">80%</div>
        <div class="col-20">20%</div>
      </div>
    </div>
 
    <div class="content-block-title">Nested</div>
    <div class="content-block">
      <div class="row">
        <div class="col-50">50%
<div class="row">
  <div class="col-50">50%</div>
  <div class="col-50">50%</div>
</div>
        </div>
        <div class="col-50">50%
<div class="row">
  <div class="col-33">33%</div>
  <div class="col-66">66%</div>
</div>
        </div>
      </div>
    </div>
  </div>
 
  <div class="content-block-title">Responsive Grid</div>
  <div class="content-block">
    <p>Grid cells have different size on Phone/Tablet</p>
    <div class="row">
      <div class="col-100 tablet-50">.col-100.tablet-50</div>
      <div class="col-100 tablet-50">.col-100.tablet-50</div>
    </div>
    <div class="row">
      <div class="col-50 tablet-25">.col-50.tablet-25</div>
      <div class="col-50 tablet-25">.col-50.tablet-25</div>
      <div class="col-50 tablet-25">.col-50.tablet-25</div>
      <div class="col-50 tablet-25">.col-50.tablet-25</div>
    </div>
    <div class="row">
      <div class="col-100 tablet-40">.col-100.tablet-40</div>
      <div class="col-50 tablet-60">.col-50.tablet-60</div>
      <div class="col-50 tablet-66">.col-50.tablet-66</div>
      <div class="col-100 tablet-33">.col-100.tablet-33</div>
    </div>
  </div>          
 
  <div class="content-block-title">COLUMNS WITH EQUAL WIDTH</div>
  <div class="content-block">
    <div class="row">
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
    </div>
    <div class="row">
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
    </div>
    <div class="row">
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
    </div>
    <div class="row no-gutter">
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
      <div class="col-auto">.col-auto</div>
    </div>
  </div>          
  ...
</body>