0

以下情况: http:
//files.dqxtech.net/leftmargin/
http://jsfiddle.net/xeFN3/

<div class="container">
  <div class="element-left">
  </div>
  <div class="element-right">
  </div>
</div>

.container {
  width:120px;
}
.element-left {
  width:120px;
  margin-left:12%:
  margin-right:auto;
}
.element-right {
  width:120px;
  margin-right:12%:
  margin-left:auto;
}

问题:
.element-left 应该与 .element-right 对称放置,但事实并非如此。对于 .element-left,“自动”边距的计算结果为负数,而“12%”边距的计算结果正好为 12%。对于 .element-right,“auto”边距计算为零,“12%”边距计算为负值。

知道为什么会发生这种情况,以及如何解决吗?text-align 确实有任何区别。

4

1 回答 1

4

-valuemargin始终auto计算为零或正像素数。

对于 .element-left,“自动”边距的计算结果为负数

不,margin-right评估为零;元素只是溢出它的父元素,这可以由overflow属性控制。默认情况下,元素会溢出到右侧和底部。ltr可以通过将文本方向设置为从to rtl(从右到左)来反转此行为。

我想,你最好使用两个内部DIV的相对位置。另一种可能的解决方案是使用固定的负值而不是auto(eg -12%)

于 2012-07-09T12:54:01.137 回答