Преобразование перехода на выходе при наведении - PullRequest
0 голосов
/ 06 июня 2018

Я использую «translate3d» с «переходом» при наведении курсора для перемещения элемента div в поле зрения.

Это правильно работает при наведении курсора, но при выходе я бы хотел, чтобы он перешел обратно из поля зрения.,В настоящее время это просто исчезает.

Все, что я пробовал, не работает, поэтому я надеялся, что кто-то сможет указать на явную ошибку, которую я совершаю?

См. Мою ручку:

https://codepen.io/anon/pen/KeMxoB

А вот и CSS:

  a.box-item {
    position: relative;
    display: block;
    overflow: hidden;
}

a.box-item img {
    opacity: 1;
    transition: opacity 0.35s;  
}

a.box-item .text {
    display: flex;
    align-items: center;
    justify-content: center;        
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 20px;
    margin: 0;

    opacity: 0;
    transition: transform 0.35s;
    transform: translate3d(0,100%,0);
}

a.box-item .text h2 {
    color: #FFF;
    font-weight: 100;
    opacity: 0;
    transition: opacity 0.35s;
    transition-delay: 0.05s;
}

a.box-item:hover {
    background: #000;
}

a.box-item:hover img {
    opacity: 0.8;
}

a.box-item:hover .text {
    opacity: 1;
    transform: translate3d(0,0,0);
}

a.box-item:hover .text h2 {
    opacity: 1;
}

Ответы [ 3 ]

0 голосов
/ 06 июня 2018

Используйте "transition: all 0.35s;" вместо "transition: transform 0.35s;" на

a.box-item .text {
        display: flex;
        align-items: center;
        justify-content: center;        
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 20px;
        margin: 0;
        opacity: 0;
        transition: all 0.35s;
        transform: translate3d(0,100%,0);
    }

, это поможет вам.

0 голосов
/ 06 июня 2018

Использовать "переход: все 0,35 с;"вместо «переход: преобразование 0,35 с;» .это будет работать.

a.box-item .text {
    display: flex;
    align-items: center;
    justify-content: center;        
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 20px;
    margin: 0;
    opacity: 0;
    transition: all 0.35s;
    transform: translate3d(0,100%,0);
}
0 голосов
/ 06 июня 2018

Использовать transition: transform 2s, opacity 1s 1s; для элемента .text

transition: transform 2s, opacity 1s 1s;


a.box-item .text {
    display: flex;
    align-items: center;
    justify-content: center;        
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 20px;
    margin: 0;

    opacity: 0;
    transition: transform 2s, opacity 1s 1s;
    transform: translate3d(0,100%,0);
}
...