Пожалуйста, рассмотрите этот jsfiddle , содержащий этот HTML-код:
<div id="container">
<div id="item">TEST</div>
</div>
И немного CSS:
#container {
border: 1px solid red;
height: 100px;
width: 100px;
}
#item {
border: 1px dashed purple;
position: absolute;
left: 50%;
}
Результаты меня удивляют. Глядя на позиционные реквизиты W3 , я бы ожидал, что #item
будет иметь свое левое значение в 50% от "содержащего блока": #container
. Однако, похоже, что он занимает 50% всей страницы, а не только блок , содержащий . Еще более удивительно: если я скажу переполнению контейнера оставаться скрытым, «ТЕСТ» все равно будет там.
Все основные браузеры (включая IE9), похоже, демонстрируют одинаковое поведение, поэтому мои ожидания, вероятно, неверны. Тогда возникает вопрос: : Какая часть спецификации объясняет это поведение, если оно есть?