#transition #css
Добрый день. Есть задача: сделать задержку скрытия элемента (меню второго уровня). Как это сделать на JS - догадываюсь, но хотелось бы обойтись одним CSS. Если вместо display использовать visibility, то все хорошо: .menu.second { visibility:hidden; opacity:0; transition:visibility 0s linear 0.5s,opacity 0.5s linear; } .menu.second:hover { visibility:visible; opacity:1; transition-delay:0s; } Но мне необходимо именно display:block и display:none. Как это реализовать?
Ответы
Ответ 1
Так же можно и width и height поставить 0 , задержка будет работать , на display transition не отрабатывает , либо применять js.Ответ 2
Вы не сможете навести мышь на элемент который не занимает место в DOM, т.е. у которого стиль display: none; Попробуйте через position: absolute;. т.е. как-то так. .menu.second { position: absolute; visibility:hidden; opacity:0; transition:visibility 0s linear 0.5s,opacity 0.5s linear; } .menu.second:hover { position: static; visibility:visible; opacity:1; transition-delay:0s; } Но проблема с активацией объекта (наведением мыши) остаётся.
Комментариев нет:
Отправить комментарий