Css tuyệt đối bên ngoài cha mẹ
Thuộc tính CSS position =1 đặt cách một phần tử được định vị trong tài liệu. Các thuộc tính position =2, position =3, position =4 và position =5 xác định vị trí cuối cùng của các phần tử được định vị Show
position =6 Phần tử được định vị theo quy trình bình thường của tài liệu. Các thuộc tính position =2, position =3, position =4, position =5 và 1 không có hiệu lực. Đây là giá trị mặc định 2Phần tử được định vị theo quy trình bình thường của tài liệu, sau đó bù tương đối với chính nó dựa trên các giá trị của position =2, position =3, position =4 và position =5. Phần bù không ảnh hưởng đến vị trí của bất kỳ phần tử nào khác; Giá trị này tạo ngữ cảnh xếp chồng mới khi giá trị của 1 không phải là 9. Ảnh hưởng của nó đối với các phần tử 0, 1, 2, 3 và 4 là không xác định 5Phần tử bị xóa khỏi luồng tài liệu thông thường và không có khoảng trống nào được tạo cho phần tử trong bố cục trang. Nó được định vị so với tổ tiên gần nhất của nó, nếu có; . Vị trí cuối cùng của nó được xác định bởi các giá trị của position =2, position =3, position =4 và position =5 Giá trị này tạo ngữ cảnh xếp chồng mới khi giá trị của 1 không phải là 9. Lề của hộp được định vị tuyệt đối không sụp đổ với các lề khác 2Phần tử bị xóa khỏi luồng tài liệu thông thường và không có khoảng trống nào được tạo cho phần tử trong bố cục trang. Nó được định vị tương đối so với khối chứa ban đầu được thiết lập bởi khung nhìn, ngoại trừ khi một trong các tổ tiên của nó có thuộc tính 3, 4 hoặc 5 được đặt thành một thứ khác với 6 (xem phần ), hoặc thuộc tính 7 được đặt thành 3, trong . (Lưu ý rằng có sự không nhất quán của trình duyệt với 4 và 5 góp phần ngăn chặn sự hình thành khối. ) Vị trí cuối cùng của nó được xác định bởi các giá trị của position =2, position =3, position =4 và position =5 Giá trị này luôn tạo bối cảnh xếp chồng mới. Trong các tài liệu in, phần tử được đặt ở cùng một vị trí trên mỗi trang 5Phần tử được định vị theo quy trình bình thường của tài liệu, sau đó bù tương ứng với tổ tiên cuộn gần nhất của nó và khối chứa (tổ tiên cấp khối gần nhất), bao gồm các phần tử liên quan đến bảng, dựa trên các giá trị của position =2, position =3, position =4, . Phần bù không ảnh hưởng đến vị trí của bất kỳ phần tử nào khác Giá trị này luôn tạo bối cảnh xếp chồng mới. Lưu ý rằng phần tử dính "dính" vào tổ tiên gần nhất của nó có "cơ chế cuộn" (được tạo khi 0 là 1, 2, 9 hoặc 4), ngay cả khi tổ tiên đó không phải là tổ tiên cuộn thực sự gần nhất
Hầu hết thời gian, các yếu tố được định vị tuyệt đối có 7 và 8 được đặt thành 9 có kích thước sao cho phù hợp với nội dung của chúng. Tuy nhiên, các phần tử không được thay thế, được định vị tuyệt đối có thể được tạo để lấp đầy khoảng trống theo chiều dọc có sẵn bằng cách chỉ định cả position =2 và position =4 và để lại 7 không được chỉ định (nghĩa là, 9). Tương tự như vậy, chúng có thể được tạo để lấp đầy khoảng trống theo chiều ngang có sẵn bằng cách chỉ định cả position =5 và position =3 và để lại 8 là 9Ngoại trừ trường hợp vừa được mô tả (của các phần tử được định vị tuyệt đối lấp đầy không gian có sẵn)
Đảm bảo rằng các thành phần được định vị bằng giá trị 5 hoặc 2 không che khuất nội dung khác khi trang được thu phóng để tăng kích thước văn bản
Các phần tử cuộn chứa nội dung 2 hoặc 5 có thể gây ra các vấn đề về hiệu suất và khả năng truy cập. Khi người dùng cuộn, trình duyệt phải vẽ lại nội dung dính hoặc cố định ở một vị trí mới. Tùy thuộc vào nội dung cần vẽ lại, hiệu suất của trình duyệt và tốc độ xử lý của thiết bị, trình duyệt có thể không quản lý được các lần sơn lại ở tốc độ 60 khung hình/giây, gây lo ngại về khả năng truy cập cho những người nhạy cảm và gây khó khăn cho mọi người. Một giải pháp là thêm position =14 vào các phần tử đã định vị để hiển thị phần tử trong lớp riêng của nó, cải thiện tốc độ vẽ lại và do đó cải thiện hiệu suất và khả năng truy cập Giá trị ban đầu_______0_______6Áp dụng cho tất cả các phần tửKế thừakhôngGiá trị tính toánnhư đã chỉ địnhKiểu hoạt ảnhrời rạcTạo bối cảnh xếp chồngcó position = Các phần tử được định vị tương đối được bù một lượng nhất định so với vị trí bình thường của chúng trong tài liệu nhưng không có phần bù ảnh hưởng đến các phần tử khác. Trong ví dụ dưới đây, lưu ý cách các phần tử khác được đặt như thể "Hai" đang chiếm không gian của vị trí bình thường của nó HTML
CSS
Các yếu tố được định vị tương đối vẫn nằm trong luồng thông thường của tài liệu. Ngược lại, một phần tử được định vị tuyệt đối sẽ bị loại khỏi luồng; . Phần tử được định vị tuyệt đối được định vị tương ứng với tổ tiên được định vị gần nhất của nó (i. e. , tổ tiên gần nhất không phải là position =6). Nếu tổ tiên được định vị không tồn tại, thì nó được định vị tương ứng với ICB (khối chứa ban đầu — xem thêm phần ), là khối chứa phần tử gốc của tài liệu HTML
CSS
Kết quảĐịnh vị cố định tương tự như định vị tuyệt đối, ngoại trừ khối chứa phần tử là khối chứa ban đầu được thiết lập bởi khung nhìn, trừ khi bất kỳ tổ tiên nào có thuộc tính 3, 4 hoặc 5 được đặt thành thứ gì đó khác với 6 (xem ), sau đó gây ra . Điều này có thể được sử dụng để tạo một phần tử "nổi" ở cùng một vị trí bất kể cuộn. Trong ví dụ bên dưới, hộp "Một" được cố định ở 80 pixel từ đầu trang và 10 pixel từ bên trái. Ngay cả sau khi cuộn, nó vẫn ở cùng một vị trí so với khung nhìn. Ngoài ra, khi thuộc tính 7 được đặt thành 3, một khối chứa mới được thiết lậpHTML
CSS
Kết quảĐịnh vị cố định có thể được coi là sự kết hợp giữa định vị tương đối và cố định khi tổ tiên cuộn gần nhất của nó là chế độ xem. Một phần tử được định vị dính được coi là được định vị tương đối cho đến khi nó vượt qua một ngưỡng xác định, tại thời điểm đó, nó được coi là cố định cho đến khi nó đạt đến ranh giới của phần tử cha của nó. Ví dụ
Quy tắc CSS ở trên sẽ định vị phần tử có id một cách tương đối cho đến khi chế độ xem được cuộn sao cho phần tử sẽ nhỏ hơn 10 pixel tính từ trên xuống. Vượt quá ngưỡng đó, phần tử sẽ được cố định thành 10 pixel tính từ trên xuống Một cách sử dụng phổ biến cho định vị cố định là dành cho các tiêu đề trong danh sách được sắp xếp theo thứ tự bảng chữ cái. Tiêu đề "B" sẽ xuất hiện ngay bên dưới các mục bắt đầu bằng "A" cho đến khi chúng được cuộn ra khỏi màn hình. Thay vì trượt ra khỏi màn hình với phần còn lại của nội dung, tiêu đề "B" sau đó sẽ được cố định ở trên cùng của chế độ xem cho đến khi tất cả các mục "B" đã cuộn ra khỏi màn hình, tại thời điểm đó, nó sẽ bị che bởi chữ "C" Bạn phải chỉ định một ngưỡng có ít nhất một trong số position =2, position =3, position =4 hoặc position =5 để định vị cố định hoạt động như mong đợi. Nếu không, nó sẽ không thể phân biệt được với định vị tương đối Bạn có thể sử dụng Flex với tuyệt đối không?Div có thể là tuyệt đối và tương đối không?Rõ ràng, không có gì có thể đồng thời là tuyệt đối và tương đối . Bạn muốn phần tử tự định vị dựa trên vị trí của tổ tiên khác hoặc dựa trên luồng trang.
Tại sao chỉ số Z của tôi không hoạt động?Bạn đặt chỉ mục z trên phần tử tĩnh
. chỉ mục z chỉ hoạt động trên các phần tử được định vị (tương đối, tuyệt đối, cố định, cố định), vì vậy nếu bạn đặt chỉ mục z trên một phần tử có vị trí tĩnh, nó sẽ không hoạt động. |