Vue 中修改 Element 组件的 下拉菜单(Dropdown) 的样式

Vue 中修改 Element 组件的 下拉菜单(Dropdown) 的样式

今天在项目中碰到一个 UI 改造的需求,需要根据设计图把页面升级成 UI 设计师提供的设计图样式。
到最后页面改造完了,但是 UI 提供的下拉菜单样式全部是黑色半透明的,只能硬着头皮改了。
然后,就有了一下午的头脑风暴。

一开始,我是想着使用 /deep/ 来深度修改样式的,于是就有了下面的代码:

<style lang="less" scoped>
.el-dropdown-menu {background: red!important;
}
/* 消除小三角 */
.el-popper[x-placement^=bottom] .popper__arrow{//border: none;
}
.el-popper[x-placement^=bottom] .popper__arrow::after {border-bottom-color: rgba(0, 0, 0, 0.75)!important;
}.el-dropdown-menu__item:focus, .el-dropdown-menu__item:not(.is-disabled):hover {background-color: transparent!important;color: rgba(22, 153, 239, 1) !important;
}
</style>

结果不生效,开始纳闷,为什么什么样式都没有应用上去。
后来查找网上大神,说不可以加 scoped 的私有化。于是我删除后再试,确实是有效,三角也变成了黑色。
在这里插入图片描述

然后,第二个问题又来了。
因为没有加 scoped 私有化,所以系统中所有的 Dropdown 的样式都变成了全黑色且三角也是黑色。
这肯定不行啊,于是又开始头脑风暴。

本来都准备使用原生直接获取 after 的元素了,后来发现不太行,能获取到但是修改 after 伪元素太麻烦了,需要添加样式表什么的。

然后我又在想,我可不可以给他加个 class 类名,我去应用它的样式。于是就有了下面的代码:

// 注意 class=“header-new-drop”
<el-treeclass="tree":data="trees":props="treeProps"@node-click="treeclick"node-key="id":auto-expand-parent="autoExpandParent":showIcon="showIcon"icon-class="el-icon-arrow-right"highlight-current@click.stop="click(item,$event)"><!--隐藏的新增等图标--><span class="custom-tree-node" slot-scope="{ node, data }"><el-dropdown trigger="hover" placement="bottom"><span class="el-dropdown-link">{{ node.label }}</span><el-dropdown-menu slot="dropdown" class="header-new-drop"><el-dropdown-item command="rename" @click.native="renameclick(data)" @rename="rename">重命名</el-dropdown-item><el-dropdown-item command="delete" @click.native="deleteclick(data)" @drop="drop">删除</el-dropdown-item></el-dropdown-menu></el-dropdown></span></el-tree>

类名加上之后,就要去用它了,这次我仍然在带有 scoped 私有化标致的样式块中定义:

