Как вернуть прошлый блок при наведении на следующий?

Как сделать так, чтобы при наведении на Блок 3 прошлый блок не исчезал? Я пробовал реализовать через .three:hover ~.two { display: block !important; } после чего узнал, что с прошлыми сиблингами нельзя взаимодействовать через css. Поэтому прошу помочь со скриптами.

#content {
  display: block;
  width: 900px;
  height: 500px;
  border: 3px solid black;
  position: relative;
}

.one {
  position: absolute;
  bottom: 0;
  left: 50px;
  display: block;
  width: 150px;
  height: 150px;
  background: red;
}

.two {
  position: absolute;
  top: -300px;
  display: none;
  width: 300px;
  height: 300px;
  background: green;
}

.three {
  position: absolute;
  top: 50px;
  right: 250px;
  display: none;
  width: 300px;
  height: 300px;
  background: blue;
}

.one:hover .two{
  display: block;
}

.one:hover ~ .three{
  display: block;
}

.three:hover {
  display: block;
}

.three:has:(+ next) {
  display: block !important;
} /* А вот здесь уже не выходит */
<div id="content">
  <div class="one">
    <div class="two"></div>
  </div>
  <div class="three"></div> 
</div>


Ответы (0 шт):