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