tgoop.com/htmlshit/2393
Last Update:
#заметка дня
Cегодня буду краток. Стал забывать, что у многих +1 час к моему времени.
Я часто вижу в профильных чатах вопросы типа: «Помогите, истерика, текст не занимает всю ширину контейнера и мой флексбокс не работает!»
Короче, происходит ситуация, как на картинке: кажется, что место справа никак не используется.
Ладно бы только начинающие такое спрашивали, но нет же. У всех дыры и паника, паника и дыры.
А суть в том, что рендер текста — это сложно. Рендер длинных слов — это очень сложно.
Потому браузер всегда выделяет для текста максимально возможную ширину. Неважно, ограничили ли вы её условиями флексбокса или установили max-width. Возьмёт всё и начнёт упихивать буквы и слова. Как сможет.
Пример расчётов можно посмотреть в серии статей Инлайновый контекст форматирования, раздел «Горизонтальное выравнивание».
Подсказка: он не сможет. И выделенное место не вернет.
А люди ожидают, что текст спокойно сдвинется вправо и у чекбокса будет больше воздуха. К сожалению, так не получится вообще никак.
Единственно, кажущееся разумным, решение — это заполнить всю предоставленную ширину, используя переносы (словарь или ­). Ну или word-break: break-all;Есть ещё не очень разумные решения с использованием JavaScript для подсчета реально занимаемой ширины.
Вот три примера: https://codepen.io/alinaki/pen/ExrGRwL?editors=1100
Не паникуйте, ну.
#css #flex #render
BY Будни разработчика

Share with your friend now:
tgoop.com/htmlshit/2393
