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

这篇具有很好参考价值的文章主要介绍了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 的私有化。于是我删除后再试,确实是有效,三角也变成了黑色。
Vue 中修改 Element 组件的 下拉菜单(Dropdown) 的样式,vue.js,javascript,css3

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

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

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

// 注意 class=“header-new-drop”
<el-tree
      class="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 会应用此样式,别的文件不会受到影响。
头脑风暴了一下午。文章来源地址https://www.toymoban.com/news/detail-799182.html

到了这里,关于Vue 中修改 Element 组件的 下拉菜单(Dropdown) 的样式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue修改element-ui日期下拉框datetimePicker的背景色样式

    在vue项目中,源datetimePicker的背景样式,往往与项目背景不搭,需要修改。   1.先在assets里面新建一个index.css文件来存储全局样式 2.在main.js里面导入这个css文件最后在里面加入我们想要的样式 此时的效果如下图   3.在el-date-picker中设置样式 4.设置对应的背景样式 得到下图效果

    2024年02月11日
    浏览(40)
  • Vue3通过 directive 实现 el-dropdown下拉菜单项最小宽度等于内容宽度

    原始效果 最终效果 el-dropdown API 并不提供配置项让我们实现下拉菜单项最小宽度等于内容宽度,但我们能发现它提供了 popper-class 用于自定义浮层类名。 那么我们是否可以通过 popper-class 配置项来实现想要的功能呢?或者通过 el-dropdown-menu style=\\\"min-width: 100px;\\\" 这种形式进行最小

    2024年02月09日
    浏览(30)
  • 【unity3D】Dropdown组件 — 如何使用下拉菜单

    💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的Dropdown组件 介绍:Unity的Dropdown组件是一种UI控件,用于在下拉列表中显示选项或选项组。它允许用户从列表中选择一个选项,并可以在选择时触发特定的行为或事件。通

    2024年02月06日
    浏览(42)
  • Unity UGUI的Dropdown(下拉菜单)组件的介绍及使用

    Dropdown(下拉菜单)是Unity UGUI中的一个常用组件,用于在用户点击或选择时显示一个下拉菜单,提供多个选项供用户选择。 Dropdown组件由两部分组成:一个可点击的按钮和一个下拉菜单。当用户点击按钮时,下拉菜单会展开,显示所有选项。用户可以通过点击选项来进行选择

    2024年02月13日
    浏览(32)
  • 【Unity-UGUI控件全面解析】| Dropdown 下拉菜单组件详解

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:

    2024年02月06日
    浏览(42)
  • vue | element-ui中 如何修改表格Table组件中滚动条的样式

    在Table表格中,当内容超出容器时就会出现滚动条,elemnt-ui自带的滚动条有时无法满足需求,那么我们可以通过css伪类来实现对滚动条的自定义。 滚动条由两部分组成的: 滑块:可以滑动的部分。 轨道:滚动条的轨道,即滑块的轨道。一般来说滑块的颜色比轨道的颜色深一

    2024年02月11日
    浏览(43)
  • element ui 下拉菜单组件 结合springboot 实现省市区简易三级联动 动态查询 并修改地点的省市区

    目录 前言: 一.数据库表结构:  二.下拉菜单组件 2.1 效果展示 2.2下拉菜单的组件代码: 本篇博客,通过官网的学习,实现下拉菜单动态数据的传递与点击事件,如果只是按部就班的按照官网来,官网下拉菜单模板所提供的事件只能传死数据,很多博主都是照虎画猫,传递

    2024年02月12日
    浏览(51)
  • [自定义 Vue 组件] 小尾巴下拉菜单组件(2.0) TailDropDown

    文章归档:https://www.yuque.com/u27599042/coding_star/kcoem6dgyn8drglb [自定义 Vue 组件] 下拉菜单(1.0) DropDownMenu:https://www.yuque.com/u27599042/coding_star/llltv52tchmatwg4 在 src 目录下,创建 constant 目录,在其中新建 tail_drop_down_constant.js 文件,在其中声明组件所依赖的常量 在 src 目录下,创建 sty

    2024年02月05日
    浏览(28)
  • 【vue+elementUI】输入框样式、选择器样式、树形选择器和下拉框样式修改

    写在style中不能加scoped,所以可以在最外层的div加一个专属名再写样式: A. 选择器的下拉弹框样式修改 el-select下拉项的的容器是div#app之外的,所以在scoped作用域内使用或/deep/修改样式无效,要想: 官网如是说:加 :popper-append-to-body=\\\"false\\\" 代码像普通样子写: B. 时间选择器的下

    2024年02月07日
    浏览(37)
  • Vue3 - Element Plus 去除下拉菜单周围出现黑色边框轮廓,当用鼠标移入和点击聚焦时就会出现 “黑边“ 的情况,无论里面是什么 HTML 元素和组件都会由此问题(完美解决方案)

    在 Element Plus 组件库中,使用 dropdown 下拉菜单时鼠标点击或移入时周围出现黑色边框问题。 本文 实现了 vue3+element plus 项目开发中,隐藏下拉菜单 el-dropdown-menu / el-dropdown-item 周围的边框, 如下图所示,当鼠标移入(hover)和点击时就会围绕一圈黑色边框,但通过本文的方案

    2024年02月09日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包