Как увеличить размер блока и добавить текст при помощи HTML?

Подскажите пожалуйста, как увеличить размер блока при наведении на неё курсора? Как должно работать: Изначально есть 4 иконки, которые находятся в одном div, при наведении курсора должен увеличиваться размер этого блока( появляются все подписи к изображениям, но подпись относящаяся к иконке на которую наводят курсор должна отличаться задним фоном) Прилагаю фото: введите сюда описание изображения

введите сюда описание изображения Вот мой код:

.menu__static_right {
  display: grid;
  position: fixed;
  width: 48px;
  z-index: 1;
  top: 30%;
  /* left: 97%; */
  right: 0;
}

.car {
  border-radius: 10px 0px 0px 0px;
}

.poverka {
  border-radius: 0px 0px 0px 10px;
}

.menu_cart {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #12E435;
}
<div class="menu__static_right">
  <div class="car menu_cart"><img src="/img/car_black.png"> </div>
  <div class="people menu_cart"><img src="/img/people_black.png"> </div>
  <div class="ytil menu_cart"><img src="/img/util_black.png"> </div>
  <div class="poverka menu_cart"><img src="/img/poverka_black.png"> </div>
</div>


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

Автор решения: Oliver Patterson

Вы можете обвернуть текст в span и скрывать его, при ховере на все меню - показывать.

* { box-sizing: border-box; }

.menu__static_right {
  position: fixed;
  z-index: 1;
  top: 30%;
  /* left: 97%; */
  right: 0;
  
  background-color: #12E435;
  
  border-radius: 10px 0px 0px 10px;
}

.menu_cart {
  padding: 10px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu_cart:first-of-type
{
  border-radius: 10px 0 0 0;
}

.menu_cart:last-of-type
{
  border-radius: 0 0 0 10px;
}

.menu_cart span
{
  width: 0px;
  overflow: hidden;
  
  color: #FFF;
  font-weight: 700;
  
  transition: linear 300ms width;
}

.menu_cart:hover
{
  background-color: rgba(0, 0, 0, 0.3);
}

.menu__static_right:hover span
{
  width: 150px;
}

.menu__static_right:hover img
{
  margin-left: 16px;
}
<div class="menu__static_right">
  <div class="car menu_cart">
        <span>Text 1</span>
        <img src="/img/car_black.png">
    </div>
    <div class="people menu_cart">
        <span>Text 2</span>
        <img src="/img/people_black.png">
    </div>
    <div class="ytil menu_cart">
        <span>Инжинерно-технические работы</span>
        <img src="/img/util_black.png">
    </div>
    <div class="poverka menu_cart">
        <span>Text 4</span>
        <img src="/img/poverka_black.png">
    </div>
</div>

→ Ссылка