Управление обрезкой текста CSS

143
18 марта 2019, 05:10

Есть некая строка "шапка" с набором разных элементов. При уменьшении ширины родителя, эта шапка будет сжиматься. При этом по задумке, сначала должен сжаться Item 1, и только когда он сожмется до 1 символа, должен начать сжиматься Item 2. Button - это кнопка, но не input элемент, и он сжиматься не должен, соответственно использовать конструкцию c замноготочиванием на всем элементе block нельзя (или я не понимаю чего-то). При всем при этом Button и Item 1 имеют общего родителя, а Item 2 соседний к нему. Постарался максимально описать. Подозреваю что нужно как то задействовать flex-grow/flex-shrink и правила класса .ellipsis, но никак не могу сообразить каким образом. Возможно кто-то сможет помочь разобраться?

.ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

Структура примерно такая.

<div class="header-line">
    <div class="other-block">Any items</div>
    <div class="block">
        <div class="block-left">
            <div class="block-left-1">Button(div)</div>
            <span class="block-left-2">Item 1(span)</span>
        </div>
        <span class="block-right">Item 2(span)</span>
    </div>
    <div class="other-block">Any items</div>
</div>
Answer 1

Используй media-запросы. Для тех элементов, которые сжиматься не должны задай фиксированную ширину. После того как размер достигнет минимального, сними фиксированную ширину. Второй вариант - с помощью javascript управлять размерами элементов принудительно.

READ ALSO
Вставка json в обьект

Вставка json в обьект

В данной функции я хочу добавить json из запроса в объект, добавить ему пару полей и послать в датабазу, а также вернуть в теле ответа

148
Как сделать активную кнопку при выборе размера?

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

Как удалить disabled из ссылки a после выбора любого размера?

130
Как получить определённые данные из toLocaleString?

Как получить определённые данные из toLocaleString?

У меня такой вопросКак получить данные из toLocaleString()?

183