Just-in-Time: Следующее поколение Tailwind CSS
Tailwind CSS на GitHubTailwind CSS в Telegram

Flex-элементы

Утилиты для управления увеличением и уменьшением flex-элементов.

Справочник классов по умолчанию

Класс
Свойства
flex-1flex: 1 1 0%;
flex-autoflex: 1 1 auto;
flex-initialflex: 0 1 auto;
flex-noneflex: none;

Исходный

Используйте flex-initial, чтобы позволить flex-элементу сжиматься, но не увеличиваться, учитывая его начальный размер:

Элементы не расширяются, когда есть лишнее место

Короткий
Средняя длина

При необходимости элементы сжимаются, если это возможно

Короткий
Средняя длина
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui ad labore ipsam, aut rem quo repellat esse tempore id, quidem
<div class="flex">
  <div class="flex-initial ...">
    <!-- Не будет расширяться, но при необходимости сожмется -->
  </div>
  <div class="flex-initial ...">
    <!-- Не будет расширяться, но при необходимости сожмется -->
  </div>
  <div class="flex-initial ...">
    <!-- Не будет расширяться, но при необходимости сожмется -->
  </div>
</div>

Гибкий 1

Используйте flex-1, чтобы позволить flex-элементу увеличиваться и уменьшаться по мере необходимости, игнорируя его начальный размер:

Поведение по умолчанию

Короткий
Средняя длина
Значительно больший объем контента

С .flex-1

Короткий
Средняя длина
Значительно больший объем контента
<div class="flex">
  <div class="flex-1 ...">
    <!-- Будет увеличиваться и уменьшаться по мере необходимости без учета первоначального размера -->
  </div>
  <div class="flex-1 ...">
    <!-- Будет увеличиваться и уменьшаться по мере необходимости без учета первоначального размера -->
  </div>
  <div class="flex-1 ...">
    <!-- Будет увеличиваться и уменьшаться по мере необходимости без учета первоначального размера -->
  </div>
</div>

Авто

Используйте flex-auto, чтобы позволить flex-элементу увеличиваться и уменьшаться с учетом его первоначального размера:

Поведение по умолчанию

Короткий
Средняя длина
Значительно больший объем контента

С .flex-auto

Короткий
Средняя длина
Значительно больший объем контента
<div class="flex ...">
  <div class="flex-auto ...">
    <!-- Будет увеличиваться и уменьшаться по мере необходимости с учетом первоначального размера -->
  </div>
  <div class="flex-auto ...">
    <!-- Будет увеличиваться и уменьшаться по мере необходимости с учетом первоначального размера -->
  </div>
  <div class="flex-auto ...">
    <!-- Будет увеличиваться и уменьшаться по мере необходимости с учетом первоначального размера -->
  </div>
</div>

Ничего

Используйте flex-none, чтобы предотвратить расширение или сжатие гибкого элемента:

Элемент, который при необходимости может увеличиваться или уменьшаться
Элемент, который не может увеличиваться или уменьшаться
Элемент, который при необходимости может увеличиваться или уменьшаться
<div class="flex ...">
  <div class="flex-1 ...">
    <!-- Будет расширяться и уменьшаться по мере необходимости -->
  </div>
  <div class="flex-none ...">
    <!-- Не будет расширяться и сжиматься -->
  </div>
  <div class="flex-1 ...">
    <!-- Будет расширяться и уменьшаться по мере необходимости -->
  </div>
</div>

Адаптивность

Чтобы контролировать увеличение и уменьшение flex-элемента в определенной контрольной точке, добавьте префикс {screen}: к любому существующему классу утилиты. Например, используйте md:flex-1, чтобы применить утилиту flex-1 только при средних размерах экрана и выше.

<div class="flex ...">
  <!-- ... -->
  <div class="flex-none md:flex-1 ...">
    Адаптивный гибкий элемент
  </div>
  <!-- ... -->
</div>

Для получения дополнительной информации о функциях адаптивного дизайна Tailwind ознакомьтесь с документацией Адаптивного дизайна.

Кастомизация

Гибкие значения

По умолчанию Tailwind предоставляет четыре flex утилиты. Вы изменяете, добавляете или удаляете их, редактируя раздел theme.flex Вашей конфигурации Tailwind.

  // tailwind.config.js
  module.exports = {
    theme: {
      flex: {
        '1': '1 1 0%',
        auto: '1 1 auto',
-       initial: '0 1 auto',
+       inherit: 'inherit',
        none: 'none',
+       '2': '2 2 0%',
      }
    }
  }

Варианты

По умолчанию, только responsive варианты создаются для утилит flex.

Вы можете контролировать, какие варианты создаются для утилит flex для изменения свойства flex в разделе variants Вашего файла конфигурации tailwind.config.js.

Например, эта конфигурация также будет генерировать варианты hover и focus:

  // tailwind.config.js
  module.exports = {
    variants: {
      extend: {
        // ...
+       flex: ['hover', 'focus'],
      }
    }
  }

Отключение

Если Вы не планируете использовать в своем проекте утилиты для изменения flex, Вы можете полностью отключить их, установив для flex свойство значение false в разделе corePlugins Вашего файла конфигурации:

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
+     flex: false,
    }
  }