Jest to możliwe dla elementu występującym po danym divie.
#niezaciemniaj:hover + #zaciemniaj {
background: black;
color: black;
}
<div id="niezaciemniaj">Najedź na mnie to zaciemnisz diva pode mną</div>
<div id="zaciemniaj">Nie pls... :<</div>
Można to sprawniej zrobić za pomocą Javascriptu.
Rozwiązanie CSS + Javascript
W tym wypadku wykonamy pewien trik. Przy najechaniu na odpowiedni div wyświetlimy większego diva przykrywającego inne elementy oprócz tego co chcemy widzieć.
CSS:
#cien {
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: #333;
z-index: 10;
display: none;
}
#najedz {
background: white;
width: 200px;
height: 200px;
z-index: 10;
border: 1px solid #333;
float: left;
}
#inne {
width: 200px;
height: 200px;
background: white;
border: 1px solid #333;
float: left;
}
Javascript:
var najedz = document.getElementById("najedz");
var cien = document.getElementById("cien");
najedz.onmouseover = function() {
var box = najedz.getBoundingClientRect();
najedz.style.left = box.left;
najedz.style.top = box.top;
cien.style.display = "inline";
najedz.style.position = "fixed";
}
najedz.onmouseout = function() {
cien.style.display = "none";
najedz.style.position = "static";
}
HTML:
<div id="cien"></div>
<div id="inne">witam</div>
<div id="najedz">Najedz na mnie</div>
<div id="inne">witam ponownie</div>