【发布时间】:2014-05-31 08:15:53
【问题描述】:
当然,这个标签是不正确的:
<b><i>Hi</b></i>
但是,它仍然可以在现代浏览器中完美运行(至少在最新版本的 chrome 中)。
这种错误的代码顺序有什么负面影响?
另外,看看这个:
<table><tr><td>Hi</td></table></tr>
浏览器将如何处理此代码?
【问题讨论】:
-
根本不要使用
<b><i>。改用 CSS。 (虽然只是提到它,但与问题无关) -
@Daan 你不能说不知道上下文。
-
如果您真的想知道浏览器如何解析错误的 HTML,read the parsing rules in the spec。但是,如果您正在编写 HTML 解析器,您真的只需要担心它们,内容作者应该首先编写好的 HTML(并使用 validator 对其进行测试)。
-
是的,@Daan,但我正在制作一个聊天框。
<b>会比添加style="text-weight:bold"更方便,所以我个人同意@enapupe。 -
也不建议这样使用内联样式。您可以使用 (在我看来比 更好),或者根据内容的含义(例如 messageHeading 或其他东西)使用带有类的跨度。这意味着,如果您在某些时候希望该文本被加下划线/更大/红色/正常/等而不是粗体,您只需更改 CSS 中的一个位置,而不是更改所有使用它的位置。这也意味着您可以轻松添加多种样式,打印样式不同等