Trang chủ Kiến Thức Công Nghệ Hướng dẫn Cài đặt và Sử dụng Tailwind CSS cơ bản
Công Nghệ

Hướng dẫn Cài đặt và Sử dụng Tailwind CSS cơ bản

Chia sẻ
Hướng dẫn Cài đặt và Sử dụng Tailwind CSS cơ bản
Chia sẻ

Các công cụ và framework phát triển web ngày càng đa dạng và phong phú. Trong đó, Tailwind CSS là một trong những framework phát triển web được nhiều lập trình viên ưa chuộng hiện nay.

Được ra mắt vào năm 2017, Tailwind CSS đã nhanh chóng trở thành một trong những công cụ quan trọng giúp việc xây dựng giao diện web trở nên dễ dàng hơn. Vậy Tailwind CSS là gì mà lại được ưa chuộng đến vậy, chúng ta cùng tìm hiểu thôi

Trước khi bắt đầu, nếu bạn chưa hiểu về CSS là gì thì hãy đọc qua bài viết này tại Blog 200Lab nhé.

1. Tailwind CSS là gì?

Tailwind CSS là gì?

Tailwind CSS là một framework CSS utility-first giúp tạo kiểu nhanh chóng và hiệu quả cho website mà không cần viết CSS thủ công. Thay vì cung cấp các thành phần (component) hoặc kiểu thiết kế mặc định, Tailwind cung cấp một loạt các lớp tiện ích (utility classes) mà bạn có thể kết hợp linh hoạt để xây dựng giao diện tùy chỉnh.

1.1 Tại sao nên sử dụng Tailwind CSS?

Tại sao nên sử dụng Tailwind CSS?

Chúng ta thường lựa chọn những framework nhanh, dễ học để ứng dụng vào dự án. Tailwind CSS sẽ là một trợ thủ đắc lực hỗ trợ bạn, vì chúng được tích hợp sẵn rất nhiều tính năng và kiểu dáng để người dùng lựa chọn.

Bên cạnh đó, chúng cũng giúp tạo giao diện người dùng đẹp mắt và hiện đại. Tailwind CSS tạo các tiện ích nhỏ và dễ dàng tích hợp trực tiếp các class hiện có vào HTML code.

1.2 Ưu điểm của Tailwind CSS

  • Tùy biến cao, hiệu suất cao. Không giống như Bootstrap cung cấp những class gần như đồng gọi sẵn, chỉ cần gọi ra là dùng. Tailwind giúp bạn định nghĩa những phần phù hợp với dự án của bạn mà không bị gò bó.
  • Cho phép xây dựng responsive layout phức tạp.
  • Responsive và phát triển dễ dàng.
  • Tạo thành phần dễ dàng.
  • Hỗ trợ cài đặt với nhiều framework front-end khác như react, vuejs,…

1.3 Nhược điểm của Tailwind CSS

  • Thiếu tiêu đề và thành phần điều hướng (navigation).
  • Cần có thời gian để làm quen, tìm hiểu và nhớ tên các class.
  • Có kiến thức về CSS thì mới sử dụng tốt được.

2. Sử dụng Tailwind CSS thông qua CDN

HTML

<link href=”https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css” rel=”stylesheet”>

Lưu ý: Có một số hạn chế khi sử dụng CDN.

  • Không thể sử dụng tùy chỉnh chủ đề mặc định của Tailwind
  • Không thể sử dụng các lệnh như @apply, @variants,…
  • Không thể cài đặt plugin của bên thứ ba
  • Tốc độ tải trang của trang web phụ thuộc vào tốc độ kết nối internet của người dùng và khoảng cách đến máy chủ CDN. Nếu kết nối internet chậm hoặc khoảng cách đến máy chủ CDN quá xa, thời gian tải trang sẽ mất nhiều thời gian.
  • Bạn cần phải trả phí để sử dụng các tính năng, dịch vụ CDN cao cấp.
  • Bạn không thể kiểm soát việc lưu trữ tệp CSS của bạn trên máy chủ CDN. Điều này có thể ảnh hưởng đến việc kiểm soát và bảo mật dữ liệu của bạn.

Vì vậy, trước khi sử dụng CDN, bạn nên cân nhắc các hạn chế này để đảm bảo rằng việc sử dụng CDN là phù hợp với nhu cầu của mình.

Ví dụ

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">

    <!-- Tailwind CSS CDN link -->
    <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
</head>

