css - Opera 中基于百分比的宽度问题

标签 css cross-browser opera fluid-layout

我正在尝试制作流畅的网格布局,但遇到了 Opera 中宽度渲染不一致的问题。在 Opera 中,元素的宽度始终小于其他浏览器。我正在尝试流畅的 960 网格系统,但如果它不一致,那么我可能会更改为固定尺寸。

有谁知道如何让 Opera 呈现与其他浏览器相同的宽度?

example of Opera browser not render something the percentage width it should be

这是我在这个演示中使用的 CSS 和 HTML

.show_grid {
  background: url(../img/grid.gif) no-repeat center top;
}

html, body{
  margin: 0;
  padding: 0;
}
.container {
  width: 92%;
  margin-left: auto;
  margin-right: auto;
  max-width: 936px;
  padding-top: 15%;
}
.box {
  width: 15.633%;
  background: #006;
  color: #999;
  margin: 5% .55%   
}


<div class="container show_grid">
  <div class="box">2 column - browser name</div>
</div>

最佳答案

Opera 舍入百分比 widths 但它不舍入填充和边距的百分比值。

所以,简单的方法是设置width: 15%,并添加padding-right:.633%。但是这样做,只有 block 在视觉上会更大。

如果您想让它的宽度公平,以便所有子元素都具有相同的宽度,您需要添加另一个包装器并为其添加适当的负边距。它是通过以下公式计算的:100/width*padding,在您的情况下:100/15*0.633。它会补偿填充,一切都会很酷。

这是一个包含所有变体的 fiddle :http://jsfiddle.net/kizu/8q23d/ — 以像素为单位的固定宽度,width:15.633% block ,第一次视觉修复和最后的正确修复。

关于css - Opera 中基于百分比的宽度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7091264/

相关文章:

css - Bootstrap 3 表单复选框标签与 Chromium + Firefox 中的复选框输入不对齐

javascript - Firefox Iframe 问题

firefox - Firefox/Opera 是否处理定位/多个背景图像?

javascript - 指针相对于具有动态 DOM 的元素的位置

Css 动画不能只在 chrome 下工作

javascript - 如何将某些样式应用于打印页面上的第一个和最后一个元素?

css - 移动 Web 表单 - 可以使用 CSS 和 HTML 为 Android 和 iPhone 自定义单选按钮样式吗?

html - 在浏览器中禁用表单验证

html - 如何在 html 和 css 中的网格图像上添加 float 按钮

HTML 打印 : DOT-MATRIX