2012-06-15 2 views
-1

Я делал домашнее задание, и, похоже, вы не можете использовать эффект перехода CSS, когда используете display:none; и display:inline; и так далее.CSS выпадающее меню выцветания перехода и отображения

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

Я попытался удалить display из моего CSS, но когда я делаю это, элемент там (несмотря на то, что он не виден) и исчезает, когда вы наводите на него курсор. Я прочитал предложение добавить «pointer-events: none»; к этому, который не является совместимым с браузером. Это также заставляет мерцающий элемент мерцать, если вы снова наведите указатель мыши на него.

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

Я знаю, что это возможно, потому что я видел его на многих сайтах, но я просто не могу заставить его работать сразу на шахте

Вот мой код:

http://pastebin.com/zVQapUNz

+0

Большинство сайтов использует jquery или аналогичный javascript для эффектов. Некоторые эффекты будут работать только на блоках, вы пробовали встроенный блок? – Ekim

+0

Я попробовал, что да ... такой же эффект. Единственное, что заставляет переходы работать, - это полностью удалить элемент отображения из него. Но в этом случае пункты меню просто невидимы и недостаточно скрыты. – MattBoothDev

ответ

1

Я написал код в jsfiddle.net

http://jsfiddle.net/3PD7D/1/

это делает работу, когда курсор мыши над I t, вы можете использовать ту же концепцию, чтобы изменить непрозрачность

from {opacity:1;} 
to {opacity:0;} 

чтобы скрыть меню. Однако это сделает его прозрачным, все, что осталось, будет видимым, но не кликабельным. Я не пробовал, что произойдет, если вы добавите отображение: нет в конец анимационного кадра.

+0

jsfiddle! Я искал это, чтобы опубликовать свой код, но не мог вспомнить имя. В настоящее время это решение у меня на месте на сайте, но оно не работает с IE9, а также не отменяет эти значения, вызывая исчезновение :( – MattBoothDev

+0

, как вы можете видеть здесь: http://jsfiddle.net/kQ3J2/реверсирование не исчезает ... если я не делаю это неправильно (я новичок в анимации) – MattBoothDev

+0

http://jsfiddle.net/kQ3J2/3/, если вы добавите из {opacity: 1;} to {opacity: 0; visibility: hidden; display: none;} добавить следующий набор стилей в цель, когда скрыть его. Однако проблема в том, что после того, как пользователь набросится на меню, начнется постепенное исчезновение. не могу придумать способ предотвратить это, не используя jquery. – Ekim