---
title: 布局
date: 2023-05-28 10:34:38
permalink: /pages/basics/layout
article: false
---
## Flex布局
父级容器的 `class` 需要加入 `flex`
### 固定尺寸
> css
```css
.basis-xs 所占比例 20%
.basis-sm 所占比例 40%
.basis-sub 所占比例 50%
.basis-lg 所占比例 60%
.basis-xl 所占比例 80%
```
> 演示代码
```vue
xs(20%)
sm(40%)
sub(50%)
lg(60%)
xl(80%)
```
### 比例布局
> css
```css
.flex-sub 所占比例 1
.flex-twice 所占比例 2
.flex-treble 所占比例 3
```
> 演示代码
```vue
1
1
1
2
1
2
3
```
### 水平对齐
父容器的 class 中加入 `justify-start|end|center|between|around`
> css
```css
.justify-start 对齐方式 从行首开始排列
.justify-end 对齐方式 从行尾开始排列
.justify-center 对齐方式 居中排列
.justify-between 对齐方式 均匀排列每个元素,首个元素放置于起点,末尾元素放置于终点
.justify-around 对齐方式 均匀排列每个元素,每个元素之间的间隔相等
```
> 演示代码
```vue
start
start
end
end
center
center
between
between
around
around
```
### 垂直对齐
父容器的 class 中加入 `align-start|end|center`
> css
```css
.align-start 对齐方式 元素位于容器的开头,弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
.align-end 对齐方式 元素位于容器的结尾,弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
.align-center 对齐方式 元素位于容器的中心,弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
```
> 演示代码
```vue
ColorUi
start
ColorUi
end
ColorUi
center
```
## Grid布局
### 等分列
class 加入 `grid col-1|2|3|...`
> 演示代码
```vue
{{indexs+1}}
```
### 等高
在 class 中加入 `grid col-4|5|... grid-square`
```vue
```
## 辅助布局
### 浮动
在 class 加入 `fl|fr`,在父容器 class 加入 `cf`
> 演示代码
```vue
ColorUi fl
ColorUi fr
```
### 内外边距
`size=xs|sm|默认|lg|xl`,属性后面没有跟上 size 就是默认
| 属性 | 值 |
| ---- | :--- |
| xs | `10upx` |
| sm | `20upx` |
| 默认 | `30upx` |
| lg | `40upx` |
| xl | `50upx` |
| 内容 | css 属性 |
| ---- | :--- |
| 外边距 | `margin-{size}` |
| 内边距 | `padding-{size}` |
| 水平方向外边距 | `margin-lr-{size}` |
| 水平方向内边距 | `padding-lr-{size}` |
| 垂直方向外边距 | `margin-tb-{size}` |
| 垂直方向内边距 | `padding-tb-{size}` |
| 上外边距 | `margin-top-{size}` |
| 上内边距 | `padding-top-{size}` |
| 右外边距 | `margin-right-{size}` |
| 右内边距 | `padding-right-{size}` |
| 下外边距 | `margin-bottom-{size}` |
| 下内边距 | `padding-bottom-{size}` |
| 左外边距 | `margin-left-{size}` |
| 左内边距 | `padding-left-{size}` |