<body class="m-4">
    <h1 class="text-green-500 text-4xl font-bold">
        200Lab
    </h1>
    <strong>Learn Deep, Go Different</strong>
    <p>
        200Lab tin rằng để trở thành một lập trình viên giỏi đến từ việc hiểu bản chất của công nghệ chứ không đơn thuần chỉ biết code.

    </p>

</body>

</html>

Output

3. Hướng dẫn cài đặt Tailwind CSS

Cài đặt Tailwind CSS

3.1 Thông qua npm

Bước 1: Tailwind có sẵn trên npm và bạn có thể cài đặt nó bằng lệnh sau:

Bash

npm install tailwindcss postcss autoprefixer

Bước 2: Tạo tệp cấu hình Tailwind CSS bằng lệnh sau:

Csharp

npx tailwindcss init

Bước 3: Tạo một postcss.config.js file trong thư mục gốc của thư mục dự án và thêm nội dung sau:

JS

module.exports = {
  plugins: [
    require('tailwindcss'),
    require('autoprefixer'),
  ],
}

Bước 4: Sau đó, tạo một styles.css file trong thư mục dự án của bạn src (hoặc bất kỳ thư mục nào khác mà bạn thích) và thêm nội dung sau:

CSS

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

Bước 5: Ở thao tác này, bạn sẽ nhập các kiểu cơ sở, thành phần (components) và utilities styles từ Tailwind CSS.

Cuối cùng, thêm tập lệnh vào package.json file của bạn để tạo CSS:

JSON

"scripts": {
  "build": "postcss src/styles.css -o dist/styles.css"
}

Tập lệnh này sẽ biên dịch src/styles.css file của bạn và xuất nó thành một dist/styles.css file.

Bước 6: Chạy lệnh sau để xây dựng CSS của bạn:

Bash

npm run build

3.2 Thông qua yarn

Bước 1: Cài đặt tailwind bằng cách sử dụng lệnh:

Bash

yarn add tailwindcss postcss autoprefixer

Bước 2, 3, 4, 5 làm tương tự như cách cài đặt Tailwind CSS thông qua npm ở trên.

Bước 6: Chạy lệnh sau để xây dựng CSS của bạn:

Bash

yarn build

Dưới đây là một ví dụ mô tả cách thay màu nền khi di chuột trên Tailwind CSS

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- Tailwind CSS CDN link -->
    <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
</head>

<body>
    <p class="h-full border-2 border-gray-200
                border-opacity-60 rounded-lg
                overflow-hidden">

        <p class="p-6 hover:bg-green-600
                    hover:text-white transition
                    duration-300 ease-in">

            <h1 class="text-2xl font-semibold mb-3">
                Hover
            </h1>
        </p>
    </p>
</body>

</html>

Output

Gió cùng chiều

3.3 Cấu hình file tailwind.config

Sau khi cài đặt tailwindcss vào dự án xong, bạn sẽ thấy một file tailwind.config.js hoặc tailwind.config.ts để cấu hình các tùy chỉnh cho project. Đây là cấu trúc cơ bản của file

Javascript

