Настройка
Руководство по настройке и кастомизации Вашей установки Tailwind.
Поскольку Tailwind - это фреймворк для создания индивидуальных пользовательских интерфейсов, он был разработан с нуля с учетом индивидуальных особенностей.
По умолчанию Tailwind будет искать необязательный файл tailwind.config.js
в корне Вашего проекта, где вы можете определить любые настройки.
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ['./src/**/*.{html,js}'],
theme: {
colors: {
'blue': '#1fb6ff',
'purple': '#7e5bef',
'pink': '#ff49db',
'orange': '#ff7849',
'green': '#13ce66',
'yellow': '#ffc82c',
'gray-dark': '#273444',
'gray': '#8492a6',
'gray-light': '#d3dce6',
},
fontFamily: {
sans: ['Graphik', 'sans-serif'],
serif: ['Merriweather', 'serif'],
},
extend: {
spacing: {
'8xl': '96rem',
'9xl': '128rem',
},
borderRadius: {
'4xl': '2rem',
}
}
},
}
Каждый раздел файла конфигурации является необязательным, поэтому вам нужно только указать, что вы хотите изменить. Все отсутствующие разделы будут возвращены к конфигурации по умолчанию Tailwind.
Создайте файл конфигурации Tailwind для своего проекта с помощью утилиты Tailwind CLI, включенной после установки пакета npm tailwindcss
:
npx tailwindcss init
Это создаст минимальный файл tailwind.config.js
в корне Вашего проекта:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
Чтобы использовать имя, отличное от tailwind.config.js
, передайте его в качестве аргумента в командной строке:
npx tailwindcss init tailwindcss-config.js
Когда вы используете собственное имя файла, вам нужно будет указать его в качестве аргумента командной строки при компиляции CSS с помощью инструмента Tailwind CLI:
npx tailwindcss -c ./tailwindcss-config.js -i input.css -o output.css
Если вы используете Tailwind в качестве плагина PostCSS, вам нужно будет указать собственный путь конфигурации в конфигурации PostCSS:
module.exports = {
plugins: {
tailwindcss: { config: './tailwindcss-config.js' },
},
}
В качестве альтернативы вы можете указать свой пользовательский путь конфигурации с помощью директивы @config
:
@config "./tailwindcss-config.js";
@tailwind base;
@tailwind components;
@tailwind utilities;
Узнайте больше о директиве @config
в документации Функции и директивы documentation.
Вы также можете настроить Tailwind CSS в ESM или даже в TypeScript:
/** @type {import('tailwindcss').Config} */
export default {
content: [],
theme: {
extend: {},
},
plugins: [],
}
Когда вы запускаете npx tailwindcss init
, мы определяем, является ли ваш проект модулем ES, и автоматически генерируем файл конфигурации с правильным синтаксисом.
Вы также можете явно сгенерировать файл конфигурации ESM, используя флаг --esm
:
npx tailwindcss init --esm
Чтобы сгенерировать файл конфигурации TypeScript, используйте флаг --ts
:
npx tailwindcss init --ts
Используйте флаг -p
, если вы хотите также сгенерировать базовый файл postcss.config.js
вместе с файлом tailwind.config.js
:
npx tailwindcss init -p
Это сгенерирует в Вашем проекте файл postcss.config.js
, который выглядит следующим образом:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
Для большинства пользователей мы рекомендуем, чтобы ваш файл конфигурации был как можно более минимальным и указывал только то, что вы хотите настроить.
Если вы предпочитаете создать полный файл конфигурации, включающий всю конфигурацию Tailwind по умолчанию, используйте параметр --full
:
npx tailwindcss init --full
Вы получите файл, соответствующий файлу конфигурации по умолчанию, который Tailwind использует для внутренних целей.
В разделе content
вы настраиваете пути ко всем вашим HTML-шаблонам, компонентам JS и любым другим файлам, которые содержат имена классов Tailwind.
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./pages/**/*.{html,js}',
'./components/**/*.{html,js}',
],
// ...
}
Дополнительные сведения о настройке источников контента смотрите в документации Конфигурация содержимого.
В разделе theme
вы определяете свою цветовую палитру, шрифты, масштаб шрифта, размеры границ, контрольные точки - все, что связано с визуальным дизайном Вашего сайта.
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
theme: {
colors: {
'blue': '#1fb6ff',
'purple': '#7e5bef',
'pink': '#ff49db',
'orange': '#ff7849',
'green': '#13ce66',
'yellow': '#ffc82c',
'gray-dark': '#273444',
'gray': '#8492a6',
'gray-light': '#d3dce6',
},
fontFamily: {
sans: ['Graphik', 'sans-serif'],
serif: ['Merriweather', 'serif'],
},
extend: {
spacing: {
'8xl': '96rem',
'9xl': '128rem',
},
borderRadius: {
'4xl': '2rem',
}
}
}
}
Узнайте больше о теме по умолчанию и о том, как ее настроить, в руководстве по настройке темы.
Раздел plugins
позволяет вам регистрировать плагины в Tailwind, которые можно использовать для создания дополнительных утилит, компонентов, базовых стилей или пользовательских вариантов.
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/aspect-ratio'),
require('@tailwindcss/typography'),
require('tailwindcss-children'),
],
}
Узнайте больше о написании собственных плагинов в руководстве по созданию плагинов.
Раздел presets
позволяет вам указать Вашу собственную базовую конфигурацию вместо использования базовой конфигурации Tailwind по умолчанию.
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
presets: [
require('@acmecorp/base-tailwind-config')
],
// Индивидуальные настройки проекта
theme: {
//...
},
}
Узнайте больше о предустановках в документации о пресетах.
Опция prefix
позволяет вам добавить собственный префикс ко всем сгенерированным Tailwind служебным классам. Это может быть действительно полезно при наложении Tailwind поверх существующего CSS, где могут возникнуть конфликты имен.
Например, вы можете добавить префикс tw-
, установив опцию prefix
следующим образом:
/** @type {import('tailwindcss').Config} */
module.exports = {
prefix: 'tw-',
}
Теперь каждый класс будет сгенерирован с настроенным префиксом:
.tw-text-left {
text-align: left;
}
.tw-text-center {
text-align: center;
}
.tw-text-right {
text-align: right;
}
/* и так далее */
Важно понимать, что этот префикс добавляется после любых модификаторов вариантов. Это означает, что классы с адаптивными модификаторами или модификаторами состояния, такими как sm:
или hover:
, по-прежнему будут иметь модификатор ответа или состояния первого, с вашим настраиваемым префиксом, появляющимся после двоеточия:
<div class="tw-text-lg md:tw-text-xl tw-bg-red-500 hover:tw-bg-blue-500">
<!-- -->
</div>
Модификатор тире для отрицательных значений должен быть добавлен перед вашим префиксом, поэтому -mt-8
станет -tw-mt-8
, если вы настроили tw-
в качестве префикса:
<div class="-tw-mt-8">
<!-- -->
</div>
Префиксы добавляются только к классам, созданным Tailwind; префикс не будет добавлен к вашим собственным пользовательским классам.
Это означает, что если вы добавите свою собственную утилиту, например:
@layer utilities {
.bg-brand-gradient { /* ... */ }
}
…у сгенерированных вариантов не будет вашего настроенного префикса:
.bg-brand-gradient { /* ... */ }
.hover\:bg-brand-gradient:hover { /* ... */ }
Если вы хотите добавить префикс к своим собственным утилитам, просто добавьте префикс в определение класса:
@layer utilities {
.tw-bg-brand-gradient { /* ... */ }
}
Опция important
позволяет вам контролировать, должны ли утилиты Tailwind помечаться !important
. Это может быть действительно полезно при использовании Tailwind с существующим CSS, который имеет селекторы высокой специфичности.
Чтобы сгенерировать утилиты как !important
, установите ключ important
в параметрах конфигурации на true
:
/** @type {import('tailwindcss').Config} */
module.exports = {
important: true,
}
Теперь все служебные классы Tailwind будут сгенерированы как !important
:
.leading-none {
line-height: 1 !important;
}
.leading-tight {
line-height: 1.25 !important;
}
.leading-snug {
line-height: 1.375 !important;
}
/* и так далее */
Это также относится к любым пользовательским утилитам, которые вы определяете в своем CSS с помощью директивы @layer utilities
directive:
/* Input */
@layer utilities {
.bg-brand-gradient {
background-image: linear-gradient(#3490dc, #6574cd);
}
}
/* Output */
.bg-brand-gradient {
background-image: linear-gradient(#3490dc, #6574cd) !important;
}
Установка для important
значения true
может вызвать некоторые проблемы при включении сторонних JS-библиотек, которые добавляют встроенные стили к Вашим элементам. В таких случаях утилиты Tailwind !important
побеждают встроенные стили, которые могут нарушить ваш намеченный дизайн.
Чтобы обойти это, вы можете вместо этого установить important
в селектор идентификаторов, например #app
:
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
important: '#app',
}
Эта конфигурация будет префикс всех Ваших утилит с данным селектором, эффективно увеличивая их специфичность, не делая их на самом деле !important
.
После того, как вы укажете селектор important
, вам нужно будет убедиться, что корневой элемент Вашего сайта соответствует ему. Используя приведенный выше пример, нам нужно установить для атрибута id
нашего корневого элемента значение app
, чтобы стили работали правильно.
После того, как Ваша конфигурация полностью настроена и ваш корневой элемент соответствует селектору в Вашей конфигурации Tailwind, все утилиты Tailwind будут иметь достаточно высокую специфичность, чтобы победить другие классы, используемые в Вашем проекте, без вмешательства во встроенные стили:
<html>
<!-- ... -->
<style>
.high-specificity .nested .selector {
color: blue;
}
</style>
<body id="app">
<div class="high-specificity">
<div class="nested">
<!-- Будет red-500 -->
<div class="selector text-red-500"><!-- ... --></div>
</div>
</div>
<!-- Будет #bada55 -->
<div class="text-red-500" style="color: #bada55;"><!-- ... --></div>
</body>
</html>
При использовании стратегии выбора убедитесь, что файл шаблона, который включает ваш корневой селектор, включен в вашу конфигурацию содержимого, в противном случае весь ваш CSS будет удален при сборке для производства.
Кроме того, вы можете сделать любую утилиту важной, добавив в начало символ !
:
<p class="!font-medium font-bold">
Это будет средний размер, хотя жирный шрифт появится позже в CSS.
</p>
!
всегда стоит в начале имени утилиты, после любых вариантов, но перед любым префиксом:
<div class="sm:hover:!tw-font-bold">
Это может быть полезно в редких ситуациях, когда вам нужно повысить специфичность, потому что вы находитесь в состоянии войны с некоторыми стилями, которые вы не контролируете.
Опция separator
позволяет вам настроить, какой символ должен использоваться для отделения модификаторов (размеры экрана, hover
, focus
и т. д.) от названий утилит (text-center
, items-end
и т. д.).
По умолчанию мы используем двоеточие (:
), но это может быть полезно изменить, если вы используете язык шаблонов, например Pug, который не поддерживает специальные символы в имени класса.
/** @type {import('tailwindcss').Config} */
module.exports = {
separator: '_',
}
Раздел corePlugins
позволяет полностью отключить классы, которые Tailwind обычно генерирует по умолчанию, если они вам не нужны для Вашего проекта.
Чтобы отключить определенные основные плагины, предоставьте объект для corePlugins
, который устанавливает для этих плагинов значение false
:
/** @type {import('tailwindcss').Config} */
module.exports = {
corePlugins: {
float: false,
objectFit: false,
objectPosition: false,
}
}
Если вы хотите внести в список надежных отправителей, какие основные плагины должны быть включены, предоставьте массив, который включает список основных плагинов, которые вы хотите использовать:
/** @type {import('tailwindcss').Config} */
module.exports = {
corePlugins: [
'margin',
'padding',
'backgroundColor',
// ...
]
}
Если вы хотите отключить все основные плагины Tailwind и просто использовать Tailwind как инструмент для обработки Ваших собственных плагинов, предоставьте пустой массив:
/** @type {import('tailwindcss').Config} */
module.exports = {
corePlugins: []
}
Вот список всех основных плагинов для справки:
Плагин Ядра | Описание |
---|---|
accentColor | Утилиты accent-color такие как accent-green-800 |
accessibility | Утилиты sr-only и not-sr-only |
alignContent | Утилиты align-content такие как content-between |
alignItems | Утилиты align-items такие как items-center |
alignSelf | Утилиты align-self такие как self-end |
animation | Утилиты animation такие как animate-ping |
appearance | Утилиты appearance такие как appearance-none |
aspectRatio | Утилиты aspect-ratio такие как aspect-square |
backdropBlur | Утилиты backdrop-blur такие как backdrop-blur-md |
backdropBrightness | Утилиты backdrop-brightness такие как backdrop-brightness-100 |
backdropContrast | Утилиты backdrop-contrast такие как backdrop-contrast-100 |
backdropFilter | Утилиты backdrop-filter такие как backdrop-filter |
backdropGrayscale | Утилиты backdrop-grayscale такие как backdrop-grayscale-0 |
backdropHueRotate | Утилиты backdrop-hue-rotate такие как backdrop-hue-rotate-30 |
backdropInvert | Утилиты backdrop-invert такие как backdrop-invert-0 |
backdropOpacity | Утилиты backdrop-opacity такие как backdrop-opacity-50 |
backdropSaturate | Утилиты backdrop-saturate такие как backdrop-saturate-100 |
backdropSepia | Утилиты backdrop-sepia такие как backdrop-sepia-0 |
backgroundAttachment | Утилиты background-attachment такие как bg-local |
backgroundBlendMode | Утилиты background-blend-mode такие как bg-blend-color-burn |
backgroundClip | Утилиты background-clip такие как bg-clip-padding |
backgroundColor | Утилиты background-color такие как bg-green-800 |
backgroundImage | Утилиты background-image такие как bg-gradient-to-br |
backgroundOpacity | Утилиты opacity background-color , такие как bg-opacity-25 |
backgroundOrigin | Утилиты background-origin такие как bg-origin-padding |
backgroundPosition | Утилиты background-position такие как bg-left-top |
backgroundRepeat | Утилиты background-repeat такие как bg-repeat-x |
backgroundSize | Утилиты background-size такие как bg-cover |
blur | Утилиты blur такие как blur-md |
borderCollapse | Утилиты border-collapse такие как border-collapse |
borderColor | Утилиты border-color такие как border-e-green-800 |
borderOpacity | Утилиты opacity border-color , такие как border-opacity-25 |
borderRadius | Утилиты border-radius такие как rounded-ss-lg |
borderSpacing | Утилиты border-spacing такие как border-spacing-x-28 |
borderStyle | Утилиты border-style такие как border-dotted |
borderWidth | Утилиты border-width такие как border-e-4 |
boxDecorationBreak | Утилиты box-decoration-break такие как decoration-clone |
boxShadow | Утилиты box-shadow такие как shadow-lg |
boxShadowColor | Утилиты box-shadow-color такие как shadow-green-800 |
boxSizing | Утилиты box-sizing такие как box-border |
breakAfter | Утилиты break-after такие как break-after-avoid-page |
breakBefore | Утилиты break-before такие как break-before-avoid-page |
breakInside | Утилиты break-inside такие как break-inside-avoid |
brightness | Утилиты brightness такие как brightness-100 |
captionSide | Утилиты caption-side такие как caption-top |
caretColor | Утилиты caret-color такие как caret-green-800 |
clear | Утилиты clear такие как clear-left |
columns | Утилиты columns такие как columns-auto |
contain | Утилиты contain такие как contain-size |
container | Компонент container |
content | Утилиты content такие как content-none |
contrast | Утилиты contrast такие как contrast-100 |
cursor | Утилиты cursor такие как cursor-grab |
display | Утилиты display такие как table-column-group |
divideColor | Утилиты между элементами border-color , например, divide-gray-500 |
divideOpacity | Утилиты divide-opacity такие как divide-opacity-50 |
divideStyle | Утилиты divide-style такие как divide-dotted |
divideWidth | Утилиты между элементами border-width , например, divide-x-2 |
dropShadow | Утилиты drop-shadow такие как drop-shadow-lg |
fill | Утилиты fill такие как fill-green-700 |
filter | Утилиты filter такие как filter |
flex | Утилиты flex такие как flex-auto |
flexBasis | Утилиты flex-basis такие как basis-px |
flexDirection | Утилиты flex-direction такие как flex-row-reverse |
flexGrow | Утилиты flex-grow такие как flex-grow |
flexShrink | Утилиты flex-shrink такие как flex-shrink |
flexWrap | Утилиты flex-wrap такие как flex-wrap-reverse |
float | Утилиты float такие как float-right |
fontFamily | Утилиты font-family такие как font-serif |
fontSize | Утилиты font-size такие как text-3xl |
fontSmoothing | Утилиты font-smoothing такие как antialiased |
fontStyle | Утилиты font-style такие как italic |
fontVariantNumeric | Утилиты font-variant-numeric такие как oldstyle-nums |
fontWeight | Утилиты font-weight такие как font-medium |
forcedColorAdjust | Утилиты forced-color-adjust такие как forced-color-adjust-auto |
gap | Утилиты gap такие как gap-x-28 |
gradientColorStops | Утилиты gradient-color-stops такие как via-emerald-700 |
grayscale | Утилиты grayscale такие как grayscale-0 |
gridAutoColumns | Утилиты grid-auto-columns такие как auto-cols-min |
gridAutoFlow | Утилиты grid-auto-flow такие как grid-flow-dense |
gridAutoRows | Утилиты grid-auto-rows такие как auto-rows-min |
gridColumn | Утилиты grid-column такие как col-span-6 |
gridColumnEnd | Утилиты grid-column-end такие как col-end-7 |
gridColumnStart | Утилиты grid-column-start такие как col-start-7 |
gridRow | Утилиты grid-row такие как row-span-6 |
gridRowEnd | Утилиты grid-row-end такие как row-end-7 |
gridRowStart | Утилиты grid-row-start такие как row-start-7 |
gridTemplateColumns | Утилиты grid-template-columns такие как grid-cols-7 |
gridTemplateRows | Утилиты grid-template-rows такие как grid-rows-7 |
height | Утилиты height такие как h-96 |
hueRotate | Утилиты hue-rotate такие как hue-rotate-30 |
hyphens | Утилиты hyphens такие как hyphens-manual |
inset | Утилиты inset такие как end-44 |
invert | Утилиты invert такие как invert-0 |
isolation | Утилиты isolation такие как isolate |
justifyContent | Утилиты justify-content такие как justify-center |
justifyItems | Утилиты justify-items такие как justify-items-end |
justifySelf | Утилиты justify-self такие как justify-self-end |
letterSpacing | Утилиты letter-spacing такие как tracking-normal |
lineClamp | Утилиты line-clamp такие как line-clamp-4 |
lineHeight | Утилиты line-height такие как leading-9 |
listStyleImage | Утилиты list-style-image такие как list-image-none |
listStylePosition | Утилиты list-style-position такие как list-inside |
listStyleType | Утилиты list-style-type такие как list-disc |
margin | Утилиты margin такие как me-28 |
maxHeight | Утилиты max-height такие как max-h-44 |
maxWidth | Утилиты max-width такие как max-w-80 |
minHeight | Утилиты min-height такие как min-h-44 |
minWidth | Утилиты min-width такие как min-w-36 |
mixBlendMode | Утилиты mix-blend-mode такие как mix-blend-hard-light |
objectFit | Утилиты object-fit такие как object-fill |
objectPosition | Утилиты object-position такие как object-left-top |
opacity | Утилиты opacity такие как opacity-50 |
order | Утилиты order такие как order-8 |
outlineColor | Утилиты outline-color такие как outline-green-800 |
outlineOffset | Утилиты outline-offset такие как outline-offset-2 |
outlineStyle | Утилиты outline-style такие как outline-dashed |
outlineWidth | Утилиты outline-width такие как outline-2 |
overflow | Утилиты overflow такие как overflow-x-hidden |
overscrollBehavior | Утилиты overscroll-behavior такие как overscroll-y-contain |
padding | Утилиты padding такие как pe-28 |
placeContent | Утилиты place-content такие как place-content-between |
placeItems | Утилиты place-items такие как place-items-center |
placeSelf | Утилиты place-self такие как place-self-end |
placeholderColor | Утилиты placeholder color , такие как placeholder-red-600 |
placeholderOpacity | Утилиты placeholder color , такие как placeholder-opacity-25 |
pointerEvents | Утилиты pointer-events такие как pointer-events-none |
position | Утилиты position такие как absolute |
preflight | Tailwind стили base/reset |
resize | Утилиты resize такие как resize-y |
ringColor | Утилиты ring-color такие как ring-green-800 |
ringOffsetColor | Утилиты ring-offset-color такие как ring-offset-green-800 |
ringOffsetWidth | Утилиты ring-offset-width такие как ring-offset-2 |
ringOpacity | Утилиты ring-opacity такие как ring-opacity-50 |
ringWidth | Утилиты ring-width такие как ring-4 |
rotate | Утилиты rotate такие как rotate-6 |
saturate | Утилиты saturate такие как saturate-100 |
scale | Утилиты scale такие как scale-x-95 |
scrollBehavior | Утилиты scroll-behavior такие как scroll-auto |
scrollMargin | Утилиты scroll-margin такие как scroll-me-28 |
scrollPadding | Утилиты scroll-padding такие как scroll-pe-28 |
scrollSnapAlign | Утилиты scroll-snap-align такие как snap-end |
scrollSnapStop | Утилиты scroll-snap-stop такие как snap-normal |
scrollSnapType | Утилиты scroll-snap-type такие как snap-y |
sepia | Утилиты sepia такие как sepia-0 |
size | Утилиты size такие как size-0.5 |
skew | Утилиты skew такие как skew-x-12 |
space | Утилиты "space-between", например, space-x-4 |
stroke | Утилиты stroke такие как stroke-green-700 |
strokeWidth | Утилиты stroke-width такие как stroke-1 |
tableLayout | Утилиты table-layout такие как table-auto |
textAlign | Утилиты text-align такие как text-right |
textColor | Утилиты text-color такие как text-green-800 |
textDecoration | Утилиты text-decoration такие как overline |
textDecorationColor | Утилиты text-decoration-color такие как decoration-green-800 |
textDecorationStyle | Утилиты text-decoration-style такие как decoration-dotted |
textDecorationThickness | Утилиты text-decoration-thickness такие как decoration-4 |
textIndent | Утилиты text-indent такие как indent-28 |
textOpacity | Утилиты text-opacity такие как text-opacity-50 |
textOverflow | Утилиты text-overflow такие как overflow-ellipsis |
textTransform | Утилиты text-transform такие как lowercase |
textUnderlineOffset | Утилиты text-underline-offset такие как underline-offset-2 |
textWrap | Утилиты text-wrap такие как text-nowrap |
touchAction | Утилиты touch-action такие как touch-pan-right |
transform | Утилиты transform (для включения функций преобразования) |
transformOrigin | Утилиты transform-origin такие как origin-bottom-right |
transitionDelay | Утилиты transition-delay такие как delay-200 |
transitionDuration | Утилиты transition-duration такие как duration-200 |
transitionProperty | Утилиты transition-property такие как transition-colors |
transitionTimingFunction | Утилиты transition-timing-function такие как ease-in |
translate | Утилиты translate такие как translate-x-full |
userSelect | Утилиты user-select такие как select-text |
verticalAlign | Утилиты vertical-align такие как align-bottom |
visibility | Утилиты visibility такие как invisible |
whitespace | Утилиты whitespace такие как whitespace-pre |
width | Утилиты width такие как w-2.5 |
willChange | Утилиты will-change такие как will-change-scroll |
wordBreak | Утилиты word-break такие как break-words |
zIndex | Утилиты z-index такие как z-30 |
Для проектов, которым необходимо создать несколько файлов CSS с использованием разных конфигураций Tailwind, используйте директиву @config
, чтобы указать, какой файл конфигурации следует использовать для каждой точки входа CSS:
@config "./tailwind.site.config.js";
@tailwind base;
@tailwind components;
@tailwind utilities;
Узнайте больше о директиве @config
в документации Функции и директивы.
Часто бывает полезно ссылаться на значения Вашей конфигурации в Вашем собственном клиентском JavaScript - например, для доступа к некоторым из значений Вашей темы при динамическом применении встроенных стилей в компоненте React или Vue.
Чтобы упростить эту задачу, Tailwind предоставляет помощник resolveConfig
, который вы можете использовать для генерации полностью объединенной версии Вашего объекта конфигурации:
import resolveConfig from 'tailwindcss/resolveConfig'
import tailwindConfig from './tailwind.config.js'
const fullConfig = resolveConfig(tailwindConfig)
fullConfig.theme.width[4]
// => '1rem'
fullConfig.theme.screens.md
// => '768px'
fullConfig.theme.boxShadow['2xl']
// => '0 25px 50px -12px rgba(0, 0, 0, 0.25)'
Обратите внимание, что это транзитивно повлечет за собой множество наших зависимостей времени сборки, что приведет к увеличению размера пакета на стороне клиента. Чтобы избежать этого, мы рекомендуем использовать такой инструмент, как babel-plugin-preval для создания статической версии вашей конфигурации во время сборки.
Мы поставляем собственные типы TypeScript для файла tailwind.config.js
, который предоставляет вам всевозможную полезную поддержку IDE и значительно упрощает внесение изменений в вашу конфигурацию без обращения к документации.
Файлы конфигурации, сгенерированные с помощью интерфейса командной строки Tailwind, по умолчанию включают необходимую аннотацию типа, но для ручной настройки типов TypeScript просто добавьте аннотацию типа над объектом конфигурации:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
// ...
],
theme: {
extend: {},
},
plugins: [],
}