html - Webkit(Safari/Chrome)在 float 元素上呈现百分比不准确的边距

标签 html css google-chrome webkit css-float

我有两个 float 的容器,它们应该占据父元素的 100% 宽度。

我有这个 HTML:

<div class="box">1</div>
<div class="box half">2</div>
<div class="box half">2</div>

还有这个 CSS:

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing:border-box; 
}

body, html {
    margin: 0;
    padding: 0;    
}

body {
    width: 420px;
    margin: 0 auto;
}

.box {
    float: left;    
    width: 100%;
    margin: 0;
    border: 1px solid red;
}

.box.half {
    width: 49.2%;
    margin-right: 1.6%; 
}

.box.half + .box.half {
    margin-right: 0;
}

在 Firefox 中这很好用,但 Chrome 和 Safari 却搞砸了。它适用于某些屏幕尺寸(当结果尺寸为整数时看起来像)但不适用于所有屏幕尺寸。我能做些什么来解决这个问题吗?

enter image description here

看看这个fiddle .

最佳答案

我在 Chrome 和 firefox 上检查没有问题,但在 safari(mac) 中,我找到了。

以前从没想过,谢谢。我的解决方案是让右边的盒子向右浮动。

.box.half + .box.half {
   margin-right: 0;
   float:right;
}

关于html - Webkit(Safari/Chrome)在 float 元素上呈现百分比不准确的边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484906/

相关文章:

html - 在移动设备上,如何将按钮保持在屏幕右侧

html - QToolButton 不支持 HTML

html - 如何让h1、h2看起来像普通的段落文字

javascript - 隐藏从服务器返回的部分文本

css - (Twitter) Bootstrap 按钮输入在悬停时闪烁

css - 相同的字体在 Chrome 与 Firefox、IE 和 Safari 中看起来不同

html - 第一个和最后一个 flexbox 框的边距

javascript - 如何通过 Javascript 将 div 中的某些 HTML 代码替换为另一个新的 HTML 代码

jquery - 停止滚动的滚动列

.net - Chrome/IE8多进程设计,在.NET中可以吗?