Изменить стиль элемента из другого контейнера
мой шаблон:
<div class="task">
<div id="cont-1">
<div class="task__path">
<p>распарсить путь / /</p>
</div>
<app-task-title/>
</div>
<div id="cont-2">
<div class="task__progress">
<app-progress-bar/>
<app-executor-time/>
</div>
<app-management/>
</div>
</div>
</div>
мои scss стили:
@import "../../../../../styles/index.scss";
$display: flex;
.task-wrapper {
width: 100%;
height: 130px;
padding: 12px;
border-radius: 8px;
background-color: $bg-menu;
box-shadow: $shadow-card;
transition: box-shadow 0.3s ease;
&:hover {
box-shadow: 0 3px 10px 0 rgba(38, 58, 91, 0.2);
}
.task {
gap: 20px;
#cont-1 {
&:hover {
.task__path {
display: flex;
}
}
}
#cont-2 {
&:hover {
.task__progress {
display: none;
}
app-management {
display: flex;
}
}
}
&__progress {
display: flex;
flex-direction: column;
width: 100%;
gap: 12px;
height: 33px;
}
&__path {
display: none;
}
app-management {
display: none;
}
}
}
Мне нужно, использоваться display: none на task__progress, когда я навожусь на cont-1, в cont-2 у меня реализована подобная логика но в cont-1 оно не работает, так как я думал, из-за того что элементы находятся на разных уровнях Что мне нужно сделать чтобы я мог скрыть task__progress при наведении мышкой на cont-1? скрыть cont-2 тоже будет корректным вариантом
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Что мне нужно сделать чтобы я мог скрыть task__progress при наведении мышкой на cont-1?
Такое можно сделать, например, так...
.task:has(#cont-1:hover) .task__progress {
display: none;
}
<div class="task">
<div id="cont-1">
<div class="task__path">
<p>распарсить путь / /</p>
</div>
<app-task-title />
</div>
<div id="cont-2">
<div class="task__progress">task__progress
<app-progress-bar />
<app-executor-time />
</div>
<app-management />
</div>
</div>
</div>