el-select样式两种修改方式index.html或popper-append-to-body加popper-class

记录一下,博主整理的很是明朗,在此记录一下,方便以后查找,感谢博主的输出,

问题描述

饿了么UI自带的样式有一般也够用,不过有时候我们需要修改一下样式使其更加美观,本文记录一下修改el-select的样式的方式,记录一下,忘了的时候回来看看

问题分析
下拉框可以分为两部分,一部分是‘框’部分,另外一部分是‘下拉’部分,平常我们修改下拉框样式,无外乎就是修改这两个部分,如下图所示

修改框的宽度

修改框的宽度,最简单的方式就是给el-select加上一个style样式设置一下即可,注意直接使用style设置高度不会生效的,当然一般也不会去设置高度,因为高度是自适应的,会被内容撑开高度的

代码如下

      <!-- 直接在这里加一个style即可 --><el-select style="width:400px;" v-model="value" placeholder="请选择"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select>

效果图如下

的确是变宽了

修改下拉的样式

方式一(index.html中全局修改)

通过上图我们可以看到,下拉框的样式,它并没有在el-select的DOM里面,而是放在了最外层,这个最外层和挂载#App是兄弟元素,所以我们需要在vue项目的入口文件中index.html里面修改样式

代码如下

<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><link rel="icon" href="<%= BASE_URL %>favicon.ico"><title><%= htmlWebpackPlugin.options.title %></title><style>/* 在这里找到层级关系即可修改了 */.el-select-dropdown .el-scrollbar .el-select-dropdown__wrap .el-scrollbar__view .el-select-dropdown__item:hover {background-color: #baf;}</style>
</head>

效果图如下

iShot2021-06-06 22.34.07.mov

但是在index.html文件里面修改样式会造成全局样式污染,假设我只想把这个页面的下拉框的样式修改了,别的页面的下拉框样式不修改,这种方式显然不太好,当然如果是所有的下拉框都统一修改样式的话,这种方式倒是挺好的,加下来我们说一下第二种方式,使用饿了么UI提供的el-select的属性popper-append-to-body属性,官方介绍如下:

显而易见,饿了么官方默认把下拉部分加入到里,所以我们可以通过这个属性使其不加到body里,让其回归到对应el-select里面,就是把下拉部分,放回对应结构中去。

方式二使用popper-append-to-body修改

<template><div><el-select v-model="value" :popper-append-to-body="false" placeholder="请选择"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select></div>
</template>

审查DOM元素结构


既然加入到el-select里面了,我们就可以使用css选择器找到对应层级去设置对应样式了,依然可以实现上图中的效果

<style lang="less" scoped>
.el-select {.el-select-dropdown {.el-scrollbar {.el-select-dropdown__wrap {.el-scrollbar__view {.el-select-dropdown__item:hover {background-color: #baf;}}}}}
}
</style>

补充

有网友说,popper-append-to-body要搭配popper-class一块使用,其实并不一定需要搭配使用,只要让对应元素加入到el-select结构中去,就可以直接修改对应样式了。poper-class的用法这样使用:

<el-select v-model="value" popper-class="setSelect" :popper-append-to-body="false" placeholder="请选择"></el-select>

popper-class是给select下拉框的起的类名,搭配使用的话,会让css代码少写点

el-select样式两种修改方式index.html或popper-append-to-body加popper-class相关推荐

  1. Linux下IP地址两种修改方式的总结(IP地址、子网掩码、网关、DNS简介)

    目录 一.IP地址.子网掩码.网关.DNS简介 1.IP地址 2.子网掩码 3.网关 4.DNS 二.Linux下IP地址修改两种方式介绍(Centos7.6) 1.查看IP地址 2.修改配置文件修改 ...

  2. linux更mysql改密码_Linux下mysql密码的两种修改方式

    注意事项:mysql密码与Linux系统的用户无任何联系,而是mysql自身一套密码系统,mysql的最高管理员用户名也是root,其密码也不涉及任何文件,更改root密码最方便.mysql登陆命令可 ...

  3. 9.png 自带工具 ps 两种修改方式

    引用:http://www.yixieshi.com/ucd/9142.html "点九"是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 智能 ...

  4. Silve37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名 为SLConnectASP.NET的Silverlight应 ...

  5. ModalPopupExtender控件主要有两种使用方式:客户端使用方式和服务器端使用方式

    ModalPopupExtender控件主要有两种使用方式:客户端使用方式和服务器端使用方式.这两种使用方式在ModalPopup的官方例子中都有介绍. 1.客户端使用方式 客户端使用方式又可以分为两 ...

  6. asp.net html silverlight 传参数,Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)...

    Silverlight实用窍门系列:37  程兴亮,网名煦风满裳 在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一 ...

  7. oracle 两种优化器,Oracle的优化器有两种优化方式(一)

    Oracle的优化器有两种优化方式(整理), 2010-04-13 RBO方式:基于规则的优化方式(Rule-Based Optimization,简称为RBO)  优化器在分析SQL语句时,所遵循的 ...

  8. 【无标题】单例模式的两种创建方式:饿汉式和懒汉式

    这里写自定义目录标题 单例模式的两种创建方式:饿汉式和懒汉式 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂 ...

  9. React基础学习笔记(一)-react前端项目的两种搭建方式

    1.运行环境准备 需要先进行react项目的运行环境nodeJS的安装,具体安装流程可以参考: windows版本的安装配置帮助文档:https://www.cnblogs.com/liuqiyun/ ...

最新文章

  1. 用html编写一个贪吃蛇,HTML编写的贪吃蛇代码
  2. 很多程序员编程时都戴耳机?他们在听什么
  3. Vue2 的学习经历 初识
  4. 数据结构算法入门--链表
  5. nfc加密卡pm3和pm5区别_小米手环4/5 NFC添加加密门禁
  6. python爬虫第二课:url解析
  7. IT职场人生系列之四:怎样写简历
  8. Annotation实战【自定义AbstractProcessor】
  9. Raspberry Pi(树莓派)试用小记
  10. 14.jQuery常用方法
  11. python中当地时间_Python 日期和时间
  12. 【回文串9】LeetCode 409. Longest Palindrome
  13. 二项分布的期望方差证明
  14. iOS xcode Bundle identifier is missing. NotificationServiceTest doesn't have *****
  15. razor读取mysql_MVC 数据库增删改查(Razor)方法(1)和数据库
  16. 《大师谈游戏设计——创意与节奏》【笔记二】
  17. ExoPlayer的监听事件(Kotlin)
  18. javaweb基于SSM开发在线问卷调查系统(前台+后台) 课程设计 毕业设计源码
  19. Win 10 版NVIDIA GeForce GTX 1060显卡驱动的下载及飞桨(Paddle)的安装
  20. 好领导,本来应是挖渠人

热门文章

  1. 带磨削功能的复合加工机床的好处
  2. Command Msiexec Install
  3. 服务器为C#开发,aspx设置跨域请求
  4. LeetCode——5814. 新增的最少台阶数(Add Minimum Number of Rungs)[中等]——分析及代码(Java)
  5. Airbnb要上市了?科技公司左手IPO,右手忙招人
  6. 甲醇,中国新能源汽车的另一种可能
  7. React event.preventDefault使用方法
  8. 江海叶独流(之一 谭之殇)
  9. 大数据系列修炼-Scala课程05
  10. Python时间time详解