module.exports = {
  content: [
    "./src/**/*.{html,js}", // chỉ định các file Tailwind sẽ xem xét khi tạo CSS
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

Mình sẽ giải thích chi tiết về file đó để các bạn dễ hình dung nha

  • Purge (Content): bạn có thể tối ưu kích thước file CSS bằng cách loại bỏ các class không sử dụng – nghĩa là tailwindcss chỉ có tác dụng với các file bạn đặt trong cấu hình, sẽ không phải là áp dụng toàn bộ dự án của bạn.
  • Theme: bạn có thể custom như: màu sắc (colors), font chữ (fontFamily), kích thước (spacing, fontSize),…

Javascript

content: [
  "./src/**/*.{js,jsx,ts,tsx,html}",
],

Javascript

theme: {
  extend: {
    colors: {
      primary: '#1DA1F2',
      secondary: '#14171A',
    },
    fontFamily: {
      sans: ['Roboto', 'sans-serif'],
    },
        spacing: {
      '128': '32rem', // Tạo khoảng cách mới là 32rem
      '144': '36rem',
    },
        fontSize: {
      'xs': '.75rem',
      'sm': '.875rem',
      'tiny': '.875rem',
      'base': '1rem',
      'lg': '1.125rem',
      'xl': '1.25rem',
      '2xl': '1.5rem',
      '3xl': '1.875rem',
      '4xl': '2.25rem',
      '5xl': '3rem',
      '6xl': '4rem',
      '7xl': '5rem',
    }
  },
},

Sau khi bạn cấu hình như thế này, bạn có thể sử dugnj class bg-primary, text-secondary, font-sans, p-128, text-xs trong các file bạn đã cấu hình trên content.

  • Extend: bạn có thể mở rộng các giá trị mặc định của Tailwind mà không cần thay thế hoàn toàn, giúp bạn thêm các tùy chỉnh nhưng vẫn giữ các thiết lập gốc của Tailwind.
  • Variants: cấu hình các trạng thái như: hover, focus, responsive, và tạo thêm các variant riêng.
  • Plugins: bạn có thể thêm các plugin để mở rộng khả năng của nó. Một số plugin phổ biến bao gồm @tailwindcss/typography, @tailwindcss/forms, và @tailwindcss/aspect-ratio.

Javascript

theme: {
  extend: {
    backgroundColor: ['active'],
    textColor: {
      'primary': '#3490dc',
      'secondary': '#ffed4a',
      'danger': '#e3342f',
    },
  },
}

Javascript

variants: {
  extend: {
    opacity: ['disabled'],
    backgroundColor: ['hover', 'focus', 'active'],
  },
}

Để sử dụng plugin Typography, đầu tiên bạn cần cài đặt:

Bash

npm install @tailwindcss/typography

Sau đó bạn có thể thêm plugin vào

Javascript

plugins: [
  require('@tailwindcss/typography'),
],

Plugin này cung cấp các kiểu style sẵn cho nội dung văn bản của bạn với class prose:

HTML

<article class="prose">
  <h1>Bài Viết Với Typography</h1>
  <p>Đây là một đoạn văn bản mẫu sử dụng plugin Typography.</p>
</article>

Bạn cũng có thể cấu hình dark mode cho website của bạn. Có 2 chế độ cho dark mode:

  1. Media: chế độ này tự động thay đổi giao diện dựa trên thiết lập hệ điều hành (OS) của người dùng.
  2. Class: cần thêm class dark vào phần tử root (ví dụ html hoặc body) để chuyển sang chế độ tối.

HTML

<p class="bg-white text-black dark:bg-gray-800 dark:text-white">
  200Lab Tailwind Dark Mode
</p>

File tailwind.config.js giúp bạn kiểm soát hoàn toàn các cài đặt của Tailwind CSS, từ tối ưu hóa dung lượng CSS, tùy chỉnh màu sắc, kích thước cho đến thêm các plugin mở rộng. Việc hiểu rõ cấu hình này không chỉ giúp bạn tận dụng tối đa sức mạnh của Tailwind CSS.

5. Lời kết

Tailwind CSS đang dần trở thành công cụ hữu ích, không chỉ dành cho người mới bắt đầu mà còn cho những chuyên gia. Vì vậy, nếu bạn đang tìm kiếm một công cụ phát triển web mạnh mẽ và tiện ích thì Tailwind CSS là lựa chọn phù hợp cho bạn đấy.

Các bài viết liên quan từ Blog 200Lab:

  • Javascript là gì? Tìm hiểu về ngôn ngữ lập trình phổ biến bậc nhất
  • Event Loop là gì? Cơ chế hoạt động của Event Loop trong JavaScript
  • NextJS là gì? Kiến thức NextJS cơ bản bạn cần biết
  • Redux là gì? Tìm hiểu Redux cơ bản cho người mới bắt đầu
Bài viết cùng chuyên mục
Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise
Công Nghệ

Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise

Trong bài viết này, 200Lab sẽ chia sẻ những trường hợp dễ...

Công Nghệ

So sánh Flutter vs React Native: Framework nào đáng học năm 2021

Điểm chung của Flutter, React Native đều là Cross-platform Mobile, build native...

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1
Công Nghệ

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1

Từ khi Internet ra đời, sự phát triển về các giao thức...

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!
Công Nghệ

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!

1. Client encode file (base64) rồi gởi về backend 200Lab đã từng...

Công Nghệ

React Native – Hướng dẫn làm việc với Polyline và Animated-Polyline trên Map

Vẽ đường đi trên bản đồ là một nghiệp vụ vô cùng...

Công Nghệ

Hybrid App và Native App: Những khác biệt to lớn

Bất cứ khi nào một công ty quyết định làm ứng dụng...

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới
Công Nghệ

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới

Đây là một kiến trúc cơ bản mà bất kì một người...

Công Nghệ

Tư duy kiến trúc thông qua các trò chơi mà rất nhiều bạn không biết

Tư duy kiến trúc là gì? Tư duy kiến trúc có thể...