【问题标题】:Why does chrome enlarge empty object tags?为什么chrome会放大空对象标签?
【发布时间】:2021-06-05 11:18:22
【问题描述】:

因此,我刚刚修复了我网站上的一个错误 - chrome 将空 s 放大到 300x150px,而 Firefox 没有。我做了一个最小的页面来展示差异:https://riedler.wien/test/chrobject.html (archived)。我也可以根据要求发布屏幕截图,但我假设每个 webdev 都安装了。

object{
  background-color:#Fa0;
}
<a>Test</a>
<object></object>
<a>Toast</a>
<object>saas</object>

我找不到任何关于这是预期行为的信息,但我也找不到关于此的错误报告。请注意,我没有测试其他浏览器的行为,但由于几乎所有浏览器都基于 cromium,我假设它们与 chrome 共享它们的行为。此外,chrome 和 firefox 的移动版本与桌面版本的行为相同。

这是 Firefox 或 Chrome 的缺点吗?

【问题讨论】:

  • 300x150px 是没有定义固有尺寸的被替换元素的默认尺寸。例如 not 替换元素,当它直接具有内容时,但它也可以是替换元素,当它具有 data 属性集时。在这里,我们处于中间的奇怪情况......我还没有检查规格,但我想这是一个可能需要规格问题和 WPT 测试的灰色区域。但是,对你来说,我想知道你为什么要使用这个标签。
  • Ps:考虑到plugins have been removed from the standards 和连续的willing to deprecate both <object> and <plugin>,我怀疑那里会修复任何东西,你应该认真重新考虑你对这个标签的使用。
  • 是的,我完全不记得我为什么要使用这个标签,但是我想用网格重建我的表格很长一段时间,所以我最终会删除它。然而今天不是今天。

标签: html google-chrome firefox chromium


【解决方案1】:

这只是浏览器的默认设置。在构建网站时,通常最好清除所有格式:

* {
    
}

或者将其全部重置为一些合理的默认值:

* {
    all: initial
}

在文件的开头执行此操作。这将确保每个浏览器的格式一致。

这并不是这两种浏览器的真正缺点,而是一种妥协,因为有些网站需要,有些则不需要。但一般来说,firefox 的做法是最好的。最后,您会希望它在 chrome 上运行得最好,因为几乎每个浏览器都基于它,并且它拥有最大的用户群。

【讨论】:

  • a) 这甚至都行不通 b) 这是非常糟糕的做法,会破坏整个网站的风格 c) 我想打破 chromes 的市场份额,所以,如果我有在支持firefox和支持chrome之间选择,我会一直选择firefox。
猜你喜欢
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多