Thiết lập vị trí cho phần tử bằng thuộc tính position CSS

Thuộc tính position dùng để xác định kiểu vị trí cho phần tử HTML.
Kiểu vị trí sẽ quyết định cách thức mà phần tử sẽ được hiển thị trong trang web. Ví dụ:

HTMLCSS
Thuộc tính vị trí
Các thuộc tính vị trí (top, bottom, left, right) thường được sử dụng chung với thuộc tính position để canh lề cho phần tử.

Ví dụ
Phần tử <div> dưới đây được canh lề trái 50px, lề phải 300px, phía trên 100px

Lưu ý: Các thuộc tính vị trí chỉ có tác dụng khi giá trị của thuộc tính position khác static

Vị trí CỐ ĐỊNH
Vị trí cố định tức là khi ta kéo chuột lên, xuống, trái, phải thì phần tử vẫn hiển thị cố định một chỗ.

Để thiết lập vị trí cố định cho phần tử, ta sử dụng thuộc tính position với giá trị là fixed

Ví dụ
Phần tử <div> dưới đây được thiết lập vị trí cố định và canh lề trái 50px, lề phải 250px, phía trên 100px

Vị trí TĨNH
Vị trí tĩnh là kiểu vị trí mặc định của phần tử.

Một phần tử có kiểu vị trí tĩnh sẽ:

Không bị ảnh hưởng bởi giá trị của các thuộc tính vị trí (top, bottom, left, right)
Xuất hiện theo đúng thứ tự của nó trong đoạn mã HTML
Để thiết lập vị trí tĩnh cho phần tử, ta sử dụng thuộc tính position với giá trị là static

Ví dụ

Lưu ý: Vị trí tĩnh là kiểu vị trí mặc định của phần tử. Do đó, nếu bạn muốn thiết lập kiểu vị trí tĩnh cho phần tử thì không cần thiết phải dùng đến thuộc tính position.

Vị trí TƯƠNG ĐỐI
Vị trí tương đối là vị trí mà phần tử sẽ được hiển thị ở đâu so với vị trí ban đầu của nó

Để thiết lập vị trí tương đối cho phần tử, ta sử dụng thuộc tính position với giá trị là relative

Ví dụ

Khi sử dụng chung với các thuộc tính vị trí (top, bottom, left, right) nó sẽ được hiển thị ở một vị trí khác tương đối so với vị trí ban đầu của nó và nằm đè lên các phần tử khác. Tuy nhiên, khoảng không gian vốn có giữa nó và các phần tử xung quanh vẫn được giữ nguyên (Xem lại ví dụ trên để hiểu rõ hơn).

Lưu ý Với kiểu vị trí tương đối:

Giữa top và bottom ta chỉ có thể sử dụng một thuộc tính.
Giữa left và right ta chỉ có thể sử dụng một thuộc tính.
Vị trí TUYỆT ĐỐI
Vị trí tuyệt đối là vị trí mà phần tử sẽ được hiển thị ở đâu so với phần tử chứa nó

Phần tử chứa nó phải có kiểu vị trí là: fixed, absolute, relative. Nếu phần tử chứa nó không thuộc 3 kiểu nêu trên, thì nó sẽ được xác định vị trí dựa theo phần tử gốc là <html>

Để thiết lập vị trí tuyệt đối cho phần tử, ta sử dụng thuộc tính position với giá trị là absolute

Ví dụ

Lưu ý: Kiểu vị trí relative thường được dùng để làm phần tử chứa phần tử có kiểu vị trí absolute.

Thiết lập kích thước tương đối cho phần tử
Thông thường ta thiết lập kích thước cho phần tử bằng thuộc tính width và height. Tuy nhiên, cách này chỉ dùng để thiết lập các kích thước cố định, biết trước (Ví dụ như chiều rộng là bao nhiu, chiều cao là bao nhiu).

Còn ở trường hợp, tôi muốn phần tử:

Hiển thị cách lề trên của phần tử chứa nó 50px
Hiển thị cách lề dưới của phần tử chứa nó 100px
Hiển thị cách lề trái của phần tử chứa nó 70px
Hiển thị cách lề phải của phần tử chứa nó 140px
Toàn bộ phần còn lại là kích thước của nó.
Vậy ta phải làm như thế nào !?

Trường hợp này hết sức đơn giản, ta chỉ sử dụng các thuộc tính vị trí như top, bottom, left, right mà không cần phải dùng đến thuộc tính width và height

Ví dụ

Lưu ý: Cách này chỉ có thể áp dụng cho phần tử có kiểu vị trí là fixed và absolute

Chồng chéo các phần tử
Khi thiết lập vị trí cho các phần tử, rất có khả năng chúng sẽ bị chồng chéo lên nhau. Ví dụ:

Với thuộc tính z-index ta có thể quyết định được phần tử nào sẽ nằm đè lên phần từ nào. Ví dụ:

Ví dụ

Phần tử có giá trị z-index lớn hơn sẽ nằm đè lên phần tử có giá trị z-index nhỏ hơn.
Nếu hai phần tử có cùng giá trị z-index thì phần tử code sau sẽ nằm đè lên phần tử code trước
Các thuộc tính z-index, top, bottom, left, right có thể nhận giá trị âm.

Học CSS