npm.io
1.0.1 • Published 5 years ago

@ophiuchus/layout

Licence
MIT
Version
1.0.1
Deps
0
Size
14 kB
Vulns
0
Weekly
0

Layout 布局

介绍

Layout 提供了 sf-row 和 sf-col 两个组件来进行行列布局。

引入

// 方式1(推荐)
import Vue from 'vue';
import Layout from '@ophiuchus/layout';

Vue.use(Layout);

// 方式2
import Vue from 'vue';
import { Col, Row } from '@ophiuchus/layout';

Vue.component(Col.name, Col);
Vue.component(Row.name, Row);

代码演示

基础用法

Layout 组件提供了 24列栅格,通过在 Col 上添加 span 属性设置列所占的宽度百分比。此外,添加 offset 属性可以设置列的偏移宽度,计算方式与 span 相同。

<sf-row>
  <sf-col span="8">span: 8</sf-col>
  <sf-col span="8">span: 8</sf-col>
  <sf-col span="8">span: 8</sf-col>
</sf-row>

<sf-row>
  <sf-col span="4">span: 4</sf-col>
  <sf-col span="10" offset="4">offset: 4, span: 10</sf-col>
</sf-row>

<sf-row>
  <sf-col offset="12" span="12">offset: 12, span: 12</sf-col>
</sf-row>
设置列元素间距

通过 gutter 属性可以设置列元素之间的间距,默认间距为 0。

<sf-row gutter="20">
  <sf-col span="8">span: 8</sf-col>
  <sf-col span="8">span: 8</sf-col>
  <sf-col span="8">span: 8</sf-col>
</sf-row>
Flex 布局

将 type 属性设置为 flex 可以启用 flex 布局,便于进行灵活的对齐。

<!-- 左对齐 -->
<sf-row type="flex">
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
</sf-row>

<!-- 居中 -->
<sf-row type="flex" justify="center">
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
</sf-row>

<!-- 右对齐 -->
<sf-row type="flex" justify="end">
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
</sf-row>

<!-- 两端对齐 -->
<sf-row type="flex" justify="space-between">
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
</sf-row>

<!-- 每个元素的两侧间隔相等 -->
<sf-row type="flex" justify="space-around">
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
  <sf-col span="6">span: 6</sf-col>
</sf-row>

API

Row Props
参数 说明 类型 默认值
type 布局方式,可选值为flex string -
gutter 列元素之间的间距(单位为 px) number | string -
tag 自定义元素标签 string div
justify Flex 主轴对齐方式,可选值为 end center
space-around space-between
string start
align Flex 交叉轴对齐方式,可选值为 center bottom string top
Col Props
参数 说明 类型 默认值
span 列元素宽度 number | string -
offset 列元素偏移距离 number | string -
tag 自定义元素标签 string div
Row Events
事件名 说明 回调参数
click 点击时触发 event: Event
Col Events
事件名 说明 回调参数
click 点击时触发 event: Event

Keywords