iview的tree组件,鼠标经过ul li span元素时,添加背景色

939 阅读1分钟

1.tree组件渲染元素结构是ul li形式

描述问题
若在ul li:hover时添加背景色,则子元素的ul li同时也被hover背景色,因为父元素与子元素的结构一样
问题难点
如何解决改问题呢?结构图如下:

通过观察分析,span是ul li中独立的元素,此时找到解决问题的方法
解决方法

>>>.ivu-tree ul li span {
  padding: 6px
}
>>>.ivu-tree ul li ul li span {
  margin-left: 6px
}
>>>.ivu-tree li ul {
  padding: 0
}
>>>.ivu-tree ul li {
  transition: 0.5s
  width: 100%
  position: relative
  z-index: 100
  box-sizing: border-box
}
>>>.ivu-tree ul li span:hover::before {
  z-index: -100
  content: ''
  display: block
  position: absolute
  width: 257px
  height: 32px
  top: 0
  left: 0
  background: #E9F2FE
}

目前的缺陷
只能针对二级菜单的情况下,如果层级多的话,该方法就不适合
以上是做项目时遇到的小问题,记录一下~~,若有问题,在此,小燕子欢迎小伙伴来纠正哈,呼啦哗啦~,end 我是一只小燕子,你若觉得ok的话,顺手star一下噢~~