Vui lòng xem xét this jsfiddle, chứa mã html này:Định vị tuyệt đối với tỷ lệ phần trăm cho kết quả bất ngờ
<div id="container">
<div id="item">TEST</div>
</div>
Và một số CSS:
#container {
border: 1px solid red;
height: 100px;
width: 100px;
}
#item {
border: 1px dashed purple;
position: absolute;
left: 50%;
}
Kết quả làm tôi ngạc nhiên. Nhìn vào W3 positioning props Tôi mong đợi các #item
để có giá trị trái của nó tại 50% của "chứa khối": #container
. Tuy nhiên, nó có vẻ là 50% của toàn bộ trang, không chỉ là containing block. Thậm chí còn đáng ngạc nhiên hơn nữa: nếu tôi nói tràn bộ chứa để ẩn "TEST" vẫn sẽ ở đó.
Tất cả các trình duyệt chính (bao gồm IE9) dường như có cùng hành vi, vì vậy kỳ vọng của tôi có thể không chính xác. Câu hỏi sau đó là: phần nào của thông số này giải thích hành vi này, nếu có?
Đó là 'vị trí: cố định', luôn sử dụng vùng chứa trang đầy đủ. Định vị tuyệt đối không áp dụng cho các phần tử cha của nó, xem câu trả lời của tôi. – animuson
Quá đúng. Tôi hoàn toàn đồng ý. Cảm ơn. – thepriebe