Html 几乎所有的标准模式如何从标准模式更改渲染?

Html 几乎所有的标准模式如何从标准模式更改渲染?,html,css,Html,Css,我能找到的所有文档都表明,几乎标准模式与标准模式的不同之处在于表格单元格中图像的对齐方式 然而,这个问题表明IE8和Opera中的渲染在两种模式之间发生了变化,这取决于复选框的解释方式。当然,该页面上既没有表格也没有图像 那么,有人知道这两种模式之间的其他区别吗?是的,它删除了它们容器中唯一的子模式 .表中仅受影响的图像。当然,其他采用这种模式的浏览器可能会有其他不同之处 表单字段,尤其是复选框,是很棘手的。这些标准并没有真正涵盖它们应该如何呈现,所以浏览器仍然可以从中做出合理的选择。复选框是与

我能找到的所有文档都表明,几乎标准模式与标准模式的不同之处在于表格单元格中图像的对齐方式

然而,这个问题表明IE8和Opera中的渲染在两种模式之间发生了变化,这取决于复选框的解释方式。当然,该页面上既没有表格也没有图像

那么,有人知道这两种模式之间的其他区别吗?

是的,它删除了它们容器中唯一的子模式

.

表中仅受影响的图像。当然,其他采用这种模式的浏览器可能会有其他不同之处


表单字段,尤其是复选框,是很棘手的。这些标准并没有真正涵盖它们应该如何呈现,所以浏览器仍然可以从中做出合理的选择。复选框是与图像类似的内联元素,因此某些浏览器可能会很好地处理它们,使其与图像类似。

这篇Microsoft文章解释了这一区别,并介绍了图像和基线的常见情况,以及提示此问题的复选框的行为:

它说,对于几乎所有的标准模式:

当且仅当下列条件之一时,内联元素对线条高度有贡献 以下是事实

如果元素:

  • 包含文本字符

  • 具有非零边框宽度

  • 具有非零边距

  • 具有非零填充

  • 有背景图像

  • 将“垂直对齐”设置为基线以外的值

请注意,换行符不被视为该字符的文本字符 定义,除非它是行框的唯一内容。那么,, 线框高度保持最上面的内联框顶部和 行上最低的内联框底部,无论指定的 线条高度

如果img元素是表格单元格的唯一内容,则行框 单元格线框高度调整为零


似乎其他一些内联元素也有同样的效果。当然,
iframe
canvas
的处理方式与
img
相同。