CSS - Thuộc tính place-self: Hướng dẫn cho người mới bắt đầu

Xin chào các nhà vô địch CSS tương lai! Hôm nay, chúng ta sẽ cùng lặn vào thế giới kỳ diệu của CSS và khám phá một thuộc tính nhỏ gọn nhưng rất hữu ích叫做 place-self. Đừng lo lắng nếu bạn là người mới; tôi sẽ dẫn bạn từng bước, như tôi đã làm với học sinh của mình trong nhiều năm. Cuối cùng của bài hướng dẫn này, bạn sẽ có thể đặt các phần tử như một chuyên gia!

CSS - Place Self

place-self là gì?

Trước khi chúng ta nhảy vào phần sâu hơn, hãy bắt đầu với những điều cơ bản. Thuộc tính place-self là một viết tắt để đặt cả hai thuộc tính align-selfjustify-self trong một声明 duy nhất. Nó giống như giết hai con chim bằng một viên đá, nhưng nhân văn hơn và liên quan đến CSS!

Cú pháp

Cú pháp của place-self rất đơn giản:

place-self: <align-self> <justify-self>;

Nếu bạn cung cấp chỉ một giá trị, nó sẽ áp dụng cho cả align-selfjustify-self. Đó giống như đặt một combo meal - bạn nhận được hai thứ với giá của một!

Các giá trị có thể sử dụng

Bây giờ, hãy nhìn vào các giá trị khác nhau mà chúng ta có thể sử dụng với place-self. Tôi sẽ trình bày chúng trong một bảng, điều này tôi thấy giúp học sinh dễ tiếp thu thông tin hơn:

Giá trị Mô tả
auto Phần tử kế thừa hành vi align-self/justify-self của container cha
normal Phần tử được đặt theo luồng bình thường của tài liệu
start Căn chỉnh phần tử vào đầu container
end Căn chỉnh phần tử vào cuối container
center Căn giữa phần tử trong container
stretch Kéo giãn phần tử để phù hợp với container
flex-start Căn chỉnh phần tử vào đầu container flex
flex-end Căn chỉnh phần tử vào cuối container flex
self-start Căn chỉnh phần tử vào đầu trục của nó
self-end Căn chỉnh phần tử vào cuối trục của nó
baseline Căn chỉnh phần tử vào baseline của container
first baseline Căn chỉnh phần tử vào baseline đầu tiên của container
last baseline Căn chỉnh phần tử vào baseline cuối cùng của container

Áp dụng cho

Thuộc tính place-self áp dụng cho các phần tử lưới và các phần tử flex. Nó giống như một siêu năng lực chỉ có một số siêu anh hùng (hoặc trong trường hợp của chúng ta, các phần tử) sở hữu!

Bây giờ, hãy cùng lặn vào một số ví dụ để xem các giá trị này hoạt động như thế nào trong thực tế.

CSS place-self - normal start Giá trị

.item {
place-self: normal start;
}

Lời khai này đặt phần tử theo luồng bình thường cho căn chỉnh và ở đầu container cho căn chỉnh theo chiều dọc. Nó giống như nói với phần tử của bạn, "Hãy bình thường, nhưng bắt đầu từ đầu!"

CSS place-self - auto center Giá trị

.item {
place-self: auto center;
}

Ở đây, chúng ta đang nói, "Kế thừa căn chỉnh từ cha, nhưng căn giữa theo chiều ngang." Điều này hoàn hảo khi bạn muốn phần tử của bạn theo luồng bình thường theo chiều dọc nhưng nổi bật theo chiều ngang.

CSS place-self - center normal Giá trị

.item {
place-self: center normal;
}

Điều này căn giữa phần tử theo chiều dọc nhưng giữ nó trong luồng bình thường theo chiều ngang. Hãy tưởng tượng phần tử của bạn đang ở một buổi tiệc - nó đang ở giữa phòng nhưng vẫn tuân theo quy tắc thông thường của buổi tiệc!

CSS place-self - end normal Giá trị

.item {
place-self: end normal;
}

Điều này căn chỉnh phần tử vào cuối container theo chiều dọc trong khi giữ nó trong luồng bình thường theo chiều ngang. Nó giống như phần tử của bạn đang đứng trên đầu ngón chân ở phía sau đám đông!

CSS place-self - start auto Giá trị

.item {
place-self: start auto;
}

Điều này đặt phần tử ở đầu container theo chiều dọc và kế thừa căn chỉnh theo chiều ngang. Nó nói, "Tôi sẽ bắt đầu ở trên cùng, nhưng tôi sẽ theo luồng bình thường theo chiều ngang."

CSS place-self - self-start auto Giá trị

.item {
place-self: self-start auto;
}

Điều này căn chỉnh phần tử vào đầu mép của nó theo chiều dọc và kế thừa căn chỉnh theo chiều ngang. Nó giống như phần tử của bạn đang nói, "Tôi sẽ làm điều tôi muốn theo chiều dọc, nhưng tôi sẽ theo đám đông theo chiều ngang."

CSS place-self - self-end normal Giá trị

.item {
place-self: self-end normal;
}

Điều này căn chỉnh phần tử vào cuối mép của nó theo chiều dọc và giữ nó trong luồng bình thường theo chiều ngang. Nó giống như phần tử của bạn đang với tới trời với双脚坚实地站在地上!

CSS place-self - flex-start auto Giá trị

.item {
place-self: flex-start auto;
}

Trong một container flex, điều này căn chỉnh phần tử vào đầu container theo chiều dọc và kế thừa căn chỉnh theo chiều ngang. Điều này hoàn hảo cho các phần tử flex muốn bắt đầu từ trên cùng nhưng theo luồng flex theo chiều ngang.

CSS place-self - flex-end normal Giá trị

.item {
place-self: flex-end normal;
}

Trong một container flex, điều này căn chỉnh phần tử vào cuối container theo chiều dọc và giữ nó trong luồng bình thường theo chiều ngang. Nó giống như phần tử flex của bạn đang làm một handstand!

CSS place-self - baseline normal Giá trị

.item {
place-self: baseline normal;
}

Điều này căn chỉnh baseline của phần tử với baseline của container theo chiều dọc và giữ nó trong luồng bình thường theo chiều ngang. Điều này rất tốt để giữ văn bản được căn chỉnh giữa các phần tử khác nhau.

CSS place-self - last baseline normal Giá trị

.item {
place-self: last baseline normal;
}

Tương tự như baseline, nhưng nó sử dụng baseline cuối cùng nếu có nhiều baseline. Nó giống như đảm bảo phần tử của bạn có lời cuối cùng!

CSS place-self - stretch auto Giá trị

.item {
place-self: stretch auto;
}

Điều này kéo giãn phần tử để phù hợp với container theo chiều dọc và kế thừa căn chỉnh theo chiều ngang. Nó giống như phần tử của bạn đang nói, "Tôi sẽ cao nhất có thể, nhưng tôi sẽ theo luồng bình thường theo chiều ngang."

Và thế là bạn đã có nó, các bạn! Chúng ta đã khám phá thuộc tính place-self và các giá trị khác nhau của nó. Nhớ rằng, chìa khóa để thành thạo CSS là thực hành. Vậy hãy tiếp tục, thử nghiệm với các giá trị này, kết hợp chúng và xem bạn có thể tạo ra những bố cục đẹp mắt nào!

Trong những năm dạy học của tôi, tôi đã thấy rằng học sinh nào thử nghiệm và vui vẻ với CSS thường học nhanh hơn và nhớ lâu hơn. Vậy đừng ngại sáng tạo! Ai biết được? Bạn có thể phát hiện ra một sự kết hợp trở thành phong cách đặc trưng của bạn.

Chúc mừng coding, và hy vọng các phần tử của bạn luôn được đặt chính xác!

Credits: Image by storyset