BÀI MỚI NHẤT
MỚI CẬP NHẬT

Align Items trong Tailwind CSS

Cùng tìm hiểu về cách sử dụng Align Items để căn chỉnh các phần tử bên trong một container theo chiều dọc một cách dễ dàng và nhanh chóng.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong lập trình web hiện đại, việc sử dụng các framework CSS để tạo giao diện cho trang web ngày càng trở nên phổ biến hơn. Tailwind CSS là một trong những framework CSS đang được ưa chuộng hiện nay nhờ vào cách tiếp cận đơn giản và tập trung vào việc xây dựng giao diện nhanh chóng. Trong bài viết này, chúng ta sẽ tìm hiểu về một trong những thuộc tính quan trọng của Tailwind CSS - Align Items - giúp bạn kiểm soát việc căn chỉnh các phần tử con trong flexbox của trang web.

1. Align Items trong Tailwind CSS là gì?

Align Items là một trong những thuộc tính quan trọng của FlexboxGrid Layout, dùng để căn chỉnh phần tử con bên trong một container theo trục chính (main axis) của flexbox. Thuộc tính này thường được sử dụng với display: flex để định dạng flexbox.

Các thuộc tính của Align Items

Tailwind CSS hỗ trợ năm giá trị cho thuộc tính align-items, mỗi giá trị này có một utility class tương ứng trong Tailwind CSS như sau:

Bài viết này được đăng tại [free tuts .net]

  • items-start: Các phần tử con được căn chỉnh ở đầu container.
  • items-end: Các phần tử con được căn chỉnh ở cuối container.
  • items-center: Các phần tử con được căn chỉnh chính giữa container.
  • items-baseline: Các phần tử con được căn chỉnh theo đường baseline của chúng.
  • items-stretch: Các phần tử con được kéo dãn để căn chỉnh với chiều cao của container.

Giờ chúng ta hãy cùng nhau xem từng thuộc tính qua từng ví dụ để xem chúng stylesheet ra sao nhé!

2. Sử dụng Align Items trong Tailwind CSS

Thuộc tính items-stretch của Align Items

Khi sử dụng Tailwind CSS, có nhiều cách để căn chỉnh các phần tử trong một container. Một trong những cách đó là sử dụng class items-stretch. Class này sẽ kéo dãn các phần tử trong container để lấp đầy trục chéo của container.

Ví dụ cho bạn dễ hiểu hơn:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Freetuts - Tìm hiểu về Align Items trong Tailwind CSS</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <div class="container mx-auto">
    <div class="flex items-stretch ...">
      <div class="py-4">01</div>
      <div class="py-12">02</div>
      <div class="py-8">03</div>
    </div>
  </div>
</body>
</html>

Kết quả sẽ trông như sau:

align items trong tailwind css 1 jpg

Hình ảnh sử dụng class items-stretch

Ở ví dụ đầu tiên này, tôi đã tạo ra một container sử dụng lớp flex và lớp items-stretch để căn chỉnh các phần tử con theo trục chính của container. Trong container, có ba phần tử con được định dạng sử dụng các lớp py-4, py-12, và py-8 để chỉ định giá trị padding trên và dưới của các phần tử con.

Thuộc tính items-start của Align Items

Để căn chỉnh các phần tử trong container theo chiều dọc, sử dụng class items-start. Lớp này rất hữu ích khi bạn có một container với nhiều phần tử và bạn muốn đảm bảo rằng chúng được căn chỉnh đúng cách.

Ví dụ như sau:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Freetuts - Tìm hiểu về Align Items trong Tailwind CSS</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <div class="container mx-auto">
    <div class="flex items-start ...">
      <div class="py-4">01</div>
      <div class="py-12">02</div>
      <div class="py-8">03</div>
    </div>
  </div>
</body>
</html>

Còn đây là kết quả:

align items trong tailwind css 2 jpg

Hình ảnh sử dụng class items-start

