2012-02-22 7 views
17

У меня есть коробка, которая меняет размер при зависании. Тем не менее, я хотел бы отложить этап mouseout, чтобы ящик сохранял новый размер в течение нескольких секунд, прежде чем вернуть старый размер.Задержка мыши/зависание с переходами CSS3

div { 
    width: 70px; 
    -webkit-transition: .5s all;  
} 

div:hover { 
    width:130px; 
} 

Возможно ли это, БЕСПЛАТНО Javascript и только CSS3? Мне нужно только заботиться о поддержке webkit.

+0

Вы пробовали использовать свойство css3? Я пробовал некоторые вещи с анимацией, но я не уверен, что это то, что вы хотите. но если вы хотите, я могу вам это дать. – Shabib

ответ

37
div { 
    width: 70px; 
    -webkit-transition: .5s all; 
    -webkit-transition-delay: 5s; 
    -moz-transition: .5s all; 
    -moz-transition-delay: 5s; 
    -ms-transition: .5s all; 
    -ms-transition-delay: 5s; 
    -o-transition: .5s all; 
    -o-transition-delay: 5s; 
    transition: .5s all; 
    transition-delay: 5s; 
} 

div:hover { 
    width:130px; 
    -webkit-transition-delay: 0s; 
    -moz-transition-delay: 0s; 
    -ms-transition-delay: 0s; 
    -o-transition-delay: 0s; 
    transition-delay: 0s; 
} 

Это приведет к прямому состоянию мыши, но подождите 5 секунд до тех пор, пока мышь не будет запущена.

Fiddle

+1

отредактирован для добавления префиксов non webkit тоже - это просто хорошая практика –

+0

в определении тега div, не указывает «переход:» и «переход-задержка» по существу дубликат? Первое значение спецификации перехода - это значение задержки, нет? – Screenack

+1

@Screenac Нет, первое значение - это продолжительность перехода - сколько времени потребуется, чтобы завершить его, как только оно начнется. – Sandwich

6

переход может быть объявлена ​​как

transition: .5s all 5s 

(стенографии, первое число продолжительность, второе число задержка) , то вам не нужен отдельный переход задержку

Извините, не могу добавить комментарий, так как мне не хватает баллов