需求:项目中遇到展示一个列表鼠标移动上去在列表右侧展示对应行的相关信息,正常情况会直接对列表进行循环,并对列表进行overflow:auto;然后在列表中行中加左侧数据和右侧数据,对行进行相对定位,对右侧数据绝对定位。
问题:overflow 生成了一个bfc,其层叠顺序的权重较高,position的absolute的权重不如它高。所以会导致加了Overflow后就绝对定位不了。
解决:对列表Overflow,然后当鼠标移动到对应行写右侧数据show的时候,用jQuery获取到行的所在位置,然后用jQuery对右侧数据设置样式
showPoper(i, index) {
state.leftPushList.showPoper = true
state.leftPushList.showItem = i
state.leftPushList.showIndex = index
let x,y;
y=$(`#left-info-list${index}`).offset().top
x=$(`#left-info-list${index}`).offset().left
$(`#right-info-list${index}`).css("position","fixed")
$(`#right-info-list${index}`).css("top",y+'px')
$(`#right-info-list${index}`).css("left",x+208+'px')
},