Vue3的页面布局设计入门
背景
上周,组里入职了一个应届生,今天他突然问了我一个问题,就是关于页面的布局如何设计,刚好今天晚上有空我们就一起来简单学习下。
内容介绍
首先,我们使用vue3来实现页面布局,布局是顶左右分布的,顶部为banner,左侧为导航栏,右侧为数据区域。而且左侧导航具备折叠功能,数据区使用一个axios异步table来演示。
前提
已经安装了vue3和vue cli。
Demo
<template>
<div id="app">
<!-- 顶部banner -->
<header>
<h1>欢迎使用Vue 3页面布局</h1>
</header>
<!-- 左侧导航 -->
<aside :class="{ collapsed: isCollapsed }">
<nav>
<ul>
<li>
<a href="https://blog.51cto.com/u_16229717/7127698">菜单项1</a>
<ul>
<li><a href="https://blog.51cto.com/u_16229717/7127698">子菜单项1</a></li>
<li><a href="https://blog.51cto.com/u_16229717/7127698">子菜单项2</a></li>
</ul>
</li>
<li>
<a href="https://blog.51cto.com/u_16229717/7127698">菜单项2</a>
<ul>
<li><a href="https://blog.51cto.com/u_16229717/7127698">子菜单项3</a></li>
<li><a href="https://blog.51cto.com/u_16229717/7127698">子菜单项4</a></li>
</ul>
</li>
</ul>
</nav>
<button @click="toggleCollapse">折叠导航</button>
</aside>
<!-- 表格 -->
<main>
<table>
<thead>
<tr>
<th>ID</th>
<th>名称</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableData" :key="item.id">
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
<td>{{ item.description }}</td>
</tr>
</tbody>
</table>
</main>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
isCollapsed: false, // 导航栏折叠状态
tableData: [] // 表格数据
};
},
mounted() {
// 在组件挂载后,使用axios异步获取后端数据
axios.get('/api/data')
.then(response => {
this.tableData = response.data;
})
.catch(error => {
console.error(error);
});
},
methods: {
toggleCollapse() {
this.isCollapsed = !this.isCollapsed;
}
}
};
</script>
<style>
/* 样式可根据实际需求进行调整 */
#app {
display: flex;
}
header {
width: 100%;
background-color: #f0f0f0;
padding: 20px;
}
aside {
width: 200px;
background-color: #333;
color: #fff;
transition: width 0.3s;
}
aside.collapsed {
width: 50px;
}
nav ul {
list-style-type: none;
padding: 0;
margin: 20px 0;
}
nav li {
margin-bottom: 5px;
position: relative;
}
nav a {
color: #fff;
text-decoration: none;
}
nav ul ul {
display: none;
position: absolute;
left: 100px;
top: 0;
}
nav li:hover > ul {
display: inherit;
}
main {
flex: 1;
padding: 20px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
}
th {
background-color: #f0f0f0;
}
</style>
以上,我们使用SFC(vue单文件)实现了基于vue3的页面布局设计,虽然非常简单,但是我们可以通过这个例子快速入门页面布局设计。这样可以避免好多同学因为对负责布局的恐惧而无法入门的问题。
好了,今天我们就介绍到这里,后续我们继续更新有趣的内容。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiajgeg
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22