vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.4 KiB
119 lines
3.4 KiB
<docs> |
|
--- |
|
order: 2 |
|
title: |
|
zh-CN: 顶部-侧边布局-通栏 |
|
en-US: Header Sider 2 |
|
--- |
|
|
|
## zh-CN |
|
|
|
同样拥有顶部导航及侧边栏,区别是两边未留边距,多用于应用型的网站。 |
|
|
|
## en-US |
|
|
|
Both the top navigation and the sidebar, commonly used in application site. |
|
|
|
</docs> |
|
<template> |
|
<a-layout> |
|
<a-layout-header class="header"> |
|
<div class="logo" /> |
|
<a-menu |
|
v-model:selectedKeys="selectedKeys1" |
|
theme="dark" |
|
mode="horizontal" |
|
:style="{ lineHeight: '64px' }" |
|
> |
|
<a-menu-item key="1">nav 1</a-menu-item> |
|
<a-menu-item key="2">nav 2</a-menu-item> |
|
<a-menu-item key="3">nav 3</a-menu-item> |
|
</a-menu> |
|
</a-layout-header> |
|
<a-layout> |
|
<a-layout-sider width="200" style="background: #fff"> |
|
<a-menu |
|
v-model:selectedKeys="selectedKeys2" |
|
v-model:openKeys="openKeys" |
|
mode="inline" |
|
:style="{ height: '100%', borderRight: 0 }" |
|
> |
|
<a-sub-menu key="sub1"> |
|
<template #title> |
|
<span> |
|
<user-outlined /> |
|
subnav 1 |
|
</span> |
|
</template> |
|
<a-menu-item key="1">option1</a-menu-item> |
|
<a-menu-item key="2">option2</a-menu-item> |
|
<a-menu-item key="3">option3</a-menu-item> |
|
<a-menu-item key="4">option4</a-menu-item> |
|
</a-sub-menu> |
|
<a-sub-menu key="sub2"> |
|
<template #title> |
|
<span> |
|
<laptop-outlined /> |
|
subnav 2 |
|
</span> |
|
</template> |
|
<a-menu-item key="5">option5</a-menu-item> |
|
<a-menu-item key="6">option6</a-menu-item> |
|
<a-menu-item key="7">option7</a-menu-item> |
|
<a-menu-item key="8">option8</a-menu-item> |
|
</a-sub-menu> |
|
<a-sub-menu key="sub3"> |
|
<template #title> |
|
<span> |
|
<notification-outlined /> |
|
subnav 3 |
|
</span> |
|
</template> |
|
<a-menu-item key="9">option9</a-menu-item> |
|
<a-menu-item key="10">option10</a-menu-item> |
|
<a-menu-item key="11">option11</a-menu-item> |
|
<a-menu-item key="12">option12</a-menu-item> |
|
</a-sub-menu> |
|
</a-menu> |
|
</a-layout-sider> |
|
<a-layout style="padding: 0 24px 24px"> |
|
<a-breadcrumb style="margin: 16px 0"> |
|
<a-breadcrumb-item>Home</a-breadcrumb-item> |
|
<a-breadcrumb-item>List</a-breadcrumb-item> |
|
<a-breadcrumb-item>App</a-breadcrumb-item> |
|
</a-breadcrumb> |
|
<a-layout-content |
|
:style="{ background: '#fff', padding: '24px', margin: 0, minHeight: '280px' }" |
|
> |
|
Content |
|
</a-layout-content> |
|
</a-layout> |
|
</a-layout> |
|
</a-layout> |
|
</template> |
|
<script lang="ts" setup> |
|
import { ref } from 'vue'; |
|
import { UserOutlined, LaptopOutlined, NotificationOutlined } from '@ant-design/icons-vue'; |
|
const selectedKeys1 = ref<string[]>(['2']); |
|
const selectedKeys2 = ref<string[]>(['1']); |
|
const openKeys = ref<string[]>(['sub1']); |
|
</script> |
|
|
|
<style scoped> |
|
#components-layout-demo-top-side-2 .logo { |
|
float: left; |
|
width: 120px; |
|
height: 31px; |
|
margin: 16px 24px 16px 0; |
|
background: rgba(255, 255, 255, 0.3); |
|
} |
|
|
|
.ant-row-rtl #components-layout-demo-top-side-2 .logo { |
|
float: right; |
|
margin: 16px 0 16px 24px; |
|
} |
|
|
|
.site-layout-background { |
|
background: #fff; |
|
} |
|
</style>
|
|
|