Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742

При наведении на ссылку, применить свойство к соседнему элементу родительского блока

25.10.2016, 16:34. Показов 1026. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Структура такова:
HTML5
1
2
3
4
5
div.first
   ul
      li
        a.travels
div.next
Вот какое отношение между ними задать, что бы нашло?
CSS
1
2
div.first a.travels:hover div.next
    display: block
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.10.2016, 16:34
Ответы с готовыми решениями:

Обратиться к соседнему элементу блока
Добрый вечер. столкнулся с проблемой <ul class="service_menu_ul"> <li> <a href="#">asdasd</a> <ul...

Как при наведении на дочерний блок менять стиль родительского блока
Здравствуйте, подскажите пожалуйста как при наведении на дочерний блок менять стиль родительского блока? Например: <div...

Не удается применить свойство к первму элементу
.b_right article:first-child a Работает тогда, когда в блоке находятся только блоки article. И не работает в том случаи когда перед...

10
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
25.10.2016, 17:00
Нет, так не выйдет.
a.travels:hover div.next будет искать блок .next, который лежит в .travels
Как вариант:
CSS
1
2
3
4
5
6
7
8
#inp{
  height:0;
  width: 0;
  overflow: hidden;
}
#inp:hover ~ .next{
  color:red;
}
HTML5
1
2
3
4
5
6
7
<input id="inp" type="radio" />
<div class="first">
  <ul>
    <li><label for="inp"><a class="travels">hover</a></label></li>
  </ul>
</div>
<div class="next">colored</div>
0
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
25.10.2016, 17:07  [ТС]
Цитата Сообщение от mrtoxas Посмотреть сообщение
a.travels:hover div.next будет искать блок .next, который лежит в .travels
Это понятно, мне думалось, что между ними можно какое-то отношение поставить, дабы нашло

Цитата Сообщение от mrtoxas Посмотреть сообщение
Как вариант
Мне не ясен вариант, когда при наведении на любой инпут, у блока с классом некст, лежащем на том же уровне, меняется цвет

Я выпадающее меню пилю, может проще реструктурировать html?
0
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
25.10.2016, 17:14
Я показал пример, как можно выйти из ситуации. Если у вас есть возможность менять разметку, меняйте. Но вверх по DOM дереву без связки input+label вы не подниметесь. Быть может имеет смысл повесить обработчики. Надо смотреть всю разметку меню.
0
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
25.10.2016, 17:20  [ТС]
Интересующий кусок, при наведении на пункт Travels, соответствующее подменю должно появиться.
HTML5
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
<header>
      <div class="container_header">
        <ul>
          <li> <a href="#">Home</a></li>
          <li> <a href="#">News</a></li>
          <li> <a href="#">Economics</a></li>
          <li> <a href="#">Local</a></li>
          <li> <a href="#">Sport</a></li>
          <li> <a href="#">Culture</a></li>
          <li> <a class="travels" href="#">Travels</a></li>
          <li> <a href="#">Living</a></li>
          <li> <a href="#">Money</a></li>
          <li> <a href="#">Technology</a></li>
          <li> <a href="#">More</a></li>
        </ul>
      </div>
      <div class="submenu_travels">
        <ul>
          <li><a href="#">Amsterdam</a></li>
          <li> <a href="#">Bahamas</a></li>
          <li> <a href="#">Jamaica</a></li>
          <li> <a href="#">Las Vegas</a></li>
          <li> <a href="#">London</a></li>
          <li> <a href="#">Los Angeles</a></li>
          <li> <a href="#">Miami</a></li>
          <li> <a href="#">Montreal</a></li>
          <li> <a href="#">Paris</a></li>
          <li> <a href="#">Rome</a></li>
        </ul>
      </div>
    </header>
0
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
25.10.2016, 17:25
CSS
1
2
3
4
5
6
.submenu{
  display:none;
}
li:hover>.submenu{
  display:block;
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<header>
  <div class="container_header">
    <ul>
      <li> <a href="#">Home</a></li>
      <li> <a href="#">Culture</a></li>
      <li> <a href="#">Travels</a>
        <ul class="submenu">
          <li><a href="#">Amsterdam</a></li>
          <li> <a href="#">Bahamas</a></li>
        </ul>
      </li>
      <li> <a href="#">Living</a></li>
    </ul>
  </div>
</header>
1
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
25.10.2016, 17:43  [ТС]
mrtoxas, при отображении, все пункты, начиная с Travel т.к блок подменю (оно горизонтальное), открывается в блоке меню, а не под ним.
вот так:

HTML - код:

HTML5
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
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>task1</title>
    <link href="css/style0.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <header>
      <div class="container_header">
        <ul>
          <li> <a href="#">Home</a></li>
          <li> <a href="#">News</a></li>
          <li> <a href="#">Economics</a></li>
          <li> <a href="#">Local</a></li>
          <li> <a href="#">Sport</a></li>
          <li> <a href="#">Culture</a></li>
          <li> <a href="#">Travels</a>
            <ul class="travels">
              <li><a href="#">Amsterdam</a></li>
              <li> <a href="#">Bahamas</a></li>
              <li> <a href="#">Jamaica</a></li>
              <li> <a href="#">Las Vegas</a></li>
              <li> <a href="#">London</a></li>
              <li> <a href="#">Los Angeles</a></li>
              <li> <a href="#">Miami</a></li>
              <li> <a href="#">Montreal</a></li>
              <li> <a href="#">Paris</a></li>
              <li> <a href="#">Rome    </a></li>
            </ul>
          </li>
          <li> <a href="#">Living</a></li>
          <li> <a href="#">Money</a></li>
          <li> <a href="#">Technology</a></li>
          <li> <a href="#">More</a></li>
        </ul>
      </div>
      <div class="submenu_travels">
        <ul></ul>
      </div>
    </header>
  </body>
</html>
CSS - стили:

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
* {
  margin: 0;
  padding: 0;
}
 
body {
  height: 100%;
}
 
@font-face {
  font-family: Oranienbaum;
  src: url(../fonts/Oranienbaum.ttf);
}
 
header {
  font-family: Oranienbaum;
  background: #1aa4ff;
  font-size: 20px;
  font-weight: bold;
  position: fixed;
  width: 100%;
  top: 0px;
}
 
div.container_header {
  width: 1000px;
  margin: auto;
}
 
header ul {
  display: table;
  overflow: hidden;
}
 
header li {
  list-style-type: none;
  float: left;
  padding: 5px 0;
}
 
header li a {
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  padding: 5px 10px;
}
 
header li:hover a:hover {
  background: #eeeeee;
  color: #a0a09e;
}
 
ul.travels {
  display: none;
  width: 100%;
  background: #eeeeee;
  margin: 0 auto;
}
 
ul.travels li a {
  color: #888888;
  text-transform: none;
  font-weight: normal;
}
 
header li:hover > ul[class] {
  display: block;
}
http://codepen.io/Satansoft/pen/amrKdz
0
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
25.10.2016, 18:20
А где должно появляться submenu, под синим блоком?
0
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
25.10.2016, 18:23  [ТС]
Цитата Сообщение от mrtoxas Посмотреть сообщение
А где должно появляться submenu, под синим блоком?
да, синий блок - основное, я потому и выделил отдельный контейнер, подобная организация максимум для горизонтального выпадающего, а не для вертикального...
0
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
25.10.2016, 18:31
Да не максимум, для горизонтального тоже годится, только у вас меню в два ряда, вот в чем сложность. Надо подумать
0
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
25.10.2016, 18:42  [ТС]
забацал, добавил:
CSS
1
2
position: absolute
left: 0
http://codepen.io/Satansoft/pen/amrKdz
Только в песочнице оно кривовато, в Хроме всё красиво, скорее всего, надо position: relative в нужный контейнер засандалить!

Добавлено через 7 минут
Сделал так, но пахнет колхозом.
CSS
1
2
3
position: absolute;
left: 0;
top: 32px;
В песочнице убрал фикс. размерности, ибо переносит
http://codepen.io/Satansoft/pen/amrKdz
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.10.2016, 18:42
Помогаю со студенческими работами здесь

Как применить свойство hover к элементу списка, когда элемент - ссылка
Добрый день, подскажите пожалуйста, как применить свойство hover к элементу списка, чтобы поменять стиль при наведении на весь элемент? ...

Сдвиг родительского дива при наведении на дочерний
собственно, интересно, какие способы реализации такого есть? чтоб, например, в диве два дива дочерних. наводим на один- родитель плывет ,...

Растягивание родительского блока при append
Всем доброго времени суток. При добавлении элементов, родительский блок не растягивается. Какие есть варианты решения проблемы? ...

Статические размеры изображения при увеличении родительского блока
Всем привет. Как отменить увеличение картинки? Я иммею ввиду , что если див становится больше , картинка оставалась в оригинальном...

Cмещение дочернего блока за пределы родительского при наличии overflow
Вобщем вот вся проблема: мне нужно скрыть все элементы, выходящие за рамки по Y, но при этом нужно сделать вылазиющий элемент по X, но если...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru