Layout 布局

基于 Flex 栅格化系统,利用 Row 和列 Col 来定义信息区块的外部框架,以保证页面的每个区域能够稳健地排布起来。

import { TaRow, TaCol, TaGroup } from '@/index'

export default function ExpLayout() {
  return (
    <>
      <TaGroup title="基础用法">
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col">col-24</TaCol>
        </TaRow>
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="12">
            col-12
          </TaCol>
          <TaCol className="exp-layout-col" span="12">
            col-12
          </TaCol>
        </TaRow>
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
        </TaRow>
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="6">
            col-6
          </TaCol>
          <TaCol className="exp-layout-col" span="6">
            col-6
          </TaCol>
          <TaCol className="exp-layout-col" span="6">
            col-6
          </TaCol>
          <TaCol className="exp-layout-col" span="6">
            col-6
          </TaCol>
        </TaRow>
      </TaGroup>
      <TaGroup title="区块间隔">
        <TaRow className="exp-layout-row" gutter="10">
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
        </TaRow>
      </TaGroup>
      <TaGroup title="左右偏移">
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="8">
            col-8
          </TaCol>
          <TaCol className="exp-layout-col" span="8" offset="8">
            col-8 offset-8
          </TaCol>
        </TaRow>
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="6" offset="6">
            col-6 offset-6
          </TaCol>
          <TaCol className="exp-layout-col" span="6" offset="6">
            col-6 offset-6
          </TaCol>
        </TaRow>
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="12" offset="6">
            col-12 offset-6
          </TaCol>
        </TaRow>
      </TaGroup>
      <TaGroup title="栅格排序">
        <TaRow className="exp-layout-row">
          <TaCol className="exp-layout-col" span="18" push="6">
            col-18 push-6
          </TaCol>
          <TaCol className="exp-layout-col" span="6" pull="18">
            col-6 pull-18
          </TaCol>
        </TaRow>
      </TaGroup>
      <TaGroup title="水平对齐方式">
        <div className="exp-layout-title">justify: start</div>
        <TaRow className="exp-layout-row" justify="start">
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
        </TaRow>
        <div className="exp-layout-title">justify: center</div>
        <TaRow className="exp-layout-row" justify="center">
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
        </TaRow>
        <div className="exp-layout-title">justify: end</div>
        <TaRow className="exp-layout-row" justify="end">
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
        </TaRow>
        <div className="exp-layout-title">justify: space-around</div>
        <TaRow className="exp-layout-row" justify="space-around">
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
        </TaRow>
        <div className="exp-layout-title">justify: space-between</div>
        <TaRow className="exp-layout-row" justify="space-between">
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col" span="4">
            col-4
          </TaCol>
        </TaRow>
      </TaGroup>
      <TaGroup title="垂直对齐方式">
        <div className="exp-layout-title">align: top</div>
        <TaRow className="exp-layout-row" justify="space-around" align="top">
          <TaCol className="exp-layout-col exp-layout-h-80" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-40" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-100" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-60" span="4">
            col-4
          </TaCol>
        </TaRow>
        <div className="exp-layout-title">align: middle</div>
        <TaRow className="exp-layout-row" justify="space-around" align="middle">
          <TaCol className="exp-layout-col exp-layout-h-80" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-40" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-100" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-60" span="4">
            col-4
          </TaCol>
        </TaRow>
        <div className="exp-layout-title">align: bottom</div>
        <TaRow className="exp-layout-row" justify="space-around" align="bottom">
          <TaCol className="exp-layout-col exp-layout-h-80" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-40" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-100" span="4">
            col-4
          </TaCol>
          <TaCol className="exp-layout-col exp-layout-h-60" span="4">
            col-4
          </TaCol>
        </TaRow>
      </TaGroup>
    </>
  )
}

Import

import { TaRow, TaCol } from 'tantalum-ui-mobile-react'

具体的引入方式可以参考引入组件

Row

Row Props

属性类型默认值必填说明
gutterstring | number | number[]0栅格间隔,通过数值设置水平间隔,也可以通过数组的形式设置水平和垂直间隔 [水平间隔, 垂直间隔]
justifyRowJustify'start'水平排列方式,可选值:'start', 'end', 'center', 'space-around', 'space-between'
alignRowAlign'top'水平排列方式,可选值:'top', 'middle', 'bottom'

Row Slots

<TaRow className="exp-layout-row">
  <TaCol className="exp-layout-col" span="12">
    col-12
  </TaCol>
  <TaCol className="exp-layout-col" span="12">
    col-12
  </TaCol>
</TaRow>

Col

Col Props

属性类型默认值必填说明
spanstring | number24栅格占据的列数,可选 1-24
offsetstring | number0栅格左侧的间隔格数,可选 1-24
pushstring | number0栅格向右移动格数,可选 1-24
pullstring | number0栅格向左移动格数,可选 1-24

Col Slots

<TaCol className="exp-layout-col" span="8">
  col-8
</TaCol>