Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Стили (CSS) » CSS3: все возможности hover...

CSS3: все возможности hover...


     22.03.2013    css3, hover, эффекты    Все вопросы » Стили (CSS)    6393

вопрос
Всем привет!
Прошу помощи от знатоков CSS3. В интернете есть куча сайтов где рассматриваются возможности CSS. Но я нигде не нашел информацию про скрытые (так сказать) возможности hover. У меня с английским плохо, однако мне это не помешало прочесть хорошую часть этой книги - http://www.amazon.com/Pro-CSS3-Animation-Professional-Apress/dp/1430247223. И так собственно говоря вопрос: Можно ли при наведении на определенный элемент поменять значения другого элемента. Что я выяснил: В определенных случаях это возможно, вот пример. Однако и тут есть свои подводные камни, например, при наведении курсора мыши на первый блок, браузер меняет цвет фона второго блока, однако обратного эффекта почему то не наблюдается. Почему? Последний по списку элемент не может пенять первый? Или же вот другая загадка: из книги (о которой говорилось выше) я выяснил что в CSS разрешен такой синтакс: .panel-1:hover + .panel-2{свои значения}. Миниатюрным движением двух своих пальцев левой руки я смог взглянуть на исходный код этого сайта, а точнее на всплывающее меню, и тут я увидел совершено другую картину: #menu ul li:hover > a > .sf-sub-indicator
Объясните пожалуйста все возможные варианты использование псевдокласса :hover. Когда применяется "+" а когда ">"? Заранее благодарен всем кто постарается помочь. Спасибо. С уважением Weblitt.

П.С. Думаю автор сайта не будет против, приводите пожалуйста ссылки на другие ресурсы (включая и англоязычные), где рассматривается эти вопросы. Я лично нашел в спецификации WC3 вот это.

Ответил: BR0kEN


Демо (CSS и jQuery варианты): http://jsfiddle.net/9pLWc/2/

Также крайне полезно знать о селекторе обобщенных родственных элементов и о селекторе дочерних элементов.

jQuery события:
.mouseenter()
.mouseleave()

Отступление:
В 85% случаев хватает CSS селекторов, но бывают и так, что дерево элементов не позволяет ограничиться стилями.

На селекторе дочерних элементов, к примеру, можно создать меню любого уровня вложенности.

З.Ы. Слово "hover" обозначает не скрытие, а действие при наведении: http://translate.google.com/#auto/ru/hover%20over%20me

3 комментария

Weblitt
Юзер

Weblitt - 22 марта 2013 16:31 -

Спасибо.
Но ваш пример немного отличается от моего, т.е. у вас есть родительский блок див. Я имел виду нечто другое.
Вот что мне удалось определить. Методом дедукции, я определил, что браузер соглашается изменять значение только ВТОРОГО блока если навести мышь на первый, т.е. они должны находится рядом. Я попытался изменить фон для третьего блока но при наведении на первый, результат - 0. Посмотрите сами, перескакивать через блоков нельзя. Меня значения можно только для блоков которые идут следом, т.е. при наведении на 3 блок - значение 1 поменять не получится. Все становится интереснее и интереснее...
За ссылку спасибо.

BR0kEN
Эксперт

BR0kEN - 22 марта 2013 16:34 -

Вы задали вопрос:
Можно ли при наведении на определенный элемент поменять значения другого элемента?

Я ответил не только "да", но еще и "как". В примере две реализации. В первой, используя CSS, необходим родительский элемент, во-второй, используя jQuery можно извращаться как угодно. Хоть наводить на футер и подсвечивать хедер.

Вот вам еще дополнительное демо: http://jsfiddle.net/9pLWc/6/

Weblitt
Юзер

Weblitt - 23 марта 2013 00:34 -

Огромное спасибо! :)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 04.10.2014 retyuio  Стили (CSS)
наверх