Khác với ví dụ đầu tiên, các phần tử con trong container sử dụng giá trị items-start để căn chỉnh lên trên phía trên của container. Kết quả là, các phần tử con sẽ căn chỉnh lên phía trên của container, tạo ra khoảng cách giữa đỉnh container và phần tử con đầu tiên.

Thuộc tính items-center của Align Items

Bạn có thể sử dụng class items-center để căn giữa các phần tử trong container theo trục chéo. Điều này rất hữu ích khi bạn muốn căn giữa một nhóm các phần tử theo chiều dọc hoặc ngang.

Ví dụ:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Freetuts - Tìm hiểu về Align Items trong Tailwind CSS</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <div class="container mx-auto">
    <div class="flex items-center ...">
      <div class="py-4">01</div>
      <div class="py-12">02</div>
      <div class="py-8">03</div>
    </div>
  </div>
</body>
</html>

Khi chạy kết quả sẽ trông như này:

align items trong tailwind css 3 jpg

Hình ảnh sử dụng class items-center

Với ví dụ này khi được áp dụng items-center, các phần tử con sẽ được căn giữa trong container theo trục chính, giữa đỉnh và đáy của container. Các phần tử con sẽ có độ cao khác nhau vì sử dụng các giá trị padding khác nhau nhưng vẫn được căn giữa trong container.

Thuộc tính items-end của Align Items

Khi thiết kế một bố cục, việc xem xét vị trí của các phần tử là rất quan trọng. Một cách để làm điều này là sử dụng thuộc tính items-end, giúp căn chỉnh các phần tử đến cuối trục chéo của container. Bằng cách này, bạn có thể đảm bảo rằng các phần tử hiển thị một cách hài hòa với thiết kế tổng thể của trang web của bạn.

Ví dụ minh họa:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Freetuts - Tìm hiểu về Align Items trong Tailwind CSS</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <div class="container mx-auto">
    <div class="flex items-end ...">
      <div class="py-4">01</div>
      <div class="py-12">02</div>
      <div class="py-8">03</div>
    </div>
  </div>
</body>
</html>

Kết quả sẽ trông như này:

align items trong tailwind css 4 jpg

Hình ảnh sử dụng class items-end

Với giá trị items-end, các phần tử con sẽ được căn chỉnh theo phía dưới của container, nghĩa là chúng sẽ được đặt tại vị trí cao nhất mà phần tử con có chiều cao lớn nhất có thể đặt.

Việc này thường được sử dụng trong trường hợp muốn đưa các phần tử con vào phía dưới của trang web hoặc đưa chúng vào vùng chứa chân của trang web.

Thuộc tính items-baseline của Align Items

Sử dụng items-baseline để căn chỉnh các phần tử trong container theo trục chéo sao cho tất cả các đường baseline của chúng đều được căn chỉnh:

Điều này đặc biệt hữu ích khi bạn có các phần tử có kích thước font chữ và độ cao dòng khác nhau, vì nó đảm bảo rằng văn bản hiển thị được căn chỉnh theo trực quan. Một ví dụ khi sử dụng items-baseline là khi bạn có một hàng các phần tử với các nhãn khác nhau và bạn muốn chúng xuất hiện được căn chỉnh.

Ví dụ:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Freetuts - Tìm hiểu về Align Items trong Tailwind CSS</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <div class="container mx-auto">
    <div class="flex items-baseline ...">
      <div class="pt-2 pb-6">01</div>
      <div class="pt-8 pb-12">02</div>
      <div class="pt-12 pb-4">03</div>
    </div>
  </div>
</body>
</html>

Thực tế kết quả:

align items trong tailwind css 5 jpg

Hình ảnh sử class items-baseline

Như bạn đã thấy trong ví dụ trên, trong container có ba phần tử con được định dạng sử dụng các lớp pt-2, pt-8, và pt-12 để chỉ định giá trị padding trên của các phần tử con, và các lớp pb-6, pb-12, và pb-4 để chỉ định giá trị padding dưới của các phần tử con.

