Thuộc tính top xác định khoảng cách từ cạnh trên của phần tử đến cạnh trên của khối chứa định vị (containing block). Phần tử phải có position != static (absolute, relative, fixed, sticky) thì top mới có tác dụng.
Ví dụ minh họa
Mã sau đặt top: 100px cho div khi nhấn nút:
<!DOCTYPE html>
<html>
<head>
<style>
#myID {
position: absolute; /* Bắt buộc */
background: #ffe0b2;
padding: 10px;
border: 1px solid #ff9800;
}
</style>
</head>
<body>
<button onclick="setTopPosition()">Đặt Top Position</button>
<div id="myID">
Đây là văn bản demo! Đây là văn bản demo!
</div>
<script>
function setTopPosition() {
document.getElementById("myID").style.top = "100px";
/* Với position: absolute, top tính từ ancestor có position gần nhất.
Nếu không có ancestor nào, tính từ (initial containing block). */
}
</script>
</body>
</html>
Hành vi theo từng position
| position | top tính từ | Ghi chú |
|---|---|---|
relative | Vị trí gốc của chính nó | Phần tử vẫn chiếm chỗ trong luồng, chỉ dịch chuyển hiển thị. |
absolute | Ancestor gần nhất có position != static | Rời khỏi luồng, không chiếm chỗ. |
fixed | Viewport (cửa sổ trình duyệt) | Cố định khi cuộn trang. |
sticky | Viewport khi cuộn qua ngưỡng | Kết hợp relative + fixed. |
Lưu ý: Nếu cả top và bottom đều được đặt, top ưu tiên (trong LTR). Giá trị auto (mặc định) nghĩa là không dịch chuyển.