DevGang
Авторизоваться

Как настроить и использовать Tailwind CSS с Next.js, 5 простых способов

Tailwind CSS — это платформа, которая помогает нам создавать современные адаптивные веб-сайты без написания собственного кода CSS. Он имеет коллекцию предопределенных классов, которые мы можем использовать непосредственно в нашем HTML-коде для стилизации элементов.

Tailwind CSS — это CSS-фреймворк, ориентированный на утилиты. «Сначала утилита» означает, что у него есть набор небольших повторно используемых служебных классов, которые мы можем использовать по отдельности или вместе для легкого создания современных и сложных проектов. Таким образом, вместо того, чтобы писать собственный CSS для выделения абзаца жирным шрифтом, мы можем напрямую использовать шрифт-жирный, и все.

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

Использование Tailwind CSS в Next.js

Next.js упрощает полнофункциональную разработку, а использование с ним традиционного CSS означает неполное использование его истинного потенциала.

Написание CSS-кода для большого количества файлов в крупномасштабном приложении занимает очень много времени, и им может быть очень сложно управлять и обновлять. Поэтому, чтобы еще больше повысить продуктивность разработчиков, лучший вариант — использовать Tailwind CSS.

Tailwind CSS — это самый простой способ добавить современный и улучшенный дизайн в наше приложение Next.js без необходимости писать много специального CSS-кода.

Если у вас уже есть приложение Next.js, ниже приведены пошаговые инструкции по настройке и использованию Tailwind. 

Шаг 1. Установка CSS Tailwind

Во-первых, нам нужно установить Tailwind CSS с PostCSS и Autoprefixer:

npm install -D tailwindcss postcss autoprefixer
  • PostCSS для обработки CSS и обеспечения работы Tailwind.
  • Autoprefixer — это плагин для PostCSS, позволяющий добавлять префиксы поставщиков, такие как webkit, -moz и т. д., чтобы CSS работал в разных браузерах.

Затем выполните приведенную ниже команду, чтобы инициализировать Tailwind CSS:

npx tailwindcss init -p

Это создаст файлы конфигурации Tailwind.config.js и postcss.config.js.

Шаг 2. Настройка Tailwind

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

Tailwind.config.js:

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    './app/**/*.{js,ts,jsx,tsx,mdx}', 
    './pages/**/*.{js,ts,jsx,tsx,mdx}',
    './components/**/*.{js,ts,jsx,tsx,mdx}',
    './src/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

Теперь Tailwind будет проверять только имена классов в этих упомянутых файлах и генерировать соответствующий CSS.

Шаг 3: Импорт стилей

Теперь создайте глобальный файл CSS, который мы только что изучили в предыдущем уроке.

app/globals.css:

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

В этом файле импортируйте базу, компоненты и служебные стили Tailwind, и мы импортируем этот файл в app/layout.tsx, чтобы применить эти стили на каждой странице.

app/layout.tsx:

import type { Metadata } from 'next'
 
// Import globals.css
import './globals.css'
 
export const metadata: Metadata = {
  title: 'Create Next App',
  description: 'Generated by create next app',
}
 
export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body>{children}</body>
    </html>
  )
}

Шаг 4. Использование классов Tailwind

После завершения вышеуказанных шагов и импорта файла globals.css в корневой макет мы можем начать использовать служебные классы Tailwind непосредственно на наших страницах для стилизации HTML-элементов.

app/page.tsx:

const Home = () => {
    return (
      <div className="flex flex-col items-center justify-center min-h-screen bg-gray-900 text-white">
        <h1 className="text-5xl font-bold mb-4">CodeForGeek.com</h1>
        <p className="text-lg">Powered by Next.js</p>
      </div>
    );
};
   
export default Home;

Output:

Источник:

#JavaScript #CSS #HTML #Next.js
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу