在下面的HTML代码中,我的浏览器似乎在隐式关闭div标记,因此单元格1看起来是蓝色的,而单元格2则不是。
<table>
<td><div style="background:blue">cell one</td>
<td>cell two</td>
</div>
</table>
直观地说,这似乎是明智的行为,但它似乎与HTML规范相矛盾。
收集嵌套格式元素(如b)并继续应用,即使它们包含在其中的元素是封闭的。
两个标记都不可忽略。
我对此的理解是,新td
标记的打开不应该隐式关闭div
标记,因此样式化应该在整个表中继续进行。
规范中有什么东西让浏览器的行为与规范一致,还是浏览器超出了正式规范的范围?
用Chrome,Firefox,IE,Edge进行测试
发布于 2020-01-16 13:16:29
不,因为:
div
不是格式化元素。
以下HTML元素是在活动格式元素列表中结束的: a、b、大、代码、em、字体、i、nobr、s、小、击、强、tt和u。
表是特别的
参见12.2.6.4.15 "in cell“插入模式,它说:
生成隐含的结束标记。
https://stackoverflow.com/questions/59769351
复制相似问题