1.0.1 • Published 3 years ago

@ophiuchus/layout v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

Layout 布局

介绍

Layout 提供了 sf-rowsf-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布局方式,可选值为flexstring-
gutter列元素之间的间距(单位为 px)number | string-
tag自定义元素标签stringdiv
justifyFlex 主轴对齐方式,可选值为 end center space-around space-betweenstringstart
alignFlex 交叉轴对齐方式,可选值为 center bottomstringtop

Col Props

参数说明类型默认值
span列元素宽度number | string-
offset列元素偏移距离number | string-
tag自定义元素标签stringdiv

Row Events

事件名说明回调参数
click点击时触发event: Event

Col Events

事件名说明回调参数
click点击时触发event: Event