效果图:
这里鼠标覆盖加深阴影
代码如下:
重点 :class="{‘cover’:coverid==index?‘cover’:’’}"
<li v-for="(item, index) in cellList" :key="index" :class="{'cover':coverid==index?'cover':''}" :style="{ 'border-color': statusColor(item.status), 'color': statusColor(item.status) }" id="devices_li" @mouseenter="item.type==1&&enters(item,index)" @mouseleave="item.type==1&&leaver(item,index)" >
//鼠标移入 enters(item,index) { // console.log(item); // if(item.id==item.id){ this.deviceListshow =false; this.deviceListshow2 = true; //鼠标移入 首先是A先消失,然后B再出现的,写反就会疯狂闪。 // } this.deviceIdshow=item.id; // console.log(this.deviceIdshow); this.coverid=index//这里传入index来判断是哪个li需要加入阴影样式 }, //鼠标移出 leaver(item,index) { this.coverid='aa' 鼠标移除 设置值使id不相等 样式移除 // if(item.id==item.id){ this.deviceListshow2 = false; //移出时也一样,先B消失 再出现A。 this.deviceListshow = true; this.deviceIdshow=item.id; // } },
data设置为文字 始终不等于index 这样就不会鼠标还没移入时就出现样式了
最后就是阴影样式了
.cover{ box-shadow: 0px 1px 4px rgba(0,0,0,0.3), 0px 0px 20px rgba(0,0,0,0.3) inset; }