基本上,通过 mouseenter 上的 javascript 动态地将“highlight”类添加到具有“edge”类的元素中。高亮类在鼠标离开时被删除。我想转换这些元素的边框颜色。然而,这个“highlight”类也修改了堆栈顺序。我希望在过渡开始之前(在 mouseenter 上)在所有突出显示的边缘上设置 z-index 1,并且我希望在过渡完成后(在 mouseleave 上)删除 z-index 1。目前 z-index 属性在“highlight”类被删除后立即重置。
基本设置:
.edge {
border-color: hsl(0, 0%, 40%);
border-style: solid;
border-width: (set appropriately in another selector);
transition-duration: 1s;
-moz-transition-duration: 1s;
-o-transition-duration: 1s;
-webkit-transition-duration: 1s;
transition-property: border-color;
-moz-transition-property: border-color;
-o-transition-property: border-color;
-webkit-transition-property: border-color;
}
.edge.highlight {
border-color: hsl(0, 0%, 85%);
z-index: 1;
}
第一次尝试(显然延迟在一端固定了时间,而在另一端搞砸了):
.edge {
border-color: hsl(0, 0%, 40%);
border-style: solid;
border-width: (set appropriately in another selector);
transition-duration: 1s, 0;
-moz-transition-duration: 1s, 0;
-o-transition-duration: 1s, 0;
-webkit-transition-duration: 1s, 0;
transition-delay: 0, 1s;
-moz-transition-delay: 0, 1s;
-o-transition-delay: 0, 1s;
-webkit-transition-delay: 0, 1s;
transition-property: border-color, z-index;
-moz-transition-property: border-color, z-index;
-o-transition-property: border-color, z-index;
-webkit-transition-property: border-color, z-index;
}
非常感谢任何和所有帮助。提前致谢。
编辑:请记住,在过渡有机会完成之前,用户可以在几个不同的边缘上鼠标进入/鼠标离开。谢谢。