Первым делом нам нужно установить пакет фронт-энд приложения
Далее нужно установить сами модули и инициализировать конфигурацию тэилвинда
Начальный конфиг выглядит примерно таким образом
tailwind.config.js
И эти строки нужно будет вставить в основной файл стилей
index.css
Расширение Tailwind VS code
Это расширение, которое добавит автокомплит под Tailwind
Остальные два плагина нужны для нормальной работы препроцессора, который компилирует тэилвинд
Идентифицируем файл как тэилвиндовский
Отступы (margin, padding, borders)
m-10 - margin:10remmx-10 - сделает марджин по оси xmy-10 - сделает марджин по оси ym-auto/ mx-auto /my-auto - сделает автоматический марджин по всем осям, либо справа слева по центру, либо отцентрирует сверху снизу по середине
-m-10 - отрицательный марджин
-mx-10 - по оси x-my-10 - по оси y
p-10 - делает паддинг со всех сторон
px-10 - сделает паддинг по оси xpy-10 сделает паддинг по оси yp-auto/ px-auto /py-auto
-p-10 - делает отрицательный паддинг
-px-10 - по оси x-py-10 - по оси y
border - создаст границу толщиной 1 пиксель
border-цвет-насыщенность - создаст рамку определённого цвета
rounded-модификатор - скруглит рамку
Шрифт (размер, цвет, жирность)
text-xl - этим классом можно определять жирность текста (от xl до 4xl)
font-bold - жирный текст
text-center - центрирование текста
text-цвет-насыщенность - изменение цвета текста
Ширина, высота
w-число - определяет ширину объекта относительно окна
w-screen - width: 100vww-full - width: 100%
h-число - определит высоту объекта
h-screen - height: 100vwh-full - height: 100%
hover, focus, before, after…
bg-purple-500 - так же мы можем укзывать цвета для bgbg-opacity-60 - и непрозрачность тоже
hover:конечный-итог - действие, которое должно происходить при наведении
hover:bg-opacity-100 - непрозрачность фона при наведении = 100%
hover/focus/before/after:конечный-итог - так же со всеми остальными элементами
Transition
transition - определяет переход анимации
transition-[colors/opacity/shadow/transform] - анимации отдельно для цветов, непрозрачности, теней и трансформации
transition-all - задаёт переход на все анимации, заданные для элемента
delay-[число] - задержка анимации
ease-in-out - тип анимации
Анимации
animate-[анимация] - позволяет задать заранее определённую (заготовленню) анимацию
animate-spin - анимация кручения объекта
Адаптация - медиа запросы
Так же мы можем написать любые изменения под определённые размеры экранов: sm, md, lg, xl, 2xl (формат применения работает как в bootstrap - mobile-first)
Темный режим
dark:[какое-то свойство] - применит определённые настройки, если на ПК установлена тёмная тема
@apply и module.scss
Сначала подключим стили к скрипту в .module режиме (чтобы можно было из JSX обращаться в стили в виде компонентов)
styles.parent - обращается к стилям styles и берёт оттуда стили класса parent
App.js
Дирректива @apply работает в PostCSS, которая позволяет применить стили тэилвинда прямо внутри документа CSS
App.module.scss
Пример на верстке формы авторизации
App.js
App.module.scss
Tailwind Config
Первым делом, мы можем указать значения в theme, которые должны присутствовать в нашем проекте. Если мы начнём их указывать прямо в теме, то других значений этой группы присутствовать больше не будет
Однако, если писать не просто в темы, а в extend, то все дефолтные значения останутся
Так же мы можем заменять дефолтные значения на свои, прописав это значение и поменяв свойство DEFAULT
А уже таким образом мы можем добавлять шаблоны для наших значений
Так же тут мы можем указать свои маленькие значения z-index, если нам понадобятся (так как в тэилвинде они идут, начиная с 10)
Плагины
Так же мы можем установить дополнительные плагины либо пользовательские с npm, либо от самих разработчиков
Тут в плагинах они подключаются
И в документации описывается, как они подключаются
Компонент кнопки
Так же внутри плагинов через функцию plugin() можно определить компонент функцией addComponents(), которая принимает в себя объект с именованием и стили для него
Так выглядит применение плагина
Кастомная утилита
Утилита - это небольшое дополнение, а не целый компонент, который описывается через addUtilities()