Небольшое отклонение от Ответ Майка М. Линя
Если вы добавите overflow: auto;
(или hidden
) к div.product_container
, тогда вам не нужно div.clear
.
Это происходит из этой статьи -> http://www.quirksmode.org/css/clearing.html
Вот модифицированный HTML:
<div class="product_container">
<div class="outer-center">
<div class="product inner-center">
</div>
</div>
</div>
А вот модифицированный CSS:
.product_container {
overflow: auto;
/* width property only required if you want to support IE6 */
width: 100%;
}
.outer-center {
float: right;
right: 50%;
position: relative;
}
.inner-center {
float: right;
right: -50%;
position: relative;
}
Причиной, почему лучше без div.clear
(кроме того, что иметь пустой элемент кажется неправильным) является чрезмерное усердие в Firefox.
Если, например, у вас есть этот html:
<div class="product_container">
<div class="outer-center">
<div class="product inner-center">
</div>
</div>
<div style="clear: both;"></div>
</div>
<p style="margin-top: 11px;">Some text</p>
затем в Firefox (8,0 на момент написания) вы увидите 11px
margin до product_container
. Хуже всего то, что вы получите вертикальную полосу прокрутки для всей страницы, даже если контент хорошо вписывается в размеры экрана.