Я знаю, что вы можете установить разные длительности для разных свойств с переходами CSS. Но можно ли установить разные длительности для того же?Переходы CSS, разные длительности с тем же свойством?
Пример: Я хочу, чтобы коробка расти/сокращаться по ширине длины Я быстро при наведении/выход мыши, но расти/сокращаться по ширине длиной B медленно при нажатии кнопки, используя другой класс.
Вот пример:
На данный момент коробка только растет быстро, когда парил, она сжимается медленно при выходе мыши. Конечно, это ожидается, так как класс .box
имеет скорость медленной продолжительности, но есть ли способ обойти это? Я разработал хакерский способ сделать это с setTimeout
и дополнительным «быстрым» классом, но было бы прекрасно, если бы был более элегантный способ.
Примечание: Я знаю, что это можно сделать с помощью jQuery. Я действительно ищу его, чтобы работать с CSS, однако, поскольку фактическая проблема, с которой я сталкиваюсь за пределами этого изолированного примера, - это 3D-преобразования. Это было просто для примера. :)
CSS:
.box {
background: red;
width: 100px;
height: 100px;
margin: 10px;
-webkit-transition: width 2s;
}
.lengthA
{
width: 300px;
-webkit-transition-duration: 0.2s; /* Can this be used when class removed? */
}
.lengthB {
width: 500px;
}
JQuery:
$('.box').on('mouseenter', function() {
$(this).addClass('lengthA');
})
$('.box').on('mouseleave', function() {
$(this).removeClass('lengthA');
})
$('.makeBig').on('click', function() {
$('.box').toggleClass('lengthB');
})
HTML:
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<button class="makeBig">Grow!</button>
Я придумал решение, основанное на использовании «ширина» и «мин-ширина». И это работает. Но это требует возврата к решению с множеством переходов для одного класса. Это полезно? –
Хм, конечно, креативен, к сожалению, это действительно не помогает, потому что на самом деле моя проблема связана с 3D Transforms, я просто использовал ширину в качестве простого примера, не хотел слишком усложнять вопрос. Спасибо, в любом случае! – AlexKempton