文章目录

  • Grid 栅格
  • Space 间距

Grid 栅格

Ant Design Vue 将整个设计建议区域按照 24 等分的原则进行划分,划分之后的信息区块我们称之为『盒子』。建议横向排列的盒子数量最多四个,最少一个。『盒子』在整个屏幕上占比见上图。设计部分基于盒子的单位定制盒子内部的排版规则,以保证视觉层面的舒适感。

布局的栅格化系统,我们是基于行(row)和列(col)来定义信息区块的外部框架,以保证页面的每个区域能够稳健地排布起来。下面简单介绍一下它的工作原理:

  • 通过row在水平方向建立一组column(简写col)
  • 你的内容应当放置于col内,并且,只有col可以作为row的直接元素
  • 栅格系统中的列是指 1 到 24 的值来表示其跨越的范围。例如,三个等宽的列可以使用 <a-col :span="8" />来创建
  • 如果一个row中的col总和超过 24,那么多余的col会作为一个整体另起一行排列

栅格化系统支持Flex布局,允许子元素在父节点内的水平对齐方式 - 居左、居中、居右、等宽排列、分散排列。子元素与子元素之间,支持顶部对齐、垂直居中对齐、底部对齐的方式。同时,支持使用 order来定义元素的排列顺序。

Flex 布局是基于 24 栅格来定义每一个『盒子』的宽度,但不拘泥于栅格。

基础栅格

<a-row><a-col :span="12">col-12</a-col><a-col :span="12">col-12</a-col>
</a-row>
<a-row><a-col :span="8">col-8</a-col><a-col :span="8">col-8</a-col><a-col :span="8">col-8</a-col>
</a-row>

span的值就是基于24个『盒子』的占比个数。

Flex 子元素水平垂直对齐

<!-- 水平居中 垂直居上 -->
<a-row type="flex" justify="center" align="top">
<!-- 水平等距 垂直居中 -->
<a-row type="flex" justify="space-around" align="middle">
<!-- 水平靠边分散 垂直居下 -->
<a-row type="flex" justify="space-between" align="bottom">

Flex 排序

<a-row type="flex"><a-col :span="6" :order="4">1 col-order-4</a-col><a-col :span="6" :order="3">2 col-order-3</a-col><a-col :span="6" :order="2">3 col-order-2</a-col><a-col :span="6" :order="1">4 col-order-1</a-col>
</a-row>


Flex 子元素填充

<a-row type="flex"><a-col :flex="2">2 / 5</a-col><a-col :flex="3">3 / 5</a-col>
</a-row>
<a-row type="flex"><a-col flex="100px">100px</a-col><a-col flex="auto">auto</a-col>
</a-row>
<a-row type="flex"><a-col flex="1 1 200px">1 1 200px</a-col><a-col flex="0 1 300px">0 1 300px</a-col>
</a-row>

区块间隔
栅格常常需要和间隔进行配合,你可以使用 Rowgutter 属性,我们推荐使用 (16+8n)px作为栅格间隔。
如果要支持响应式,可以写成{ xs: 8, sm: 16, md: 24, lg: 32 }
如果需要垂直间距,可以写成数组形式[水平间距, 垂直间距] [16, { xs: 8, sm: 16, md: 24, lg: 32 }]

左右偏移
使用 offset可以将列向右侧偏。例如,:offset="4"将元素向右侧偏移了 4 个列(column)的宽度。

<a-row><a-col :span="8">col-8</a-col><a-col :span="8" :offset="8">col-8</a-col>
</a-row>

响应式

<a-row><a-col :xs="2" :sm="4" :md="6" :lg="8" :xl="10">Col</a-col><a-col :xs="20" :sm="16" :md="12" :lg="8" :xl="4">Col</a-col><a-col :xs="2" :sm="4" :md="6" :lg="8" :xl="10">Col</a-col>
</a-row>
<a-row><a-col :xs="{ span: 5, offset: 1 }" :lg="{ span: 6, offset: 2 }">Col</a-col><a-col :xs="{ span: 11, offset: 1 }" :lg="{ span: 6, offset: 2 }">Col</a-col><a-col :xs="{ span: 5, offset: 1 }" :lg="{ span: 6, offset: 2 }">Col</a-col>
</a-row>

栅格排序
通过使用 pushpull 类就可以很容易的改变列(column)的顺序。

<a-row><a-col :span="18" :push="6">col-18 col-push-6</a-col><a-col :span="6" :pull="18">col-6 col-pull-18</a-col>
</a-row>

Row API

属性 说明
align flex 布局下的垂直对齐方式:top/middle/ bottom
justify flex 布局下的水平排列方式:start/end/ center/ space-around/ space-between
type 布局模式,可选flex
gutter 栅格间隔,可以写成像素值或支持响应式的对象写法来设置水平间隔 { xs: 8, sm: 16, md: 24}。或者使用数组形式同时设置 [水平间距, 垂直间距]

Col API

属性 说明
flex flex 布局填充
offset 栅格左侧的间隔格数,间隔内不可以有栅格
order 栅格顺序,flex 布局模式下有效
pull 栅格向左移动格数
push 栅格向右移动格数
span 栅格占位格数
xs <576px响应式栅格
sm ≥576px 响应式栅格
md ≥768px 响应式栅格
lg ≥992px 响应式栅格
xl ≥1200px 响应式栅格
xxl ≥1600px 响应式栅格

