Флексбокс и Сетка
Утилиты для управления размером элементов и их размещением по столбцам сетки.
Используйте утилиты col-span-*
, чтобы сделать элемент охватывающим n столбцов.
<div class="grid grid-cols-3 gap-4">
<div class="...">01</div>
<div class="...">02</div>
<div class="...">03</div>
<div class="col-span-2 ...">04</div>
<div class="...">05</div>
<div class="...">06</div>
<div class="col-span-2 ...">07</div>
</div>
Используйте утилиты col-start-*
и col-end-*
, чтобы элемент начинался или заканчивался на nth линии сетки. Их также можно комбинировать с утилитами col-span-*
для охвата определенного количества столбцов.
Обратите внимание, что линии сетки CSS начинаются с 1, а не с 0, поэтому элемент полной ширины в сетке из 6 столбцов будет начинаться со строки 1 и заканчиваться на строке 7.
<div class="grid grid-cols-6 gap-4">
<div class="col-start-2 col-span-4 ...">01</div>
<div class="col-start-1 col-end-3 ...">02</div>
<div class="col-end-7 col-span-2 ...">03</div>
<div class="col-start-1 col-end-7 ...">04</div>
</div>
Tailwind позволяет условно применять служебные классы в разных состояниях с помощью модификаторов вариантов. Например, используйте hover:col-span-6
, чтобы применять утилиту col-span-6
только при hover.
<div class="col-span-2 hover:col-span-6">
<!-- ... -->
</div>
Полный список всех доступных модификаторов состояния смотрите в документации Наведение, фокус и другие состояния.
Вы также можете использовать модификаторы вариантов для таргетинга на медиа-запросы, такие как реагирующие контрольные точки, темный режим, предпочтения с уменьшенным движением и многое другое. Например, используйте md:col-span-6
, чтобы применить утилиту col-span-6
только на экранах среднего размера и выше.
<div class="col-span-2 md:col-span-6">
<!-- ... -->
</div>
Чтобы узнать больше, ознакомьтесь с документацией по адаптивному дизайну, темному режиму и другим модификаторам медиазапросов.
По умолчанию Tailwind включает в себя утилиты для работы с сетками, содержащими до 12 столбцов. Вы изменяете, добавляете или удаляете их, настраивая разделы gridColumn
, gridColumnStart
и gridColumnEnd
в конфигурации Вашей темы Tailwind.
Чтобы добавить новые утилиты col-*
, настройте раздел gridColumn
в конфигурации темы Tailwind:
module.exports = {
theme: {
extend: {
gridColumn: {
'span-16': 'span 16 / span 16',
}
}
}
}
Мы используем это для наших утилит col-span-*
. Обратите внимание: поскольку при этом напрямую настраивается сокращенное свойство grid-column
, мы включаем слово span
непосредственно в имя значения, оно не автоматически встраивается в имя класса. Это означает, что вы можете добавлять сюда записи, которые делают все, что вы хотите — они не обязательно должны быть утилитами span
.
Чтобы добавить новые утилиты col-start-*
, настройте раздел gridColumnStart
в конфигурации темы Tailwind:
module.exports = {
theme: {
extend: {
gridColumnStart: {
'13': '13',
'14': '14',
'15': '15',
'16': '16',
'17': '17',
}
}
}
}
Чтобы добавить новые утилиты col-end-*
, настройте раздел GridColumnEnd в конфигурации темы Tailwind:
module.exports = {
theme: {
extend: {
gridColumnEnd: {
'13': '13',
'14': '14',
'15': '15',
'16': '16',
'17': '17',
}
}
}
}
Дополнительные сведения о настройке темы по умолчанию смотрите в документации настройка темы.
Если вам нужно использовать одноразовое grid column, которое не имеет смысла включать в вашу тему, используйте квадратные скобки для создания свойства на лету с использованием любого произвольного значения.
<div class="col-[16_/_span_16]">
<!-- ... -->
</div>
Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.