Флексбокс и Сетка
Утилиты для управления размером элементов и их размещением по строкам сетки.
Используйте утилиты row-span-*
, чтобы элемент занимал n строк.
<div class="grid grid-rows-3 grid-flow-col gap-4">
<div class="row-span-3 ...">01</div>
<div class="col-span-2 ...">02</div>
<div class="row-span-2 col-span-2 ...">03</div>
</div>
Используйте утилиты row-start-*
и row-end-*
, чтобы элемент начинался или заканчивался на nth линии сетки. Их также можно комбинировать с утилитами row-span-*
для охвата определенного количества строк.
Обратите внимание, что линии сетки CSS начинаются с 1, а не с 0, поэтому элемент во всю высоту в трехстрочной сетке будет начинаться со строки 1 и заканчиваться на строке 4.
<div class="grid grid-rows-3 grid-flow-col gap-4">
<div class="row-start-2 row-span-2 ...">01</div>
<div class="row-end-3 row-span-2 ...">02</div>
<div class="row-start-1 row-end-4 ...">03</div>
</div>
Tailwind позволяет условно применять служебные классы в разных состояниях с помощью модификаторов вариантов. Например, используйте hover:row-span-4
, чтобы применять утилиту row-span-4
только при hover.
<div class="row-span-3 hover:row-span-4">
<!-- ... -->
</div>
Полный список всех доступных модификаторов состояния смотрите в документации Наведение, фокус и другие состояния.
Вы также можете использовать модификаторы вариантов для таргетинга на медиа-запросы, такие как реагирующие контрольные точки, темный режим, предпочтения с уменьшенным движением и многое другое. Например, используйте md:row-span-4
, чтобы применить утилиту row-span-4
только на экранах среднего размера и выше.
<div class="row-span-3 md:row-span-4">
<!-- ... -->
</div>
Чтобы узнать больше, ознакомьтесь с документацией по адаптивному дизайну, темному режиму и другим модификаторам медиазапросов.
По умолчанию Tailwind включает в себя утилиты для работы с сетками, содержащими до 6 явных строк. Вы можете настроить эти значения, отредактировав theme.gridRow
, theme.extend.gridRow
, theme.gridRowStart
, theme.extend.gridRowStart
, theme.gridRowEnd
, and theme.extend.gridRowEnd
в вашем файле tailwind.config.js
.
Чтобы добавить новые утилиты row-*
, настройте раздел gridRow
в конфигурации темы Tailwind:
module.exports = {
theme: {
extend: {
gridRow: {
'span-16': 'span 16 / span 16',
}
}
}
}
Мы используем это для наших утилит row-span-*
. Обратите внимание: поскольку при этом напрямую настраивается сокращенное свойство grid-row
, мы включаем слово span
непосредственно в имя значения, оно не автоматически встраивается в имя класса. Это означает, что вы можете добавлять сюда записи, которые делают все, что вы хотите — они не обязательно должны быть утилитами span
.
Чтобы добавить новые утилиты row-start-*
, настройте раздел gridRowStart
в конфигурации темы Tailwind:
module.exports = {
theme: {
extend: {
gridRowStart: {
'8': '8',
'9': '9',
'10': '10',
'11': '11',
'12': '12',
'13': '13',
}
}
}
}
Чтобы добавить новые утилиты row-end-*
, настройте раздел gridRowEnd
в конфигурации темы Tailwind:
module.exports = {
theme: {
extend: {
gridRowEnd: {
'8': '8',
'9': '9',
'10': '10',
'11': '11',
'12': '12',
'13': '13',
}
}
}
}
Дополнительные сведения о настройке темы по умолчанию смотрите в документации настройка темы.
Если вам нужно использовать одноразовое grid row, которое не имеет смысла включать в вашу тему, используйте квадратные скобки для создания свойства на лету с использованием любого произвольного значения.
<div class="row-[span_16_/_span_16]">
<!-- ... -->
</div>
Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.