z-index
là một thuộc tính trong CSS được sử dụng để xác định thứ tự xếp chồng của các phần tử trên trang web. Thuộc tính này rất quan trọng khi bạn làm việc với các phần tử có vị trí (positioned elements) như absolute
, relative
, fixed
, hoặc sticky
. Bài viết này sẽ giải thích chi tiết về khái niệm và cách thức hoạt động của z-index
.
1. Khái Niệm Về z-index
- Thứ Tự Xếp Chồng:
z-index
xác định thứ tự xếp chồng của các phần tử. Các phần tử với z-index
cao hơn sẽ được hiển thị trên các phần tử có z-index
thấp hơn.
- Giá Trị
z-index
: Giá trị của z-index
có thể là một số nguyên dương, số nguyên âm, hoặc không có giá trị nào (có thể hiểu là 0
mặc định). Phần tử có z-index
bằng 1 sẽ nằm trên phần tử có z-index
bằng 0.
Cú Pháp:
.element {
position: relative; /* hoặc absolute, fixed, sticky */
z-index: 10; /* Giá trị z-index */
}
2. Cách Thức Hoạt Động
2.1. Xếp Chồng Trong Một Ngữ Cảnh
z-index
chỉ hoạt động trong ngữ cảnh xếp chồng của các phần tử. Điều này có nghĩa là:
- Ngữ Cảnh Xếp Chồng: Mỗi phần tử có thể tạo ra một ngữ cảnh xếp chồng mới nếu nó có thuộc tính
position
khác static
và có giá trị z-index
khác auto
.
- Các phần tử trong cùng một ngữ cảnh sẽ được xếp chồng dựa trên giá trị
z-index
của chúng.
2.2. Ví Dụ Về Ngữ Cảnh Xếp Chồng
<div class="parent">
<div class="child1">Child 1</div>
<div class="child2">Child 2</div>
</div>
<style>
.parent {
position: relative;
z-index: 1; /* Ngữ cảnh xếp chồng */
}
.child1 {
position: absolute;
z-index: 2; /* Sẽ nằm trên child2 */
}
.child2 {
position: absolute;
z-index: 1; /* Sẽ nằm dưới child1 */
}
</style>
Trong ví dụ này, child1
sẽ được hiển thị trên child2
mặc dù child2
có z-index
thấp hơn trong ngữ cảnh của .parent
.
3. Lưu Ý Khi Sử Dụng z-index
- Phải Có Vị Trí:
z-index
chỉ có tác dụng trên các phần tử đã được định nghĩa vị trí (positioned elements). Nếu phần tử có position: static
, z-index
sẽ không có tác dụng.
- Ngữ Cảnh Xếp Chồng: Các phần tử với
z-index
cao hơn trong một ngữ cảnh xếp chồng không nhất thiết phải được hiển thị trên các phần tử có z-index
thấp hơn trong ngữ cảnh khác.
- Giá Trị Mặc Định: Nếu không có thuộc tính
z-index
, giá trị mặc định của nó là auto
, có nghĩa là nó sẽ không ảnh hưởng đến việc xếp chồng.
Kết Luận
z-index
là một thuộc tính quan trọng trong CSS cho phép bạn kiểm soát thứ tự xếp chồng của các phần tử trên trang web. Bằng cách hiểu rõ cách hoạt động của z-index
và ngữ cảnh xếp chồng, bạn có thể dễ dàng quản lý giao diện của trang web một cách hiệu quả và chính xác. Sử dụng z-index
một cách hợp lý sẽ giúp tạo ra trải nghiệm người dùng tốt hơn với các yếu tố trực quan rõ ràng.