基本的に、「ハイライト」クラスは、クラス「エッジ」を持つ要素に、マウスエンターの JavaScript を介して動的に追加されます。ハイライト クラスは、mouseleave で削除されます。これらの要素の境界線の色を変更したい。ただし、この「ハイライト」クラスもスタックの順序を変更します。トランジションが開始する前に (mouseenter で) ハイライトされたすべてのエッジに 1 の z-index を設定し、トランジションが完了した後 (mouseleave で) 1 の z-index を削除したい。現在、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;
}
すべてのヘルプは非常に高く評価されています。前もって感謝します。
編集:トランジションが完了する前に、ユーザーがいくつかの異なるエッジで mouseenter/mouseleave できることに注意してください。ありがとう。