修改上个回答,使Aside在main板块左边,两个高度一致
时间: 2024-12-13 10:24:03 浏览: 5
为了调整页面布局,使 `Aside` 区域位于 `Main` 区域的左侧,并且两个区域的高度保持一致,可以通过以下步骤进行修改:
### 修改 HTML 结构
首先,我们需要调整 `App.vue` 中的结构,使其包含一个主容器,将 `Aside` 和 `Main` 放在一个水平排列的容器中。
```vue
<template>
<div id="app">
<el-container>
<el-header>预约挂号</el-header>
<el-container>
<el-aside width="200px">
<el-menu>
<el-menu-item index="1" @click="$router.push('/login')">用户登录</el-menu-item>
<el-menu-item index="2" @click="$router.push('/register')">用户注册</el-menu-item>
<el-menu-item index="3" @click="$router.push('/appointment')">预约挂号</el-menu-item>
<el-menu-item index="4" @click="$router.push('/doctors')">医生列表</el-menu-item>
</el-menu>
</el-aside>
<el-main>
<router-view></router-view>
</el-main>
</el-container>
<el-footer>
<div style="display: flex; justify-content: space-between;">
<span>地址:x市南泉路</span>
<span>联系电话:123456780</span>
<span id="dynamic-clock"></span>
</div>
</el-footer>
</el-container>
</div>
</template>
<script>
export default {
name: 'App',
mounted() {
this.updateClock();
setInterval(this.updateClock, 1000);
},
methods: {
updateClock() {
const now = new Date();
const timeString = now.toLocaleTimeString();
const dateString = now.toDateString();
document.getElementById('dynamic-clock').innerText = `${dateString} ${timeString}`;
}
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
.el-header, .el-footer {
background-color: #B3C0D1;
color: #333;
text-align: center;
line-height: 60px;
}
.el-aside {
background-color: #D3DCE6;
color: #333;
text-align: center;
line-height: 200px;
}
.el-main {
background-color: #E9EEF3;
color: #333;
text-align: center;
padding: 20px;
}
body > .el-container {
margin-bottom: 40px;
}
.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
}
.el-container:nth-child(7) .el-aside {
line-height: 320px;
}
</style>
```
### 解释
1. **HTML 结构**:
- 使用 `el-container` 组件作为主容器。
-aside` 和 `el-main`,分别用于侧边栏和主要内容区域。
- `el-footer` 用于底部信息。
2. **样式**:
- 设置 `el-header`、`el-aside`、`el-main` 和 `el-footer` 的背景颜色和文字对齐方式。
- 使用 `flex` 布局在 `el-footer` 中对齐地址、电话和动态时钟。
3. **动态时钟**:
- 在 `mounted` 钩子中调用 `updateClock` 方法初始化时钟。
- 使用 `setInterval` 每秒更新一次时钟。
这样修改后,`Aside` 区域会位于 `Main` 区域的左侧,并且两者高度保持一致。
阅读全文