Bạn muốn kiểm soát vị trí chính xác của các phần tử bên trong lưới (grid) CSS? Hãy cùng tìm hiểu cách sử dụng thuộc tính
justify-self
để đạt được điều đó. Với
justify-self
, bạn có thể dễ dàng căn chỉnh các item trong grid container theo chiều ngang.
Giới Thiệu Về Justify-self Trong CSS
Justify-self là gì?
justify-self
là một thuộc tính CSS cho phép bạn điều chỉnh vị trí của một phần tử grid dọc theo trục inline (trục ngang) trong grid container của nó. Nó chỉ định cách một item grid được căn chỉnh trong cell của nó, khi item đó nhỏ hơn kích thước của cell.
Think of CSS
justify-self
as a way to micro-manage the horizontal alignment of individual items within a grid.
Để hiểu rõ hơn về CSS, bạn có thể tham khảo CSS là gì? để có cái nhìn tổng quan.
Tại sao cần sử dụng Justify-self?
Trong bố cục lưới (grid layout), đôi khi bạn không muốn tất cả các phần tử đều tuân theo căn chỉnh mặc định.
justify-self
cho phép bạn ghi đè hành vi mặc định này và tinh chỉnh vị trí của từng phần tử. Điều này đặc biệt hữu ích khi tạo các bố cục phức tạp và responsive.
Các Giá Trị Của Justify-self
Thuộc tính
justify-self
chấp nhận các giá trị sau:
-
auto
: Giá trị mặc định. Phần tử thừa kế giá trịjustify-items
của parent element, hoặcstretch
nếu không có giá trị kế thừa. -
stretch
: Phần tử lấp đầy toàn bộ chiều rộng của grid cell. -
start
: Phần tử được căn chỉnh ở đầu của grid cell. -
end
: Phần tử được căn chỉnh ở cuối của grid cell. -
center
: Phần tử được căn chỉnh ở giữa của grid cell. -
self-start
: Tương tự như `start`, nhưng tuân theo writing mode. -
self-end
: Tương tự như `end`, nhưng tuân theo writing mode. -
left
: Căn trái item trong cell. -
right
: Căn phải item trong cell.
Ví Dụ Về Cách Sử Dụng Justify-self
Dưới đây là một ví dụ đơn giản về cách sử dụng
justify-self
:
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; } .grid-item { width: 100px; height: 100px; background-color: #ddd; } .item1 { justify-self: start; } .item2 { justify-self: center; } .item3 { justify-self: end; }
Trong ví dụ này, item 1 được căn trái, item 2 được căn giữa và item 3 được căn phải trong các grid cell tương ứng của chúng.
Justify-self và Align-self: Sự Khác Biệt
Cả
justify-self
và
align-self
đều được sử dụng để căn chỉnh các phần tử grid. Tuy nhiên, chúng hoạt động trên các trục khác nhau.
justify-self
điều chỉnh căn chỉnh theo trục inline (chiều ngang), trong khi
align-self
điều chỉnh căn chỉnh theo trục block (chiều dọc). Sử dụng kết hợp cả hai thuộc tính sẽ giúp bạn kiểm soát hoàn toàn vị trí của các phần tử trong grid container.
Lời Khuyên Khi Sử Dụng Justify-self
-
Sử dụng
justify-self
để tinh chỉnh vị trí của các phần tử khi căn chỉnh mặc định không đáp ứng yêu cầu. -
Kết hợp
justify-self
vớialign-self
để kiểm soát cả căn chỉnh ngang và dọc. - Kiểm tra kỹ trên các thiết bị khác nhau để đảm bảo bố cục responsive hoạt động như mong đợi.
-
Hãy nhớ rằng
justify-self
chỉ có hiệu lực trên các phần tử grid hoặc flex item.
Mastering
justify-self
allows for refined control over grid item placement, creating visually appealing layouts.
Justify-self hoạt động với loại layout nào?
justify-self
chỉ hoạt động trên các phần tử là grid item (con trực tiếp của grid container) hoặc flex item. Nó không có tác dụng trên các phần tử khác.
Giá trị 'stretch' của justify-self có ý nghĩa gì?
Giá trị
stretch
làm cho phần tử grid mở rộng để lấp đầy toàn bộ chiều rộng của grid cell mà nó nằm trong đó. Đây là giá trị mặc định nếu không có giá trị nào khác được chỉ định.
Khi nào nên sử dụng justify-self thay vì justify-items?
justify-items
áp dụng cho tất cả các item trong grid container. Sử dụng
justify-self
khi bạn chỉ muốn căn chỉnh một item cụ thể, ghi đè cài đặt từ
justify-items
.
Justify-self có ảnh hưởng đến kích thước của grid cell không?
Không,
justify-self
chỉ ảnh hưởng đến vị trí của grid item bên trong cell của nó. Nó không thay đổi kích thước của cell.
Justify-self có được hỗ trợ bởi tất cả các trình duyệt không?
Hầu hết các trình duyệt hiện đại đều hỗ trợ
justify-self
. Tuy nhiên, bạn nên kiểm tra khả năng tương thích với các trình duyệt cũ hơn và cung cấp fallback nếu cần.