Nie pokazałeś kodu, ciężko się odnieść, ale np.:
Css Codepen
<div class="a"></div>
<div class="b"></div>
* {
box-sizing: border-box;
}
div {
width: 100px;
height: 30px;
transition: opacity 2s linear 1s;
}
div.a:hover ~ div.b {
opacity: 1;
}
.a {
border: 2px solid red;
}
.b {
opacity: 0;
border: 2px solid limegreen;
box-shadow: inset 0 0 10px limegreen;
}
CSS :hover on other element [ 1 ] [ 2 ]
Css + JS Codepen
<div class="a">Najedź na mnie myszką</div>
<div class="b">Najedź na mnie myszką</div>
<div class="c">Najedź na mnie myszką</div>
<div class="d">Najedź na mnie myszką</div>
<div class="message">Zjedź ze mnie ;-)</div>
* {
box-sizing: border-box;
}
div {
font: 1em/1.8em monospace;
width: 200px;
height: 30px;
text-align: center;
margin: 6em 1em;
}
.a {
border: 2px solid red;
}
.b {
border: 2px solid limegreen;
}
.c {
border: 2px solid yellow;
}
.d {
border: 2px solid black;
}
.message {
position: absolute;
top: 0;
left: 0;
opacity: 0;
background-color: black;
color: white;
transition: opacity 2s linear 1s;
}
.show-message {
opacity: 1;
}
const div_msg = document.querySelector('div.message'),
divs = document.querySelectorAll('div:not(.message)');
let div_margin;
divs.forEach(div => {
div.addEventListener('mouseover', () => {
div_margin = window.getComputedStyle(div, null).getPropertyValue('margin-top');
div_margin = div_margin.replace('px', '') * 1;
div_msg.classList.add('show-message');
})
div.addEventListener('mousemove', e => {
div_msg.style.left = `${e.pageX}px`;
div_msg.style.top = `${(e.pageY - div_margin)}px`;
})
div.addEventListener('mouseout', () => {
div_msg.classList.remove('show-message');
})
})