Các position
bất động sản có thể giúp bạn thao tác các vị trí của một nguyên tố, ví dụ:
.element ( position: relative; top: 20px; )
Liên quan đến vị trí ban đầu của nó, phần tử ở trên bây giờ sẽ được di chuyển từ trên xuống 20px. Nếu chúng ta tạo hoạt ảnh cho các thuộc tính này, chúng ta có thể thấy điều này mang lại cho chúng ta bao nhiêu quyền kiểm soát (mặc dù đây không phải là ý tưởng hay vì lý do hiệu suất):
relative
chỉ là một trong sáu giá trị của thuộc position
tính. Đây là những cái khác:
Giá trị
static
: mọi phần tử đều có vị trí tĩnh theo mặc định, vì vậy phần tử sẽ dính vào dòng trang bình thường. Vì vậy, nếu có một bộ chỉ mục left / right / top / bottom / z-index thì sẽ không có tác dụng đối với phần tử đó.relative
: vị trí ban đầu của phần tử vẫn còn trong luồng của tài liệu, giống nhưstatic
giá trị. Nhưng bây giờ left / right / top / bottom / z-index sẽ hoạt động. Các thuộc tính vị trí “di chuyển” phần tử từ vị trí ban đầu theo hướng đó.absolute
: phần tử bị xóa khỏi luồng của tài liệu và các phần tử khác sẽ hoạt động như thể nó thậm chí không có ở đó trong khi tất cả các thuộc tính vị trí khác sẽ hoạt động trên đó.fixed
: phần tử bị xóa khỏi luồng tài liệu giống như phần tử được định vị tuyệt đối. Trên thực tế, chúng hoạt động gần như giống nhau, chỉ có các phần tử được định vị cố định luôn liên quan đến tài liệu, không phải bất kỳ phần tử gốc cụ thể nào và không bị ảnh hưởng bởi việc cuộn.sticky
(thử nghiệm): phần tử được coi như mộtrelative
giá trị cho đến khi vị trí cuộn của chế độ xem đạt đến một ngưỡng được chỉ định, tại thời điểm đó phần tử sẽ ởfixed
vị trí mà nó được yêu cầu gắn vào.inherit
:position
giá trị không phân tầng, vì vậy điều này có thể được sử dụng để buộc nó cụ thể vàinherit
định vị giá trị từ cha của nó.
Tuyệt đối
Nếu một phần tử con có một absolute
giá trị thì phần tử mẹ sẽ hoạt động như thể phần tử con không có ở đó:
.element ( position: absolute; )
Và khi chúng tôi cố gắng đặt các giá trị khác, chẳng hạn như left
, bottom
và right
chúng tôi sẽ thấy rằng phần tử con không phản hồi với các thứ nguyên của cha của nó mà là tài liệu:
.element ( position: absolute; left: 0; right: 0; bottom: 0; )
Để làm cho phần tử con được định vị hoàn toàn từ phần tử mẹ của nó, chúng ta cần đặt điều này trên chính phần tử mẹ:
.parent ( position: relative; )
Bây giờ tính như left
, right
, bottom
và top
sẽ đề cập đến các yếu tố phụ huynh, do đó nếu chúng ta thực hiện các phần tử con trong suốt chúng ta có thể nhìn thấy nó ngồi ngay ở dưới cùng của phụ huynh:
đã sửa
Các fixed
giá trị tương tự như absolute
vì nó có thể giúp bạn định vị một yếu tố bất cứ nơi nào liên quan đến các tài liệu, tuy nhiên giá trị này không bị ảnh hưởng bằng cách di chuyển. Xem phần tử con trong bản trình diễn bên dưới và làm thế nào, khi bạn cuộn, nó tiếp tục dính vào cuối trang:
Dữ liệu hỗ trợ trình duyệt này là từ Caniuse, có nhiều chi tiết hơn. Một con số cho biết rằng trình duyệt hỗ trợ tính năng ở phiên bản đó trở lên.
Máy tính để bàn
Trình duyệt Chrome | Firefox | I E | Cạnh | Safari |
---|---|---|---|---|
4 | 2 | 7 | 12 | 3.1 |
Di động / Máy tính bảng
Chrome dành cho Android | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 3 | số 8 |
Dính
Các sticky
giá trị như một sự thỏa hiệp giữa relative
và fixed
giá trị. Theo văn bản này, nó hiện là một giá trị thử nghiệm, có nghĩa là nó không phải là một phần của thông số kỹ thuật chính thức và chỉ được chấp nhận một phần bởi các trình duyệt được chọn. Nói cách khác, có lẽ không phải là ý tưởng tốt nhất nếu sử dụng điều này trên một trang web sản xuất trực tiếp.
Nó làm gì? Chà, nó cho phép bạn định vị một phần tử so với bất kỳ thứ gì trên tài liệu và sau đó, khi người dùng đã cuộn qua một điểm nhất định trong khung nhìn, hãy cố định vị trí của phần tử vào vị trí đó để nó vẫn được hiển thị liên tục giống như một phần tử có fixed
giá trị.
Lấy ví dụ sau:
.element ( position: sticky; top: 50px; )
Phần tử sẽ được định vị tương đối cho đến khi vị trí cuộn của khung nhìn đạt đến điểm mà phần tử sẽ 50px
ở trên cùng của khung nhìn. Tại thời điểm đó, phần tử trở nên dính và vẫn ở fixed
vị trí 50px
trên cùng của màn hình.
Bản trình diễn sau minh họa điểm đó, trong đó điều hướng trên cùng là định relative
vị mặc định và điều hướng thứ hai được đặt sticky
ở trên cùng của chế độ xem. Xin lưu ý rằng bản demo sẽ chỉ hoạt động trong Chrome, Safari và Opera tại thời điểm viết bài này.
Dữ liệu hỗ trợ trình duyệt này là từ Caniuse, có nhiều chi tiết hơn. Một con số cho biết rằng trình duyệt hỗ trợ tính năng ở phiên bản đó trở lên.
Máy tính để bàn
Trình duyệt Chrome | Firefox | I E | Cạnh | Safari |
---|---|---|---|---|
91 | 59 | Không | 88 | 7.1 * |
Di động / Máy tính bảng
Chrome dành cho Android | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | số 8* |
Thêm thông tin
Video ngày 25/02/2015# 110: Tổng quan nhanh về Giá trị vị trí CSS
▶ Thời gian chạy: vị trí 13:34