Với giá trị items-baseline, các phần tử con sẽ được căn chỉnh dựa trên baseline của chúng, nghĩa là các phần tử con sẽ có độ cao khác nhau và sẽ được căn chỉnh sao cho baseline của chúng trùng nhau

3. Áp dụng có điều kiện với Align Items trong Tailwind CSS

Tailwind cho phép bạn áp dụng các lớp trong các trạng thái khác nhau bằng cách sử dụng các biến như: hover, focus,... thay đổi. Điều này có thể hữu ích khi bạn muốn thay đổi diện mạo của một phần tử dựa trên tương tác của người dùng. Ví dụ, bạn có thể sử dụng hover:items-center để chỉ áp dụng tiện ích items-center khi người dùng di chuột qua phần tử đó.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Freetuts - Tìm hiểu về Align Items trong Tailwind CSS</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
  <div class="container mx-auto">
    <div class="flex items-stretch hover:items-center">
      <div class="py-4">01</div>
      <div class="py-12">02</div>
      <div class="py-8">03</div>
    </div>
  </div>
</body>
</html>

Hình ảnh thực tế sẽ trông như này:

align items trong tailwind css 6 jpg

Hình ảnh sử dụng class hover:items-center khi chưa di chuột tới

align items trong tailwind css 7 jpg

Hình ảnh sử dụng class hover:items-center khi di chuột tới

Với lớp hover:items-center, khi trỏ chuột vào container, giá trị của align-items sẽ thay đổi thành items-center, các phần tử con sẽ được căn chỉnh đến giữa của container. Điều này tạo ra một hiệu ứng "rút gọn" của các phần tử con khi trỏ chuột vào container.

4. Kết luận

Align Items là một thuộc tính CSS quan trọng giúp bạn căn chỉnh các phần tử bên trong một container. Với Tailwind CSS, bạn có thể sử dụng các class mà tôi có giới thiệu bên trên để thiết lập Align Items cho container.

Hy vọng bài viết này sẽ giúp bạn hiểu rõ hơn về Align Items trong Tailwind CSS và áp dụng vào các dự án của mình.

Cùng chuyên mục:

Place Self trong Tailwind CSS

Place Self trong Tailwind CSS

Place Items trong Tailwind CSS

Place Items trong Tailwind CSS

Place Content trong Tailwind CSS

Place Content trong Tailwind CSS

Align Self trong Tailwind CSS

Align Self trong Tailwind CSS

Align Content trong Tailwind CSS

Align Content trong Tailwind CSS

Justify Self trong Tailwind CSS

Justify Self trong Tailwind CSS

Justify Items trong Tailwind CSS

Justify Items trong Tailwind CSS

Justify Content trong Tailwind CSS

Justify Content trong Tailwind CSS

Gap trong Tailwind CSS

Gap trong Tailwind CSS

Grid Auto Flow trong Tailwind CSS

Grid Auto Flow trong Tailwind CSS

Grid Column Start / End trong Tailwind CSS

Grid Column Start / End trong Tailwind CSS

Grid Template Columns trong Tailwind CSS

Grid Template Columns trong Tailwind CSS

Grid Template Rows trong Tailwind CSS

Grid Template Rows trong Tailwind CSS

Flex Shrink trong Tailwind CSS

Flex Shrink trong Tailwind CSS

Flex Grow trong Tailwind CSS

Flex Grow trong Tailwind CSS

Flex Wrap trong Tailwind CSS

Flex Wrap trong Tailwind CSS

Flex Direction trong Tailwind CSS

Flex Direction trong Tailwind CSS

Flex Basis trong Tailwind CSS

Flex Basis trong Tailwind CSS

Cách sử dụng Flex để xây dựng layout trong Tailwind CSS

Cách sử dụng Flex để xây dựng layout trong Tailwind CSS

Z-Index trong Tailwind CSS

Z-Index trong Tailwind CSS

Top