Срабатывание :hover у родителя в любом месте кроме .особенного-блока
Допустим я имею 2 блока с такой структурой
#parent {
height: 60px;
width: 300px;
display: flex;
justify-content: center;
align-items: center;
background-color: #222125;
}
#parent:hover {
background-color: red;
}
#children {
height: 50px;
width: 200px;
background-color: #00f;
color: white;
}
<div id="parent">
<div id="children">Нужно, наведя сюда, вернуть фон у #parent</div>
</div>
И нужно сделать так, чтобы при наведении на #parent менялся его фон, но после того как навёл на #children фон возвращался.
Нужно сделать так что бы свойство :hover у #parent сработало, когда курсор находится на #parent везде, но если курсор находится на #children то отменить это свойство.
На JS такое можно сделать, мне интересно возможно ли такое без js.
Спасибо
Ответы (1 шт):
Автор решения: Air
→ Ссылка
Можно Вот такое извращение реализовать...
#parent {
height: 60px;
width: 300px;
display: flex;
justify-content: center;
align-items: center;
background-color: #222125;
}
#parent:hover {
background-color: red;
}
#children {
position: relative;
height: 60px;
width: 200px;
background-color: #00f;
color: white;
}
#children:before,
#children:after {
position: absolute;
content: '';
left: -50px;
background-color: transparent;
height: 60px;
width: 50px;
pointer-events: none;
}
#children:after {
left: auto;
right: -50px;
top: 0;
}
#children:hover#children:before {
background-color: #222125;
}
#children:hover#children:after {
background-color: #222125;
}
<div id="parent">
<div id="children">Нужно, наведя сюда, вернуть фон у #parent</div>
</div>