<style scoped lang="less">.header-new-drop {background-color: rgba(0, 0, 0, 0.75)!important;border: 0px solid #00487f !important;border-radius: 5px;/deep/ div {    // 注意:这里转深度书写样式修改它的 div 下方 after 样式&:after {border-bottom-color: rgba(0, 0, 0, 0.75)!important;}}}.el-dropdown-menu {background-color: rgba(0, 0, 0, 0.75)!important;border: 0px solid #00487f !important;border-radius: 5px;}.el-dropdown-menu__item {color: #ffffff!important;line-height: 40px!important;padding: 0 26px!important;&:hover {background-color: transparent!important;border-radius: 5px!important;color: rgba(22, 153, 239, 1)!important;}}
</style>

好啦,大功告成,这样只在这个文件中的 Dropdown 会应用此样式,别的文件不会受到影响。
头脑风暴了一下午。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Terraform 的开源替代:OpenTofu 宣布 GA!

OpenTofu 社区于1月10日宣布 OpenTofu 项目 GA&#xff0c;这是 OpenTofu 的首个稳定版本&#xff08;https://github.com/opentofu/opentofu/releases/tag/v1.6.0&#xff09; &#xff01;OpenTofu 是 Linux 基金会下的一个由社区驱动的开源项目&#xff0c;是 Terraform 的开…

Netty开篇——基础介绍与准备(一)

I/O篇 Netty的介绍 Netty 是由JBOSS提供的一个Java开源框架在Github上Netty 是一个异步的、基于事件驱动的网络应用框架&#xff0c;用以快速开发高性能、高可靠性的网络IO程序。Netty 主要针对在TCP协议下面向客户端的高并发应用&#xff0c;或者Peer-to-Peer/P2P场景下的大量…

基于JavaWeb+BS架构+SpringBoot+Vue“共享书角”图书借还管理系统系统的设计和实现

基于JavaWebBS架构SpringBootVue“共享书角”图书借还管理系统系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 第1章 概 述 5 1.1 开发背景及研究意义 5 1.2 国内外研究…

【SpringMVC快速使用】1.@RestController @RequestMapping 2.logback的使用

背景&#xff1a;为何从这个最简单的 例子写起呢&#xff1f; 那是因为我们的管理后台之类的都是别人写的&#xff0c;我也听说了大家说&#xff1a;只用Post请求就足够了&#xff0c;但是却发现&#xff0c;在浏览器中测试时&#xff0c;默认是GET请求&#xff0c;如果直接写…

微服务概述之微服务架构

前言 为了解决单体应用的缺点&#xff0c;工程师们想到将原来大的单体应用进行拆分&#xff0c;化整为零形成独立的应用&#xff0c;不过此时这些应用没有直观的入口&#xff0c;因此用传统应用的概念来定义就不太妥当。于是诞生了“服务”&#xff0c;通过服务来描述这种功能…

SQL-DML增删改

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错误&am…

Mac 使用nvm use命令无法切换node版本

解决方案&#xff1a;先卸载使用brew安装的node&#xff08; 具体操作请移步使用brew卸载node&#xff09;&#xff0c;再使用nvm use命令切换node版本。 问题复现&#xff1a;使用nvm use命令显示切换成功&#xff0c;但是实际版本还是原来的node版本&#xff0c;应该是与bre…

reduce求和方法

reduce求和方法&#xff0c;有两种语法&#xff1a; 语法1&#xff08;不带初始值&#xff09;&#xff1a; let 结果 arr.reduce( ( 累加的和, 数组元素) > {return 累加的和 数组元素 }) 示例如下&#xff1a; let arr [3,5,7,9] let sum arr.reduce((total,curr)…

MySQL的事务隔离级别脏读、幻读、不可重复读

一、MySQL的事务隔离级别 1、读未提交&#xff1a;一个事务还没提交时&#xff0c;它做的变更就能被别的事务看到。&#xff08;别人改数据的事务尚未提交&#xff0c;我在我的事务中也能读到。&#xff09; 2、读提交&#xff1a;&#xff08;Oracle、SQL Server默认&#x…

短剧时代即将来临?AI 自动生成剧本和多场景长视频

近年来随着扩散模型&#xff08;diffusion models&#xff09;的进步和发展&#xff0c;给定文本提示进行高质量视频生成技术有着显著的提升。这些技术方案大多针对已有的二维图像扩散模型进行拓展&#xff0c;将图像二维神经网络修正为视频三维神经网络&#xff0c;并基于扩散…

【C++】vector中的值的擦除

在使用c中的vector容器时需要对其中的某些元素进行擦除&#xff0c;本文就来介绍一下各种擦除的相应代码实现。 擦除vector中的前n个值 //擦除vector中的前n个值 infoVector.erase(infoVector.begin(), infoVector.begin() n); 擦除vector中的某个值&#xff08;以下标指定…

怎么画业务流程图?掌握这几步就够了

怎么画业务流程图&#xff1f;业务流程图不仅仅是一个简单的图表&#xff0c;而是一个强大的工具&#xff0c;能够帮助企业更好地理解、优化和管理业务流程。而想要画出一个完整的业务流程图并不简单&#xff0c;下面就给大家介绍一下具体的绘制方法。 一、选择绘制工具 在绘制…

UNIX环境编程-进程纪要

进程章节 环境表关于system调用的安全问题终端和作业管控信号sigsuspend函数 守护进程编程规则多进程问题多线程问题IO种类进程通信终端 环境表 每个程序都有一张环境表。环境表是一个字符指针数组&#xff0c;其中每个指针都包含一个以null 结尾的环境变量字符串。全局变量en…

书客、明基、好视力护眼台灯大比拼,哪款更胜一筹?

在现代生活中&#xff0c;我们经常面对着各种电子屏幕&#xff0c;给眼睛造成了一定的压力&#xff0c;时间一长&#xff0c;会发现眼睛很疲劳。很多家长仔细观察&#xff0c;当孩子长时间处在不合适地灯光下玩耍、学习&#xff0c;会发现他们有揉眼的动作&#xff0c;这就是不…

汽车销售领域相关专业术语

引言 本文是笔者在从事汽车销售领域信息化建设过程,积累的一些专业术语注解,供诸位参考交流。 专业术语清单 4S店   汽车销售服务4S店;是由经销商投资建设,按照汽车生产厂家规定的标准建造,是一种集整车销售(Sale)、零配件(Sparepart)、售后服务(Service)、信息…

vivado ip manager cache

https://china.xilinx.com/video/hardware/configuring-managing-reusable-ip-vivado.html

07- OpenCV:模糊图像

目录 一、模糊原理 二、模糊的相关处理方法&#xff1a; 1、均值滤波&#xff08;归一化盒子滤波&#xff09; 2、高斯滤波&#xff08;正态分布的形状&#xff09; 3、中值模糊 4、双边模糊算法&#xff08;美容软件&#xff09; 5、相关代码&#xff1a; 6、几种模糊算法的比…

如何在 Ubuntu 20.04 上安装 Apache Kafka

前些天发现了一个人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;最重要的屌图甚多&#xff0c;忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 20.04 上安装 Apache Kafka 介绍 Apache Kafka是一种分布式消息代理&#xff0c;旨在处理大量实…

一体机旅游景区污水处理设备工艺说明

一体机旅游景区污水处理设备工艺说明 原水浓度&#xff1a;COD≤500mg/L&#xff0c;BOD≤300mg/L&#xff0c;NH3-N≤40mg/L&#xff0c;超过以上浓度需另行设计。 出水标准&#xff1a;COD≤60mg/L&#xff0c;BOD≤20mg/L&#xff0c;NH3-N≤15mg/L&#xff0c;出水要求如更…

常用Java代码-Java中的异常传播

在Java中&#xff0c;异常传播是一个重要的概念&#xff0c;它描述了异常如何在方法之间传播。当一个方法抛出一个异常时&#xff0c;调用该方法的代码必须处理该异常&#xff0c;否则程序将终止。如果调用该方法的代码也抛出了异常&#xff0c;那么这个异常会继续向上传播&…