Иногда бывает полезно сделать некоторые элементы страницы видимыми только, например. парит. Примером может служить виджет stackoverflow «обратная связь — был ли этот пост полезен для вас?». Поскольку эти элементы могут иметь решающее значение для интерфейса, такая функция отображения при наведении должна быть прогрессивным улучшением или, другими словами, ненавязчивой и изящной деградацией.
Обычно используется javascript, т.е. скрыть элементы и сделать их доступными при наведении курсора на родительский элемент. Причина такого выбора может заключаться в том, что :hover
не поддерживает все элементы, особенно в устаревших браузерах, тем самым запрещая вам скрывать элементы в первую очередь вплоть до css2. (пример js/jQuery см. jquery, показывающий элементы при наведении )
Интересно, можно ли безопасно реализовать такую функцию* с чистым css3, используя :not(:hover)
и :hover
, не затрагивая старые браузеры. Насколько я понимаю, требование состоит в том, что каждый браузер, поддерживающий :not()
, должен поддерживать :hover
для всех элементов. Судя по следующим источникам, это так и есть
Пример реализации: http://jsfiddle.net/LGQMJ/
Что вы думаете? Есть возражения или другие источники?
*Под благополучно я подразумеваю, что браузер всегда должен показывать все элементы в крайнем случае.