Spec-Zone.ru › Tailwind CSS

Настройка

Руководство по настройке и персонализации вашей установки Tailwind.

Поскольку Tailwind — это фреймворк для создания пользовательских интерфейсов, он разработан с учетом возможности настройки.

По умолчанию Tailwind будет искать необязательный tailwind.config.js файл в корне вашего проекта, где вы можете определить любые настройки.

tailwind.config.js
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, включенной при установке tailwindcss пакета npm:

npx tailwindcss init

Это создаст минимальный tailwind.config.js файл в корне вашего проекта:

tailwind.config.js
module.exports = {
  content: [],
  theme: {
    extend: {},
  },
  plugins: [],
}

Использование другого имени файла

Чтобы использовать имя, отличное от tailwind.config.js, передайте его в качестве аргумента в командной строке:

npx tailwindcss init tailwindcss-config.js

При использовании пользовательского имени файла вам необходимо указать его как аргумент командной строки при компиляции CSS с помощью инструмента командной строки Tailwind:

npx tailwindcss -c ./tailwindcss-config.js -i input.css -o output.css

Если вы используете Tailwind как плагин PostCSS, вам необходимо указать путь к своему пользовательскому файлу конфигурации в вашей конфигурации PostCSS:

postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: { config: './tailwindcss-config.js' },
  },
}

В качестве альтернативы вы можете указать путь к своему пользовательскому файлу конфигурации с помощью директивы @config:

@config "./tailwindcss-config.js";

@tailwind base;
@tailwind components;
@tailwind utilities;

Дополнительные сведения о директиве @config см. в документации Функции и директивы.

Генерация файла конфигурации PostCSS

Используйте флаг -p, если вы хотите также сгенерировать базовый postcss.config.js файл вместе с вашим файлом tailwind.config.js:

npx tailwindcss init -p

Это сгенерирует postcss.config.js файл в вашем проекте, который выглядит так:

postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  },
}

Сборка всей конфигурации по умолчанию

Для большинства пользователей мы рекомендуем максимально сократить файл конфигурации и указывать только те параметры, которые вы хотите настроить.

Если вы предпочитаете сгенерировать полный файл конфигурации, включающий все настройки Tailwind по умолчанию, используйте параметр --full:

npx tailwindcss init --full

Вы получите файл, соответствующий файлу конфигурации по умолчанию, который используется Tailwind внутри.

Параметры конфигурации

Контент

Раздел content содержит пути ко всем вашим HTML-шаблонам, JS-компонентам и другим файлам, содержащим классы Tailwind.

tailwind.config.js
module.exports = {
  content: [
    './pages/**/*.{html,js}',
    './components/**/*.{html,js}',
  ],
  // ...
}

Дополнительные сведения о настройке источников контента см. в документации Настройка контента.

Тема

Раздел theme содержит определение цветовой палитры, шрифтов, шкалы размеров шрифтов, размеров границ, точек разрыва — всего, что связано с визуальным дизайном вашего сайта.

tailwind.config.js
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, которые могут использоваться для создания дополнительных утилит, компонентов, базовых стилей или пользовательских вариантов.

tailwind.config.js
module.exports = {
  // ...
  plugins: [
    require('@tailwindcss/forms'),
    require('@tailwindcss/aspect-ratio'),
    require('@tailwindcss/typography'),
    require('tailwindcss-children'),
  ],
}

Дополнительные сведения о написании собственных плагинов см. в руководстве по разработке плагинов.

Пресеты

Раздел presets позволяет указать собственную базовую конфигурацию вместо использования базовой конфигурации Tailwind по умолчанию.

tailwind.config.js
module.exports = {
  // ...
  presets: [
    require('@acmecorp/base-tailwind-config')
  ],

  // Project-specific customizations
  theme: {
    //...
  },
}

Дополнительные сведения о пресетах см. в документации по пресетам.

Префикс

Параметр prefix позволяет добавить пользовательский префикс ко всем сгенерированным утилитам Tailwind. Это может быть очень полезно при наложении Tailwind поверх существующего CSS, где могут возникнуть конфликты имен.

Например, вы можете добавить префикс tw- установив параметр prefix следующим образом:

tailwind.config.js
module.exports = {
  prefix: 'tw-',
}

Теперь каждый класс будет генерироваться с настроенным префиксом:

.tw-text-left {
  text-align: left;
}
.tw-text-center {
  text-align: center;
}
.tw-text-right {
  text-align: right;
}
/* etc. */

Важно понимать, что этот префикс добавляется после любых модификаторов вариантов. Это означает, что классы с модификаторами адаптивности или состояния, такие как 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:

tailwind.config.js
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;
}
/* etc. */

Это также относится к любым пользовательским утилитам, которые вы определяете в своем CSS с помощью директивы @layer utilities:

