Как при наведении на один блок изменять стили другого, когда блоки находятся в разных местах?
Мне нужно что бы при наведении на один из li, изменялись стили блоков figures. В начале я хотел сделать по красоте, такой формой:
.what-we-do__list:nth-child(1):hover figures__hover-1 < //какие то стили >
Но вскоре понял что она не сработает. Ладно думаю, сделаю не очень красиво, добавлю классы каждой лишке и по ним буду обращаться на прямую. Но нет! И это не сработало. После узнал что существуют такие символы как «+» и «~», отвечающие за распространение стилей, либо глобально, либо локально. Но это не работает, я не понимаю почему.

Web development(sites, landing pages etc)Building of applications for different platformsSystems for internal stakeholders(finance, sales, logistics)Maintenance of digital assets(app, sites, systems etc)Technical infrastructure providing(hosting, licenses etc)AnalyticsMedia support
Explore our capabilities
- Вопрос задан более двух лет назад
- 555 просмотров
Как при наведении на один элемент менять стили другого элемента?
Как сделать так, чтобы при наведении на один элемент (hover) менять стили другого элемента?
Можно ли это сделать только на css ?
К примеру: навожу на блок и хочу чтобы все заголовки в этом блоке стали другого цвета. Как записать?
Так не работает:
.block:hover < .block h1 < color: red;>>
Отслеживать
user207618
задан 1 фев 2014 в 14:05
1,727 4 4 золотых знака 25 25 серебряных знаков 45 45 бронзовых знаков
10 ответов 10
Сортировка: Сброс на вариант по умолчанию
.section < background: #ccc; >.layer < background: #ddd; >.section:hover img < border: 2px solid #333; >.section:hover .layer
Lorem Ipsum
Отслеживать
user207618
ответ дан 1 фев 2014 в 14:09
17.9k 3 3 золотых знака 46 46 серебряных знаков 86 86 бронзовых знаков
Для соседних элементов:
.block1:hover + .block2 h1
Для любых элементов(оба блока должны быть внутри одного элемента):
.block1:hover ~ .block2 h1
Отслеживать
6,894 2 2 золотых знака 26 26 серебряных знаков 56 56 бронзовых знаков
ответ дан 18 дек 2015 в 18:06
Женя Веденин Женя Веденин
1,304 1 1 золотой знак 17 17 серебряных знаков 33 33 бронзовых знака
И block2 должен идти после block1
18 дек 2015 в 21:17
Добавил сниплет-пример если не возражаете
18 дек 2015 в 21:36
Работает только если менять блоки местами, а это не всегда удобно.
25 авг 2018 в 18:45
так заработает тот что глубже «.block1:hover ~ div .block2 h1 < color: red;>» codepen.io/woodsleaf/pen/PryOjg
8 июл 2019 в 0:30
то есть, внешний блок нереально стилизовать?
15 сен 2019 в 10:08
Заранее говорю, русский язык у меня не самая сильная сторона, заранее извиняюсь за ошибки, если будут 😉 Выше показанные примеры все правильные, но они очень ограничены, при желании изменить другой элемент(который может быть совсем далеко) будет не возможно что-то изменить. Но я могу предложить вариант с JavaScript и он чень простой для усвоения. Главное не бойтесь использовать 🙂
function changeItem() < document.getElementById('one-two').style.width = '200px'; >// функция, которая сработает при наведении. //она означает - выбрать элемент к Id у которого надо что-то изменить. // когда в скобки где написано one-two добавите Id своего элемента function rechangeItem() < document.getElementById('one-two').style.width = '100px'; >// тут всё также. но наобарот. протсес происходящий про отводе курсора.
#one, #two, #one-two < width: 100px; height: 30px; background: red; margin: 30px; >/*Надеюсь, что тут все понятно, заданы елементарные свойства :)*/
Отслеживать
ответ дан 6 сен 2018 в 0:04
Chingiz Mamedov Chingiz Mamedov
323 2 2 серебряных знака 7 7 бронзовых знаков
.s:hover~.d
wow hey
Отслеживать
ответ дан 6 авг 2018 в 6:22
Васильев Мирослав Васильев Мирослав
61 1 1 серебряный знак 1 1 бронзовый знак
.block:hover h1
zagolovok
zagolovok
Отслеживать
122k 24 24 золотых знака 124 124 серебряных знака 299 299 бронзовых знаков
ответ дан 25 фев 2016 в 10:50
41 2 2 бронзовых знака
Если нужно изменить все заголовки в одном блоке, на который навели курсор мыши, то вот так:
.main:hover h2
How are you?
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente.
Hi
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente.
Ok
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente.
So-so
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente.
Если же нужно изменять стиль элемента, который находится выше элемента с псевдоклассом :hover, то я делал так (размещал изменяемый элемент ниже элемента с псевдоклассом :hover и при помощи flexbox вытягивал его на нужное мне место):
.main < display: flex; flex-direction: column; font: 10px Arial, sans-serif; color: #333; >.one < order: -1; >.two:hover ~ .one
How are you? Hi Ok So-so
Отслеживать
ответ дан 5 окт 2017 в 9:19
Viktar Daniliuk Viktar Daniliuk
41 1 1 бронзовый знак
div < padding:20px; background:#eee; border:1px solid #ccc; margin:10px; >.anotherdiv < visibility:hidden; opacity:0; transition:all 1s; >.div:hover + .anotherdiv
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Отображение скрытых элементов при наведении мыши на гиперссылку или на тег
При наведении мыши скрытые элементы HTML могут стать видимыми с помощью CSS. В этой статье вы научитесь, как отображать скрытые элементы. Можно применять CSS для отображения любого HTML-элемента при наведении мыши на тег , используя смежные одноуровневые селекторы. Смежный одноуровневый селектор используется, чтобы выбрать смежный элемент или элемент, находящийся рядом с указанным тегом селектора. Этот комбинатор выбирает только один тег, который находится рядом с указанным тегом.
Рассмотрим пример и попробуем разобраться с каждой частью кода.
1.Создайте HTML
- Можно добавить тег в разделе для выравнивания контента по центру (тег не поддерживается в HTML5). Вместо этого можно также использовать CSS свойство text-align со значением “center”.
- Добавьте тег и напишите в нем контент.
- Добавьте тег или для выделения указанной части текста жирным шрифтом, чтобы он был заметен для пользователя.
- Добавьте тег , который указывает разрыв строки.
- Добавьте тег , используемый для вставки гиперссылок на другие страницы, или файлы, местоположения на одной и той же странице, электронные почты, или любой другой URL.
- Создайте тег и напишите в нем контент.
body> h2>W3docsh2> b> Наведите мышь на элемент внизу, чтобы увидеть div-элемент. b>
a href=”https://www.w3docs.com/”>W3docs Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне.