Является ли :not(:hover) и :hover безопасным способом скрыть доступные элементы?

Иногда бывает полезно сделать некоторые элементы страницы видимыми только, например. парит. Примером может служить виджет stackoverflow «обратная связь — был ли этот пост полезен для вас?». Поскольку эти элементы могут иметь решающее значение для интерфейса, такая функция отображения при наведении должна быть прогрессивным улучшением или, другими словами, ненавязчивой и изящной деградацией.

Обычно используется javascript, т.е. скрыть элементы и сделать их доступными при наведении курсора на родительский элемент. Причина такого выбора может заключаться в том, что :hoverне поддерживает все элементы, особенно в устаревших браузерах, тем самым запрещая вам скрывать элементы в первую очередь вплоть до css2. (пример js/jQuery см. jquery, показывающий элементы при наведении )

Интересно, можно ли безопасно реализовать такую ​​функцию* с чистым css3, используя :not(:hover)и :hover, не затрагивая старые браузеры. Насколько я понимаю, требование состоит в том, что каждый браузер, поддерживающий :not(), должен поддерживать :hoverдля всех элементов. Судя по следующим источникам, это так и есть

Пример реализации: http://jsfiddle.net/LGQMJ/

Что вы думаете? Есть возражения или другие источники?

*Под благополучно я подразумеваю, что браузер всегда должен показывать все элементы в крайнем случае.

32
задан Community 23 May 2017 в 12:32
поделиться