/* 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 на селектор ID, например #app:

tailwind.config.js
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">
      <!-- Will be red-500 -->
      <div class="selector text-red-500"><!-- ... --></div>
    </div>
  </div>

  <!-- Will be #bada55 -->
  <div class="text-red-500" style="color: #bada55;"><!-- ... --></div>
</body>
</html>

При использовании стратегии селектора убедитесь, что файл шаблона, включающий ваш корневой селектор, включен в вашу настройку контента, иначе весь ваш CSS будет удален при построении для производства.

Модификатор важности

В качестве альтернативы вы можете сделать любую утилиту важной, добавив символ ! в начало:

<p class="font-bold !font-medium">
  This will be medium even though bold comes later in the CSS.
</p>

Символ ! всегда идет в начале имени утилиты, после любых вариантов, но перед любым префиксом:

<div class="sm:hover:!tw-font-bold">

Это может быть полезно в редких ситуациях, когда вам нужно повысить специфичность, потому что вы сражаетесь с некоторыми стилями, которыми вы не управляете.

Разделитель

Параметр separator позволяет настроить символ, который будет использоваться для разделения модификаторов (размеры экрана, hover, focus, и т. д.) от имен утилит (text-center, items-end, и т. д.).

По умолчанию мы используем двоеточие (:), но это может быть полезно, если вы используете язык разметки, например Pug, который не поддерживает специальные символы в именах классов.

tailwind.config.js
module.exports = {
  separator: '_',
}

Основные плагины

Раздел corePlugins позволяет полностью отключить классы, которые Tailwind обычно генерирует по умолчанию, если вам они не нужны для вашего проекта.

Чтобы отключить определенные основные плагины, укажите объект для corePlugins, который установит эти плагины в false:

tailwind.config.js
module.exports = {
  corePlugins: {
    float: false,
    objectFit: false,
    objectPosition: false,
  }
}

Если вы хотите добавить в безопасный список, какие основные плагины должны быть включены, укажите массив, содержащий список основных плагинов, которые вы хотите использовать:

tailwind.config.js
module.exports = {
  corePlugins: [
    'margin',
    'padding',
    'backgroundColor',
    // ...
  ]
}

Если вы хотите отключить все основные плагины Tailwind и использовать Tailwind просто как инструмент для обработки собственных пользовательских плагинов, укажите пустой массив:

tailwind.config.js
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 Утилиты непрозрачности 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 Утилиты непрозрачности 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-right
columns Утилиты columns , такие как columns-auto
container Компонент container
content Утилиты content , такие как content-none
contrast Утилиты contrast , такие как contrast-100
cursor Утилиты cursor , такие как cursor-grab
display Утилиты display , такие как table-column-group
divideColor Утилиты между элементами border-color , такие как divide-slate-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-left
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
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-3
gridRowEnd Утилиты grid-row-end , такие как row-end-4
gridRowStart Утилиты grid-row-start , такие как row-start-4
gridTemplateColumns Утилиты grid-template-columns , такие как grid-cols-7
gridTemplateRows Утилиты grid-template-rows , такие как grid-rows-4
height Утилиты height , такие как h-72
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-40
maxWidth Утилиты max-width, такие как max-w-6xl
minHeight Утилиты min-height, такие как min-h-screen
minWidth Утилиты min-width, такие как min-w-min
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 Утилиты-заполнители color, такие как placeholder-red-600
placeholderOpacity Утилиты непрозрачности color такие как placeholder-opacity-25
pointerEvents Утилиты pointer-events, такие как pointer-events-none
position Утилиты position, такие как absolute
preflight Базовые/сбрасывающие стили Tailwind
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
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
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-1.5
willChange Утилиты will-change, такие как will-change-scroll
wordBreak Утилиты word-break, такие как break-words
zIndex Утилиты z-index, такие как z-30

Использование нескольких конфигураций

Для проектов, которым требуется сгенерировать несколько файлов CSS с использованием различных конфигураций Tailwind, используйте директиву @config, чтобы указать, какой файл конфигурации следует использовать для каждой точки входа CSS:

Узнайте больше о директиве @config в документации Функции и директивы.

Ссылка в JavaScript

Часто бывает полезно ссылаться на значения вашей конфигурации в собственном 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

Мы предоставляем собственные типы TypeScript для файла tailwind.config.js , которые предоставляют вам всю необходимую поддержку IDE и значительно упрощают внесение изменений в вашу конфигурацию без необходимости часто обращаться к документации.

Файлы конфигурации, сгенерированные с помощью Tailwind CLI, по умолчанию включают необходимые аннотации типов, но для ручного настройки типов TypeScript просто добавьте аннотацию типа над вашим объектом конфигурации:

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    // ...
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

© 2022 Tailwind Labs Inc.
https://tailwindcss.com/docs/configuration

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API