vue3:十一、主页面布局(修改左侧导航条的样式)

一、样式

1、初始样式

如下图,可知,左侧导航条存在背景色

2、 左侧导航栏搭建完成样式

去掉导航条的背景色,以及菜单项的底色,并且修改选中状态的效果,修改悬停效果

二、实现

1、设置左侧导航栏底色

(1)去掉顶部和左侧导航栏的底色

初始页面效果

顶部与左侧底色样式

将代码中与顶部与左侧的样式删掉,这部分代码是引入导航条时,官方给出的顶部和左侧边栏的效果,可以直接去掉

移除后页面效果

移除样式之后,左侧边栏和顶部导航栏的背景色都更改为白色

加入设定背景色

#f4f6f9

现在需要给左侧边栏一个背景色,这里设置为#f4f6f9

加入底色后颜色展示

由下图可以看出,加入sidebar的背景色之后,菜单栏部分还是白色背景色

(2)去除菜单项底色

初始页面效果

根据开发者工具找到菜单项的底色

可以根据f12查找到菜单块对应的样式,并根据样式找到设置为白色背景色的部分,并进行更改,由下图可以看出,在el-menu这个样式中,设置了背景色(这里可以取消勾选,去看看是否是这部分导致的白色背景色)

修改底色

由于这里的背景色是通过变量var(--el-menu-bg-color)设定,那么可以直接在base.css这个全部变量去设置其变量值,即可更改整体背景色

在全局css中将找的.el-menu的背景色的变量var(--el-menu-bg-color); 设置为指定色:#f4f6f9

展示效果

由下图,可以看出,菜单块的白色背景已经被清楚

(3)选中菜单项底色

初始页面效果

目前选中项只有一个文字颜色改变,现在需要给一个背景色以及文字色

### Vue3 Element Plus 左侧导航栏和右侧主页面布局不重叠解决方案 为了确保左侧导航栏和右侧主页面在使用 Vue3 和 Element Plus 进行布局时不会相互重叠,可以采用基于 CSS Flexbox 的弹性盒子模型来构建响应式的两列布局。通过设置合理的 `flex` 属性以及利用 ElContainer 组件提供的栅格化系统,能够有效防止两者之间的冲突。 #### 使用 ElContainer 构建基础结构 ElContainer 是 Element Plus 提供的一个用于创建复杂布局的基础组件之一,它允许开发者轻松组合其他容器类组件如 Header, Aside, Main 等形成不同的网页区域划分方式[^1]。 ```html <template> <el-container class="layout"> <!-- 左边导航 --> <el-aside width="200px">Aside</el-aside> <!-- 主要内容区 --> <el-main>Main Content Area</el-main> </el-container> </template> <style scoped lang=&#39;scss&#39;> .layout { height: 100vh; /* 设置整体高度 */ } .el-aside { background-color: #d3dce6; } .el-main { padding-left: 20px; box-sizing: border-box; overflow-y: auto; &::-webkit-scrollbar { display:none } } </style> ``` 上述代码片段展示了如何运用 `<el-container>` 来搭建一个简单的双栏界面框架,并设置了 `.el-main` 中的内容超出屏幕范围时可以通过滚动条查看全部内容而不影响到左边栏的显示效果。 #### 防止宽度为零的情况发生 当遇到元素不可见但实际存在于文档流中的情况时,可能是因为该元素被赋予了一个非常小甚至等于零的宽高值所致。为了避免这种情况的发生,在样式表里显式指定了各个部分的具体尺寸是非常必要的措施之一。对于本案例而言,则需保证`.el-aside`拥有固定的宽度而`.el-main`则占据剩余空间。 另外需要注意的是,如果存在某些条件判断语句(比如 v-if),可能会导致DOM节点临时消失从而造成视觉上的错位现象。因此建议尽可能减少不必要的逻辑控制标签的应用频率,转而在数据层面做文章以提高渲染效率的同时也降低了潜在的风险因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

25号底片~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值