背景应该居中并尊重填充

发布于 2024-12-27 15:04:51 字数 515 浏览 1 评论 0原文

这里是一个片段(如果您使用的是 Opera,请查看 链接)。 正如我们所看到的,在 webkit 浏览器中,我们可以看到背景图像在居中时尊重填充, 而在(至少 Firefox 和 Opera)中情况有所不同。

这里是 webkit non-webkit

所以,问题如下 - 什么行为实际上是正确的,而且更重要的是,我怎样才能统一布局?

UPD:不要浪费时间试图在臭名昭著的CSS重置集中找到适当的规则,因为我已经尝试过)))

Here is a snippet (if you are using Opera, check out this link).
As we can see In webkit browser we can see that background image respects padding while centering,
and in (at least Firefox and Opera) things go different.

here it is webkit
non-webkit

So, the question is following - what behaviour is actually correct, and, far far more important, how can I unify layout?

UPD: don't waste your time trying to find appropriate rule in notorious css reset sets, since I've already tried )))

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

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

发布评论

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

评论(1

九八野马 2025-01-03 15:04:51

您的问题不是 background-origin 而是 box-sizing

看起来 webkit 的 box-sizing 是 content-box ,而 mozilla 的 box-sizing 是 border-box ,使得 webkit 的单元格高度为 242px(高度 + 填充 + 边框),而 mozilla 的为 200px。由于您的垂直背景位置居中,因此会创建额外的垂直空间。只需设置 box-sizing:border-box 即可确保两个现代浏览器之间的一致性。

这是一个新的:http://dabblet.com/gist/1621656

编辑:
虽然上面修复了 Chrome (webkit),但它似乎没有修复 Safari 5.1 (webkit)。似乎每个浏览器对表格单元格的 box-sizing 属性的实现都有错误。事实上,如果您查看 MDN 的注释部分,它会显示 < code>box-sizing 甚至没有在 Mozilla 中应用。

因此,我们必须以不同的方式解决你的身高问题。好消息,根据 CSS2.1 规范,我们应该能够从 TR 定义我们想要的高度。这是适用于我的 Safari、Chrome 和 Firefox 版本的新功能:http://dabblet.com/gist/1622122

You're problem isn't the background-origin it's the box-sizing.

Looks like webkit's box-sizing is content-box and mozilla's is border-box making webkit's cell-height 242px (height + padding + border) and mozilla's 200px. And since your vertical background position is centered, it's creating extra vertical space. Simply set box-sizing:border-box for consistency between the two modern browsers.

Here's a new one: http://dabblet.com/gist/1621656

EDIT:
While the above fixes Chrome (webkit), it does not seem to fix Safari 5.1 (webkit). It appears that each browser has a buggy implementations of the box-sizing property for table-cells. In fact, if you even look at the Notes section of the MDN it says box-sizing isn't even applied in Mozilla.

Therefore, we must solve your height issue a different way. Good news, according to the CSS2.1 Spec we should be able to define the height we want from the TR. Here's a new that works in my Safari, Chrome and Firefox versions: http://dabblet.com/gist/1622122

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