Подтвердить что ты не робот

Как я могу отложить эффект: hover в CSS?

Есть ли способ отложить событие: Hover без использования JavaScript? Я знаю, что есть способ отложить анимацию, но я ничего не видел о задержке события: hover.

Я создаю меню, похожее на сына-сосунка. Я хотел бы смоделировать, что делает hoverIntent без добавления дополнительного веса JS. Я бы предпочел рассматривать это как прогрессивное улучшение и не делать JS обязательным требованием для использования меню.

Пример разметки меню:

<div>
    <div>
        <ul>
            <li><a href="#">
                <ul>
                    <li></li>
                    <li></li>
                </ul>
            </li>
            <li>
            <li>
        </ul>
    </div>
</div>

Вот полная демонстрация: http://jsfiddle.net/aEgV3/

4b9b3361

Ответ 1

Вы можете использовать переходы для задержки :hover эффекта :hover, если этот эффект основан на CSS.

Например

div{
    transition: 0s background-color;
}

div:hover{
    background-color:red;    
    transition-delay:1s;
}

это задержит применение эффектов наведения (в данном случае background-color) на одну секунду.


Демонстрация задержки при включении и выключении:

div{
    display:inline-block;
    padding:5px;
    margin:10px;
    border:1px solid #ccc;
    transition: 0s background-color;
    transition-delay:1s;
}
div:hover{
    background-color:red;
}
<div>delayed hover</div>

Ответ 2

div {
     background: #dbdbdb;
    -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 {
    background:#5AC900;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

Это добавит задержку перехода, которая будет применима почти к каждому браузеру.

Ответ 3

Для более эстетичного внешнего вида:) может быть:

left:-9999em; 
top:-9999em; 

позиция для .sNv2 .nav UL может быть заменена на z-index:-1 и z-index:1 для .sNv2 .nav LI:Hover UL