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