固定内联块div,负边距和浮动浮动:-4px有什么特别之处?

huy*_*uyz 5 html css margin css-float

这很奇怪.我正在尝试在右浮动div旁边有一个固定宽度的div,我不想重新排序div(因为这是分布式主题).所以我在固定div上使用负边距右边,我觉得奇怪的是:如果它是-4px或更小,那么浮动移动到一边; 否则,它会保持在低于.

与戏剧的代码现场演示在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>
Run Code Online (Sandbox Code Playgroud)

有人可以解释这个谜吗?在这种情况下,数字-4有什么特别之处?

thi*_*dot 3

4px恰好是那个“空间”的宽度font-size

如果您将 更改font-size#container32px它会中断

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