kui-vue
Version:
A high quality UI Toolkit built on Vue.js 2.0
131 lines (130 loc) • 4.04 kB
Markdown
<cn>
#### 侧边布局/折叠模式
侧边两列式布局。页面横向空间有限时,侧边导航可收起。
侧边导航在页面布局上采用的是左右的结构,一般主导航放置于页面的左侧固定位置,辅助菜单放置于工作区顶部。内容根据浏览器终端进行自适应,能提高横向空间的使用率,但是整个页面排版不稳定。侧边导航的模式层级扩展性强,一、二、三级导航项目可以更为顺畅且具关联性的被展示,同时侧边导航可以固定,使得用户在操作和浏览中可以快速的定位和切换当前位置,有很高的操作效率。但这类导航横向页面内容的空间会被牺牲一部份。
</cn>
```vue
<template>
<div class="k-demo-layout">
<Layout class="layout-back">
<Sider class="demo-sider"
:style="{width:collapsed?'60px':'200px'}">
<div class="logo-box">
<Icon :type="LogoKui"
size="30"
class="logo" />
<transition>
<span v-show="!collapsed">KUI运营后台</span>
</transition>
</div>
<Menu mode="inline"
v-model="left"
:inline-collapsed="collapsed"
style="border:none;">
<MenuItem key="1-1"
:icon="Home"><span>首页</span></MenuItem>
<MenuItem key="1-2"
:icon="StatsChart"><span>数据统计</span></MenuItem>
<MenuItem key="1-3"
:icon="Settings"><span>能源管理</span></MenuItem>
</Menu>
<Button theme="light"
:icon="!collapsed ? ChevronBack : ChevronForward"
@click="toggle"
class="btn-expand" />
</Sider>
<Content class="k-demo-main">
<Row type="flex"
align="middle"
class="header-nav">
<Col flex="1">
</Col>
<Col>
<Space :size="20">
<Input :icon="Search"
theme="light"
shape="circle"
placeholder="搜索"
style="width:200px" />
<Button :icon="NotificationsOutline"
theme="normal" />
<Avatar style="background:#3a95ff"
:size="40"
shape="square">K</Avatar>
</Space>
</Col>
</Row>
<Breadcrumb class="nav">
<BreadcrumbItem>Home</BreadcrumbItem>
<BreadcrumbItem>List</BreadcrumbItem>
<BreadcrumbItem>App</BreadcrumbItem>
</Breadcrumb>
<div style="padding:200px 0;text-align:center;color:#ddd;margin:20px;"
class="demo-back">我是打酱油的</div>
<Footer>KUI ©2018 Created by chuchur</Footer>
</Content>
</Layout>
</div>
</template>
<script>
import { LogoKui,ChevronBack, NotificationsOutline, ChevronForward, Search, StatsChart, Home, Settings } from "kui-icons";
export default {
data() {
return {
LogoKui, Search, NotificationsOutline, ChevronBack, ChevronForward, StatsChart, Home, Settings,
left: ['1-1'],
collapsed: false
}
},
methods: {
toggle() {
this.collapsed = !this.collapsed
}
}
}
</script>
<style scoped lang="less">
.k-demo-layout {
.logo-box {
box-sizing: border-box;
display: flex;
align-items: center;
padding: 16px 0 17px 16px;
/* background:var(--kui-color-gray-90); */
white-space: nowrap;
overflow: hidden;
.logo {
margin-right: 8px;
}
}
.header-nav {
border-bottom: 1px solid var(--kui-color-border);
padding-bottom: 10px;
}
}
.btn-expand {
position: absolute;
bottom: 10px;
left: 12px;
}
.k-demo-layout .demo-sider {
left: 0;
position: relative;
border-right: 1px solid var(--kui-color-border);
transition: all 0.3s ease 0s;
}
.k-demo-layout .k-demo-main .nav {
padding: 16px 0 0 16px;
}
.k-demo-layout .demo-top-menu {
line-height: 61px;
}
.k-demo-layout .k-demo-main {
overflow: auto;
}
.k-demo-layout .k-layout-footer {
text-align: center;
color: #999;
}
</style>
```