Skip to content

Flex 弹性布局


基于 Flex Box 布局封装的组件,可以帮助使用者方便、快捷的构建弹性布局

使用指南

如果已经全局引入了 taro-ui 的样式文件,则无需再次引入

由于 app.js 添加的样式文件 在小程序上只能影响 page 样式,不能影响 component 的样式,所以在使用自定义组件时,你可能需要再次引入

组件依赖的样式文件(仅按需引用时需要)

scss
@import "~taro-ui/dist/style/components/flex.scss";

一般用法

html
<View className='at-row'>
  <View className='at-col'>A</View>
  <View className='at-col'>B</View>
  <View className='at-col'>C</View>
</View>

使用栅格化(长度)

html
<View className='at-row'>
  <View className='at-col at-col-3'>A</View>
  <View className='at-col at-col-6'>B</View>
  <View className='at-col at-col-2'>C</View>
  <View className='at-col at-col-1'>D</View>
</View>

使用栅格化(偏移)

html
<View className='at-row'>
  <View className='at-col at-col__offset-2'>
    A
  </View>
  <View className='at-col at-col__offset-3'>
    B
  </View>
  <View className='at-col'>C</View>
</View>

超出换行

html
<View className='at-row at-row--wrap'>
  <View className='at-col at-col-4'>A</View>
  <View className='at-col at-col-4'>B</View>
  <View className='at-col at-col-4'>C</View>
  <View className='at-col at-col-4'>D</View>
  <View className='at-col at-col-4'>E</View>
</View>

宽度根据内容撑开

html
<View className='at-row'>
  <View className='at-col at-col-1 at-col--auto'>
    被内容撑开
  </View>
  <View className='at-col'>B</View>
</View>

内容自动换行

html
<View className='at-row'>
  <View className='at-col at-col-1 at-col--wrap'>
    内容自动换行
  </View>
  <View className='at-col'>B</View>
</View>

侧轴方向的对齐方式

html
<View className='at-row'>
  <View style='height:100px' className='at-col'>A</View>
  <View className='at-col'>默认对齐方式 -- stretch</View>
</View>
<View className='at-row at-row__align--start'>
  <View style='height:100px' className='at-col'>B</View>
  <View className='at-col'>顶部对齐 -- start</View>
</View>
<View className='at-row at-row__align--center'>
  <View style='height:100px' className='at-col'>C</View>
  <View className='at-col'>居中对齐 -- center</View>
</View>
<View className='at-row at-row__align--end'>
  <View style='height:100px' className='at-col'>D</View>
  <View className='at-col'>底部对齐 -- end</View>
</View>

主轴方向的排列方式

html
<View className='at-row'>
  <View className='at-col at-col-5'>默认</View>
  <View className='at-col at-col-5'>Start</View>
</View>
<View className='at-row at-row__justify--end'>
  <View className='at-col at-col-5'>底部排列</View>
  <View className='at-col at-col-5'>End</View>
</View>
<View className='at-row at-row__justify--center'>
  <View className='at-col at-col-5'>居中排列</View>
  <View className='at-col at-col-5'>Center</View>
</View>
<View className='at-row at-row__justify--between'>
  <View className='at-col at-col-5'>左右排列</View>
  <View className='at-col at-col-5'>Between</View>
</View>
<View className='at-row at-row__justify--around'>
  <View className='at-col at-col-5'>平均排列</View>
  <View className='at-col at-col-5'>Around</View>
</View>

Released under the MIT License.