【问题标题】:Fixed inline-block div with negative margin-right and shifting float: what's special about -4px?修复了带有负边距和浮动浮动的内联块 div:-4px 有什么特别之处?
【发布时间】:2011-09-30 16:41:43
【问题描述】:

这很奇怪。我试图在右浮动 div 旁边有一个固定宽度的 div,我不想重新排序 div(因为这是分布式主题)。所以我在固定 div 上使用负边距,我得到了在我看来很奇怪的东西:如果它是 -4px 或更小,那么浮动会移到一边;否则,它会停留在下方。

live demo with code at jsbin,它有这个:

<style>
  .container {
    width: 200px;
    height: 200px;
  }
  .box {
    width: 100px;
    height: 100px;
  }
  .one {
    margin-right: -4px; /* If <= -4, .two box shifts up */
    display: inline-block;
  }
  .two {
    float: right;
  }
</style>
  <div class="container">
    <div class="box one"></div>
    <div class="box two"></div>
  </div>

有人能解释一下其中的奥秘吗?在这种情况下,数字 -4 有什么特别之处?

【问题讨论】:

    标签: css html css-float margin


    【解决方案1】:

    4px 恰好是font-size 处“空格”的宽度。

    如果您将#containerfont-size 更改为32pxit breaks

    解决此问题的明智方法包括:

    【讨论】:

    • 好眼光!永远不会明白这一点,但现在它很有意义。我不想在左侧使用浮点数的原因是因为我想使用最小宽度和最大宽度之间的流体大小,而 div 试图占用尽可能多的空间。但那是另一回事了,我还不确定这是否可行。
    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 2015-06-29
    • 1970-01-01
    • 2017-02-28
    • 2016-05-22
    • 2014-08-07
    • 2016-02-22
    • 2017-11-17
    相关资源
    最近更新 更多