element-ui下拉框el-select多选出现滚动条闪现

简介: 弹窗组件中放置了el-select下拉框组件,多选项较多时,聚焦弹出下拉选择框时,下方会出现一个横向滚动条闪现一下,虽然不影响使用,但是作为一个追求完美的码农肯定是受不了

弹窗组件中放置了el-select下拉框组件,多选项较多时,聚焦弹出下拉选择框时,下方会出现一个横向滚动条闪现一下,虽然不影响使用,但是作为一个追求完美的码农肯定是受不了的。
1.jpg

原因

通过不懈的努力终于发现了原来是组件右侧的箭头图标旋转动画旋转时造成的页面布局被撑开。

按正常的做法只用给那个箭头图标加一个旋转动画就行了,但是呢element偷懒直接给加给了图标组件的外层,那货又跟选择框高度一样高,直接把这个长条条旋转了180度,当整个多选框的高度旋转到0度时如果超出了弹窗就会出现滚动条:
2.png

因为动画是设置的 0.3s,速度比较快不容易排查,我们可以自己额外把动画时间改大点,再给图标的盒子加个背景色,就很容易复现出来了,给 el-input__icon 类名加上如下样式:transition: transform 20s; background: pink;
3.png

解决方式

  • 一种方式我们可以直接给弹窗的盒子加个 overflow: hidden 隐藏掉滚动条
  • 另一种方式就是去覆盖 el-select 的右侧图标旋转动画,把动画加到图标上,代码如下:
.el-input__suffix .el-input__suffix-inner { // 解决聚焦的时候会有闪现一下滚动条
  .el-input__icon {
    transform: rotateZ(0deg);
    // transition: transform 20s;
    // background: pink;
    &::before {
      display: inline-block;
      transition: transform .3s;
      transform: rotateZ(180deg);
    }
    &.is-reverse::before {
       transform: rotateZ(0deg);
    }
  }
}
相关文章
|
6天前
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
227 0
element中el-cascader级联 下拉选择-可单独多选(整理)
element中el-cascader级联 下拉选择-可单独多选(整理)
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
2267 0
|
JavaScript
VUE element-ui之table表格全选框(复选框)隐藏
VUE element-ui之table表格全选框(复选框)隐藏
1396 0
VUE element-ui之table表格全选框(复选框)隐藏
|
前端开发
element ui el-table 多选 表头全选框替换文字
element ui el-table 多选 表头全选框替换文字
1461 0
|
JavaScript
VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改
VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改
2437 0
VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改
|
6天前
element-ui实现表格单选的功能
element-ui实现表格单选的功能
15 0
|
11月前
|
JavaScript
Element UI - el-select(选择器)下拉多选菜单不换行显示
Element UI - el-select(选择器)下拉多选菜单不换行显示
|
JavaScript
VUE element-ui之table表格中嵌套输入框,且输入框失焦自动勾选当前行
VUE element-ui之table表格中嵌套输入框,且输入框失焦自动勾选当前行
1506 0
VUE element-ui之table表格中嵌套输入框,且输入框失焦自动勾选当前行
element-plus 下拉框实现全选功能
element-plus 下拉框实现全选功能
1360 0