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