Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/47: Рейтинг темы: голосов - 47, средняя оценка - 4.60
2 / 2 / 1
Регистрация: 25.06.2013
Сообщений: 308

При наведении на один класс, изменить другой

08.10.2017, 19:09. Показов 9599. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Столкнулся с проблемой, которую не могу решить.
Как при наведении на один класс, изменить другой?

Вот песочница, в которой я набросал код:
https://codepen.io/Heavenanvil/pen/gGewvy

Если лень ходить, можете посмотреть здесь:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<a href="#">
  <div>
    <img class="img" id="one" src="https://www.codeproject.com/KB/GDI-plus/ImageProcessing2/img.jpg" />
    <img class="img" id="two" src="http://www.readersdigest.ca/wp-content/uploads/2011/01/4-ways-cheer-up-depressed-cat.jpg" />
    <img class="img" id="three" src="https://www.petfinder.com/wp-content/uploads/2012/11/91615172-find-a-lump-on-cats-skin-632x475.jpg" />
    <img class="img" id="four" src="https://www.what-dog.net/Images/faces2/scroll0015.jpg" />
  </div>
</a>
<div>
  <ul class="button">
    <li id="button_one">One</li>
    <li id="button_two">Two</li>
    <li id="button_three">Three</li>
    <li id="button_four">Four</li>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.img {
  width: 300px;
}
#one {
  display: block;
}
#two, #three, #four {
  display: none;
}
.button li {
  display: inline;
  border: 1px solid #ccc;
  padding: 10px;
  background: #e8e8e8;
}
 
/*При наведении на 1-ю кнопку, все остальные исчезают*/
#button_one:hover #one {
  display: block;
}
#button_one:hover #two, #three, #four {
  display: none;
}
 
/*При наведении на 2-ю кнопку, все остальные исчезают*/
#button_two:hover #two {
  display: block;
}
#button_one:hover #one, #three, #four {
  display: none;
}
 
/*При наведении на 3-ю кнопку, все остальные исчезают*/
#button_three:hover #three {
  display: block;
}
#button_three:hover #one, #two, #four {
  display: none;
}
 
/*При наведении на 4-ю кнопку, все остальные исчезают*/
#button_four:hover #four {
  display: block;
}
#button_four:hover #one, #two, #three {
  display: none;
}
Хотелось бы решение на чистом CSS.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.10.2017, 19:09
Ответы с готовыми решениями:

При наведении на один объект - изменяем другой
как сделать так, что б при наведении мыши на &lt;div class = &quot;a_menu&quot;&gt; изменялся цвет ссылки (именно той ссылки, которая в задейсвеном...

Изменить родительский класс при наведении на дочерний
Всем привет. Битый час бьюсь с проблемой, решил спросить у вас. Имеется див, шириной 100%. Поверх него (внутри) висят 5 дивов,...

При наведении курсора на один блок, плавно выпадает другой
Грубо говоря я немного запутался с jQuery. Начал изучать не так давно. Прошу вас помочь мне разобраться. Ну вот например у меня есть: ...

3
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
08.10.2017, 19:26
Если на чистом css то у элементов должен быть общий родитель, и элементы у которых меняется стиль должны в html коде идти после элемента с hover.
Иначе только на JS
0
2 / 2 / 1
Регистрация: 25.06.2013
Сообщений: 308
08.10.2017, 19:32  [ТС]
Не совсем понял. Можете мой код переделать? Для наглядности.
0
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
08.10.2017, 19:52
Лучший ответ Сообщение было отмечено Рафик как решение

Решение

Примерно так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<div class="wrapper">
    <div id="button_one">One</div>
    <div id="button_two">Two</div>
    <div id="button_three">Three</div>
    <div id="button_four">Four</div>
 
    <img class="img" id="one" src="https://www.codeproject.com/KB/GDI-plus/ImageProcessing2/img.jpg" />
    <img class="img" id="two" src="http://www.readersdigest.ca/wp-content/uploads/2011/01/4-ways-cheer-up-depressed-cat.jpg" />
    <img class="img" id="three" src="https://www.petfinder.com/wp-content/uploads/2012/11/91615172-find-a-lump-on-cats-skin-632x475.jpg" />
    <img class="img" id="four" src="https://www.what-dog.net/Images/faces2/scroll0015.jpg" />
  
  </div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.img {
  margin-top:15px;
  width: 300px;
}
#one {
  display: block;
}
#two, #three, #four, {
  display: none;
}
#button_one, #button_two,#button_three,#button_four{
  display: inline;
  border: 1px solid #ccc;
  padding: 10px;
  background: #e8e8e8;
}
 
/*При наведении на 1-ю кнопку, все остальные исчезают*/
#button_one:hover #one {
  display: block;
}
 
/*При наведении на 2-ю кнопку, все остальные исчезают*/
#button_two:hover ~#two {
  display: block;
}
#button_two:hover ~#one {
  display: none;
}
 
/*При наведении на 3-ю кнопку, все остальные исчезают*/
#button_three:hover ~#three {
  display: block;
}
#button_three:hover ~#one {
  display: none;
}
 
/*При наведении на 4-ю кнопку, все остальные исчезают*/
#button_four:hover ~#four {
  display: block;
}
#button_four:hover ~#one{
  display: none;
}
1. У всех элементов должен быть общий родитель ( в данном случае это див с классом wrapper).
2. Все изменяемые элементы в коде html должны идти ниже элементов которые их изменяют (картинки в коде ниже чем кнопки), средствами css их можно разместить где угодно конечно, но в html только так.
3. Элемент который в коде html расположен выше элемента которым он изменяется, средствами css3 изменить нельзя, тут либо JS, либо ждем css4 (так например мы не можем при наведении на кнопку Two изменить, например, цвет кнопки One
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.10.2017, 19:52
Помогаю со студенческими работами здесь

Как изменить CSS дива при наведении на другой div
Как изменить CSS дива при наведени на другой div или при наведении на img-ссылку? чтобы было как :hover, только с другим элементом..

При наведении на один блок, появляется другой блок и прячется если на блок не наводить
Как тут

Область видимости. один класс не видит другой класс
Добрый день! такая проблема. Есть базовый класс Q. От него наследуется 2 класса Р и G. Класс P имеет два конструктора 1 принимает...

Один класс не видит другой класс
Не компилируется код, компилятор выдает ошибку, как я понял это из-за того что я использую в первом классе, второй класс который идет после...

Изменить цвет при наведении
нужно чтоб при наведении мыши на картинку показывала свой цвет, наоборот - становилась серой... как это реализовать?? или надо делать две...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru