CSS изменяет цвет фона отдельного div при наведении курсора мыши на другой div

Учитывая базовое меню и div, как показано ниже ..

#link:hover ~ #custom {
    background: #ccc
}
<div class = "header">
  <div class = "nav">
    <ul>
      <li>
        <a id = "link" href = "#">Link</a>
      </li>
    </ul>
  </div>
</div>

<div id = "custom">
  Custom Content
</div>

Я пробовал использовать общий комбинатор братьев и сестер, но он не работает.

Есть ли способ с помощью CSS, чтобы я мог заставить div custom также изменять цвет фона при наведении курсора на элемент навигации?

Нужен ли мне Javascript или это можно сделать проще?

Обратитесь к этому stackoverflow.com/questions/6910049/…

chandan_kr_jha 30.03.2021 13:11

Я пробовал использовать комбинатор соседнего брата, но он не работает. Обновили op

jsmitter3 30.03.2021 13:12

Не сейчас. CSS не может выбрать родительский узел. Вы должны использовать JavaScript onmouseover / mouseout и добавить / удалить класс из div.custom. проверьте также этот ответ

Christopher 30.03.2021 13:13

С такой структурой html вам понадобится js. Я пробовал использовать комбинатор соседнего брата - #link не имеет братьев и сестер, поэтому это не работает

Pete 30.03.2021 13:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
53
3

Ответы 3

вы можете изменить mydiv css с помощью hover mynav попробуйте этот css.

<style>
#mynavid:hover +#mydivid{color:red;}
</style>

Я думаю, дело в том, что в навигационной панели будут другие ссылки, которые также показывают другие div, плюс со структурой html op, вам нужно будет поместить курсор на заголовок, а не на навигацию

Pete 30.03.2021 13:18

вот простой код, надеюсь, это поможет ...

.card {
    width: 150px;
}

.image {
    height: 80px;
  background-color: tomato;
}

.description {
  height: 80px;
  background-color: limegreen;
}

.image:hover ~ .description .link,
.link:hover {
    color: #ff0;
    background-color: white;
    }
<div class = "card">
  <div class = "image">img</div>
  <div class = "description">
    <a class = "link" href=#>some link</a>
    <div class = "text">Fulfilled direction use continual set.</div>
  </div>
</div>

Да, вы можете сделать это с помощью j-запроса. Ниже будет код сценария:

<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src = "https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script>
      $(document).ready(function(){
    $(document).mousemove(function(){
         if ($("#nav-link:hover").length != 0){
            $(".custom").css("background-color","red");
        } else{
          $(".custom").css("background-color","");
        }
      });
    });
    </script>
<div class = "header">
  <div class = "nav">
    <ul>
      <li>
        <a href = "#" id = "nav-link">Link</a>
      </li>
    </ul>
  </div>
</div>
<div class = "custom">
  Custom Content
</div>

Добавьте этот код в свой код выше, и он будет работать

Другие вопросы по теме