×

Cách sử dụng z-index - Xác định thứ tự chồng lớp của phần tử

Z-index là một thuộc tính quan trọng trong CSS (Cascading Style Sheets) để xác định thứ tự chồng lớp (stacking order) của các phần tử trên trang web. Những phần tử này bao gồm các hộp chứa ảnh, văn bản, hay bất kỳ dạng nội dung nào khác mà có thể xếp chồng lên nhau. Việc sử dụng đúng cách thuộc tính này giúp nhà phát triển web kiểm soát và tùy biến hiển thị giao diện người dùng một cách linh hoạt hơn.

Hiểu về Stacking Context

Trước khi đi vào cách sử dụng thuộc tính z-index, ta cần phải hiểu về khái niệm "stacking context". Một stacking context là một nhóm các phần tử HTML có cùng gốc cha và có quy tắc xếp chồng nhất định. Stacking context có thể được tạo ra bởi các thuộc tính CSS như position, float, và display, nhưng thuộc tính z-index chỉ hoạt động trên các phần tử được đặt trong các ngữ cảnh này.

Thuộc Tính Position

Để sử dụng z-index, phần tử phải có khai báo thuộc tính position với các giá trị khác giá trị mặc định là static. Các giá trị này bao gồm relative, absolute, fixed, và sticky.

Ví dụ:

.element {
    position: relative; /* hoặc absolute, fixed, sticky */
    z-index: 10;
}

Nếu không thiết lập thuộc tính position, tức là phần tử có giá trị position: static, thì z-index sẽ không có hiệu lực.

Giá Trị của Z-Index

Thuộc tính z-index có thể nhận các giá trị số nguyên dương, số nguyên âm, và giá trị 0. Giá trị z-index càng cao, phần tử càng được xếp lên phía trên so với các phần tử khác.

Ví dụ:

<div class="lower" style="position: relative; z-index: 1;">
   Nội dung bậc 1
</div>

<div class="higher" style="position: relative; z-index: 2;">
   Nội dung bậc 2
</div>

Trong ví dụ trên, phần tử có z-index là 2 sẽ nằm trên phần tử có z-index là 1.

Z-Index Âm

Giá trị z-index âm cũng có thể được sử dụng để đặt phần tử nằm ở phía sau so với các phần tử khác.

Ví dụ:

<div class="background" style="position: relative; z-index: -1;">
   Nội dung nền
</div>

<div class="content" style="position: relative; z-index: 1;">
   Nội dung chính
</div>

Trong trường hợp này, phần tử có z-index -1 sẽ được đặt phía sau phần tử có z-index 1.

Kế Thừa Stacking Context

Khi một phần tử trở thành một stacking context mới, tất cả các phần tử con của nó sẽ sử dụng nó làm điểm cơ sở để xếp hạng z-index của mình. Việc này giúp kiểm soát các lớp xếp chồng hữu ích trong các thiết kế phức tạp.

Ví dụ:

<div class="parent" style="position: relative; z-index: 5;">
    <div class="child" style="position: absolute; z-index: 3;">
        Nội dung con
    </div>
</div>

Trong trường hợp này, .child sẽ luôn nằm trong stacking context của .parent và giá trị của nó chỉ có tác dụng trong phạm vi của .parent.

Kết Luận

Việc sử dụng z-index đúng cách sẽ giúp bạn kiểm soát thứ tự xuất hiện của các phần tử trên trang web một cách rõ ràng và chính xác. Điều cần nhớ nhất là luôn phải kết hợp z-index với thuộc tính vị trí như relative, absolute, fixed, hoặc sticky để nó có hiệu lực. Hi vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng z-index trong CSS để tạo ra các thiết kế web hấp dẫn và chuyên nghiệp.

Comments