修复了具有负 margin-right 和移动浮动的内联块 div:-4px 有什么特别之处?

发布于 2024-11-19 08:15:55 字数 737 浏览 0 评论 0原文

这很奇怪。我试图在右浮动 div 旁边放置一个固定宽度的 div,并且我不想对 div 重新排序(因为这是分布式主题)。所以我在固定div上使用负margin-right,我得到了在我看来很奇怪的东西:如果它是-4px或更小,那么浮动会移到一边;如果它是-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>

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

This is strange. I'm trying to have a fixed-width div next to a right-floated div, and I don't want to reorder the divs (because this is distributed theme). So I'm playing with negative margin-right on the fixed div, and I get what seems to me strange: if it's -4px or less, then the float moves to the side; otherwise, it stays below.

Play with the live demo with code at jsbin, which has this:

<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>

Can someone explain the mystery? What's special about the number -4 in this case?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

始终不够 2024-11-26 08:15:55

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

如果将 #containerfont-size 更改为 32px它坏了

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

4px just happens to be the width of a "space" at that font-size.

If you change the font-size of #container to say, 32px, it breaks.

Sensible ways to fix this include:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文