Space 间距

避免组件紧贴在一起,拉开统一的空间。

  • 适合行内元素的水平间距。
  • 可以设置各种水平对齐方式。
<a-space :size="size"><a-button type="primary">Primary</a-button><a-button>Default</a-button><a-button type="dashed">Dashed</a-button><a-button type="link">Link</a-button>
</a-space>
属性 说明
align 对齐方式 (start | end|center |baseline)
direction 间距方向 (vertical | horizontal)
size 间距大小(small | middle | large | number)

【Ant Design Vue】之Grid栅格和Space间距相关推荐

  1. ant design vue table 高度自适应_Vue组件库大评测 Element, iView, HeyUI, Ant Design Vue

    今天偶然的机会想了解下其他Vue相关的组件库,网上刚好有文章,顺便自己做一下笔记,算是资源整理吧 .好了,话不多说,直接开始: 组件库的选择对于前端开发有者至关重要的影响,而组件的丰富性以及健壮性是我 ...

  2. 2019年 Vue 组件库大评测 Element, iView, HeyUI, Ant Design Vue

    2018年我写的Vue组件库对比文档: https://juejin.im/post/5a9628415188257a7b5ac678 一年的时间,每一个组件库都有了更多的发展,Ant Design ...

  3. ant vue 设置中文_vue+Ant design vue做项目-Go语言中文社区

    哈喽哈喽,这期带来蚂蚁金服的一个 Ant Design 的 Vue 实现. 样式还是很现代化的,嗯...现在是2019年9月17,对现在来说还很fashion过几年就不知道了. 话不多说直接上手,喜欢 ...

  4. Vue3:基础项目UI框架PC端(Element ui,view-ui-plus,Ant Design Vue)

    1.Element ui 文档已经更新至Vue3,可以放心使用,在使用Element ui的时候注意在使用弹性布局的时候,Element ui中的Table 表格会出现缩放无法自适应问题. 安装 $ ...

  5. Ant Design Vue select下拉列表设置默认值

    在项目中需要为Ant Design Vue 的 select 组件设置一个默认值,如下图所示的状态下拉选择框,默认选择全部 代码如下: 1 <a-select v-model="que ...

  6. iviewui php,Vue UI框架对比:Element UI、Ant Design Vue、iView

    Element UI 文档:https://element.eleme.io/#/zh-CN/component/installation vue-element-admin预览:https://pa ...

  7. 解决ant design vue中的modal弹框样式修改无效问题 修改modal样式无效

    ant design vue中的modal弹框修改样式无效问题 ant中的弹框样式是修改不了的 原因在于弹框modal被挂载在最大的元素div外面了 所以需要将挂载在某个html元素上 在modal外 ...

  8. Vue笔记-Ant Design Vue构建前端连接后端WebSocket

    运行结果如下: 程序结构如下: 关键代码: App.vue <template><a-layout class="layout"><a-layout- ...

  9. vue将每个路由打包成html,Ant Design Vue pro 动态路由的实现和打包

    Ant Design Vue pro 动态路由的实现和打包 Ant Design Vue pro 动态路由的实现和打包 配置路由权限 在config文件夹下router.config.js中配置路由权 ...

最新文章

  1. 获取SQLServer数据库中所有表
  2. Python学习札记(二十三) 函数式编程4 sorted
  3. mysql alter算法_MySQL ALTER语法的运用方法 操作索引和字段
  4. 学习笔记Kafka(四)—— Kafka安装配置(3)—— Kafka多代理配置及常用操作
  5. 人工智能、机器学习、数据挖掘著名会议
  6. 某国有7个城市,它们互相之间没有公路相通,因此交通十分不便。为解决这一“行路难”的问题,政府决定修建公路,经过调研,如果把这7个城市之间的关系看成一个图,字母代表城市名称,数字代表修路的花费。【详解】
  7. [蓝桥杯]ALGO-188.算法训练_P0504
  8. Hibernate 多对多关联查询条件使用
  9. [Android自定义控件] Android Scroller工具类和GestureDetector的简单用法
  10. 查看linux操作系统版本信息
  11. 关于layui分页组件layPage如何动态调整页数的使用
  12. 觅风易语言[11-20]
  13. 计算机博士、加班到凌晨也要化妆、段子手……IT 女神驾到!
  14. T83310 【音乐会】二重变革
  15. 【资源分享(免积分)】增长黑客_创业公司的用户与收入增长秘籍 - 范冰(高清版免费).pdf
  16. app第三方登录利弊
  17. 5G明确C波段频率使用规划的5层意义
  18. 个人博客选什么域名?
  19. 修复损坏的gzip压缩文件方法之实用篇
  20. SIMT与SIMD的区别?

热门文章

  1. C#编程(八十一)---------- 捕获异常
  2. 使用CocoaPods给微信集成SDK打印收发消息
  3. Java读取HttpServletRequest的post数据流
  4. iOS.Dev.Support.MultiVersions
  5. 一个有钱人儿子写的作文!
  6. 我10年来的学习和生活
  7. 【硬核干货】如何高效找到优质编程项目?
  8. C/C++编程知识分享:C++ 手把手教你实现可变长的数组
  9. 连数据都读不懂,你凭什么说会数据分析?
  10. 一进庙会freeeim