Básicamente, se agrega una clase "resaltada" a los elementos con clase "edge" dinámicamente a través de javascript en mouseenter. La clase de resaltado se elimina en mouseleave. Quiero hacer la transición del color del borde de estos elementos. Sin embargo, esta clase "resaltada" también modifica el orden de la pila. Quiero que se establezca un índice Z de 1 en todos los bordes resaltados antes de que comience la transición (en el mouseenter) y quiero que el índice Z de 1 se elimine después de que se complete la transición (en mouseleave). Actualmente, la propiedad del índice Z se restablece inmediatamente después de eliminar la clase "resaltar".Transiciones CSS3: cómo demorar el restablecimiento de la propiedad del índice Z?
base estableció:
.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;
}
primer intento (obviamente la demora fija el calendario en un extremo y se mete hacia arriba por el otro):
.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;
}
Cualquier y toda ayuda es mucho apreciado. Gracias por adelantado.
edición: Tenga en cuenta que el usuario puede mouseenter/mouseleave en varios bordes diferentes antes de que las transiciones tengan la oportunidad de completarse. Gracias.
Me adaptado su ejemplo para mis circunstancias particulares. Está cerca, pero no hay cigarro. El problema es que hay bordes superpuestos y es posible tener muchas transiciones diferentes ejecutándose a la vez. Su técnica funciona siempre que el usuario no realice transiciones en cascada sobre bordes superpuestos (es decir, espera hasta que la transición de mouseleave se complete antes de comenzar otra transición de mouseenter en un borde superpuesto). Gracias sin embargo. ¡Casi! Yo votaría su respuesta porque todavía es útil, pero no tengo el representante para eso. – Shane