Как сделать уменьшение блоков , при добавлении новых?

У меня есть блок wrapper , он шириной 1000px, как сделать так , чтобы при добавлении нового элемента li в список , блоки смогли уменьшится ?

.wrapper {
   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   position: absolute;
   width: 1000px;
   border: 1px solid black;
   left: calc(50% - #{get-vh(1000px)}/2);
}

.wrapper-block {
   display: flex;
   text-align: center;
   justify-content: center;
   align-items: center;
   margin-right: 20px;
   padding: 4px 4px;
   background: rgba(0, 0, 0, 0.4);
   border-radius: 8px;
   height: 30px;
}
<ul class="wrapper">
        <li class="wrapper-block">
           textqweqweqweqweweq
        </li>
        <li class="wrapper-block">
         textqwe1312
         </li>
         <li class="wrapper-block">
            textqwe
         </li>
         <li class="wrapper-block">
            textqweqweeqw
         </li>
         <li class="wrapper-block">
            textqwe123qwr
         </li>
         <li class="wrapper-block">
            textqweqweqwre
         </li>
         <li class="wrapper-block">
            textqwe123123
         </li>
         <li class="wrapper-block">
            textqwe123123
         </li>
      </ul>


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

Автор решения: Daniil Loban

Сразу скажу, нужно учитывать, что бесконечно что-то сжиматься не может, у всего есть предел - чем-то придется жертвовать, в какие-то рамки вписываться. В данном случае я разрешил перенос букв чтобы эффект сжатия блоков был наиболее заметен и вообще возможен. Каждый раз я добавляю по 1 блоку.

.wrapper {
   display: flex;
   width: 1000px;
   height: 30px;
   justify-content: space-between;
   padding-left: 0; /* убираем отступ ul */
   gap: .3em; /* расстояние между элементами */
   border: 1px solid black;
}

.wrapper-block {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-basis: 200px; /* задаем минимальную ширину */
   padding: 4px;
   text-align: center;
   font-size: .7em; /* уменьшаем шрифт */
   word-break: break-all; /*позволяем перенос букв*/
   background: rgba(0, 0, 0, 0.4);
   border-radius: 8px;
}
<body>
<ul class="wrapper">
  <li class="wrapper-block">
     textqweqweqweqweweq
  </li>
  <li class="wrapper-block">
   textqwe1312
   </li>
   <li class="wrapper-block">
      textqwe
   </li>
   <li class="wrapper-block">
      textqweqweeqw
   </li>
   <li class="wrapper-block">
      textqwe123qwr
   </li>
   <li class="wrapper-block">
      textqweqweqwre
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
</ul>

<ul class="wrapper">
  <li class="wrapper-block">
     textqweqweqweqweweq
  </li>
  <li class="wrapper-block">
   textqwe1312
   </li>
   <li class="wrapper-block">
      textqwe
   </li>
   <li class="wrapper-block">
      textqweqweeqw
   </li>
   <li class="wrapper-block">
      textqwe123qwr
   </li>
   <li class="wrapper-block">
      textqweqweqwre
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
</ul>

<ul class="wrapper">
  <li class="wrapper-block">
     textqweqweqweqweweq
  </li>
  <li class="wrapper-block">
   textqwe1312
   </li>
   <li class="wrapper-block">
      textqwe
   </li>
   <li class="wrapper-block">
      textqweqweeqw
   </li>
   <li class="wrapper-block">
      textqwe123qwr
   </li>
   <li class="wrapper-block">
      textqweqweqwre
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
</ul>

<ul class="wrapper">
  <li class="wrapper-block">
     textqweqweqweqweweq
  </li>
  <li class="wrapper-block">
   textqwe1312
   </li>
   <li class="wrapper-block">
      textqwe
   </li>
   <li class="wrapper-block">
      textqweqweeqw
   </li>
   <li class="wrapper-block">
      textqwe123qwr
   </li>
   <li class="wrapper-block">
      textqweqweqwre
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
</ul>

<ul class="wrapper">
  <li class="wrapper-block">
     textqweqweqweqweweq
  </li>
  <li class="wrapper-block">
   textqwe1312
   </li>
   <li class="wrapper-block">
      textqwe
   </li>
   <li class="wrapper-block">
      textqweqweeqw
   </li>
   <li class="wrapper-block">
      textqwe123qwr
   </li>
   <li class="wrapper-block">
      textqweqweqwre
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
   <li class="wrapper-block">
      textqwe123123
   </li>
</ul>

Стили я немного изменил, настроите на свой вкус если будет такая необходимость. Надеюсь, это тот эффект которого Вы ожидали, если нет уточняйте в вопросе, через правку, можете так же прикрепить картинки желаемого эффекта.

→ Ссылка