Ant Design Vue栅格Grid的使用
作者:互联网
栅格系统的设计理念
建议横向排列的盒子数量最多四个,最少一个。
因此我们的span一般设置为3或者4
小屏幕的话就另当别论了
栅格系统的简单介绍
1.通过row在水平方向建立一组column(简写 col)
你的内容应当放置于col内,并且只有col可以作为row的直接元素。
这个非常重要
<a-row>
<a-col></a-col>
</a-row>
2.栅格系统中的列是指 1 到 24 的值来表示其跨越的范围。
<a-row>
<a-col :span="12">col-12</a-col>
<a-col :span="12">col-12</a-col>
</a-row>
这个表示一行显示2列 24/12=2
3.如果一个row中的col总和超过 24.
那么多余的`col`会作为一个整体另起一行排列
4.栅格化系统支持 Flex 布局
允许子元素在父节点内的水平对齐方式 - 居左、居中、居右、等宽排列、分散排列。
子元素与子元素垂直方向上:支持顶部对齐、垂直居中对齐、底部对齐的方式。
同时,支持使用 order 来定义元素的排列顺序。
栅格系统的简单使用
<template>
<div>
<!-- 每行显示4列 -->
<a-row class="arow-one">
<a-col :span="6" class="left1">col-6</a-col>
<a-col :span="6" class="left2">col-6</a-col>
<a-col :span="6" class="left3">col-6</a-col>
<a-col :span="6" class="left4">col-6</a-col>
</a-row>
<!-- 每行显示2列 -->
<a-row class="arow-one">
<a-col :span="12" class="left12">col-12</a-col>
<a-col :span="12" class="right12">col-12</a-col>
</a-row>
<!-- 每行显示3列 -->
<a-row class="arow-one">
<a-col :span="8" class="left8">col-8</a-col>
<a-col :span="8" class="center8">col-8</a-col>
<a-col :span="8" class="right8">col-8</a-col>
</a-row>
<!--
lg ≥992px 响应式栅格,可为栅格数或一个包含其他属性的对象 number|object
xl ≥1200px 响应式栅格,可为栅格数或一个包含其他属性的对象 number|object -
xxl ≥1600px 响应式栅格,可为栅格数或一个包含其他属性的对象
这里是响应式的; 你可以改变可视区域看一下
-->
<a-row class="arow-one">
<a-col :xxl="6" :xl="8" :lg="12" class="left1">col-6</a-col>
<a-col :xxl="6" :xl="8" :lg="12" class="left2">col-6</a-col>
<a-col :xxl="6" :xl="8" :lg="12" class="left3">col-6</a-col>
<a-col :xxl="6" :xl="8" :lg="12" class="left4">col-6</a-col>
</a-row>
</div>
</template>
<script lang="ts">
import { computed, defineComponent, } from 'vue';
export default defineComponent({
setup() {
return {
};
},
});
</script>
<style scoped lang="scss">
.arow-one {
height: 80px;
.left12 {
background: palegoldenrod;
}
.right12 {
background: pink;
}
}
.left8 {
background: red;
}
.center8 {
background: rgb(133, 58, 71);
}
.right8 {
background: #f7f7f7;
}
.left1 {
background: #23a81f;
}
.left2 {
background: #08cfc9;
}
.left3 {
background: #088baf;
}
.left4 {
background: #247c06;
}
</style>
栅格系统排列表单
<template>
<!-- 每行显示4列 -->
<a-row class="box" :gutter="40" align="center">
<a-col :span="6">
<a-form-item label="Field A">
<a-input :label-col="labelCol" v-model:value="formState.fieldA" placeholder="input placeholder" />
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="Field B">
<a-input v-model:value="formState.fieldB" placeholder="input placeholder" />
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="Activity zone">
<a-select v-model:value="formState.region" placeholder="please select your zone">
<a-select-option value="shanghai">Zone one</a-select-option>
<a-select-option value="beijing">Zone two</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item>
<a-button type="primary">搜索</a-button>
<a-button style="margin-left: 10px">取消</a-button>
</a-form-item>
</a-col>
</a-row>
</template>
<script lang="ts">
import { computed, defineComponent, reactive, } from 'vue';
export default defineComponent({
setup() {
let formState = reactive({
fieldA: '',
fieldB: '',
region: ''
})
return {
formState,
labelCol: { span: 4 },
};
},
});
</script>
<style scoped lang="scss">
.box {
background: pink;
// 垂直居中
.ant-form-item{
margin-top: 24px;
}
}
</style>
标签:12,defineComponent,Ant,栅格,Vue,background,对齐,col 来源: https://www.cnblogs.com/IwishIcould/p/16411517.html