这两个标签之间有什么区别?似乎做同样的事情。
<p>My favorite color is <ins>red</ins>!</p>
和
<p>My favorite color is <u>red</u>!</p>
答案 0 :(得分:10)
答案 1 :(得分:7)
官方差异取决于您选择视为官方的HTML规范或草稿。
根据HTML 4.01规范,u
表示带下划线的文本样式,而ins
表示其内容已针对文档的不同版本“插入[...]”(例如,在立法草案中,立法者需要查看变化)。未指定ins
的呈现;相反,描述了一些可能的渲染。实际上,浏览器大多使用下划线。还有一个正式的语法差异,u
只允许文本级内容,而ins
也可能包含块。
在HTML5草案中,ins
基本相似,但有不同的措辞和明确的建议,或者可能是(半)推荐,默认呈现使用下划线(请参阅10.3.4 Phrasing content)。 u
之前被排除在草案之外,现在已添加,但具有发明意义:“u元素表示具有未明确但非明确呈现的非文本注释的文本范围,例如将文本标记为中文文本中的专有名称(中文专有名称),或将文本标记为拼写错误。“如果这对你没有意义,那么你就不是唯一的。并且u
强调为建议或推荐的默认呈现。
在实践中,效果大致相同,只是某些旧浏览器会忽略ins
标记。一些异域浏览器可以使用不同的渲染我没有看到任何浏览器,搜索引擎或任何其他相关软件的任何证据在两者之间做出任何区分;他们的“语义差异”没有实际影响。
但是,我不会在某种意义上将ins
用于除插入文本之外的任何内容,只是因为某些未来的浏览器可能会以某种方式处理它,这对插入的文本有意义,但不是。使用ins
仅用于下划线没有任何实际好处:u
是更短的标记并得到更广泛的支持。再说一遍,你应该在网页上为文字加下划线的情况很少见。
答案 2 :(得分:4)
ins
是一个语义标记:它表示已插入的元素(另请参阅del
表示已删除的元素),而u
则为引擎提供将元素呈现为下划线的指令
某些引擎可能决定将ins
呈现为u
,但您可以使用“语义”决定以其他方式呈现它(使用CSS)。说到CSS,它会使<u>
变得无用,只会使样式维护变得更加困难,就像<b>
,<center>
一样,等等。
至于其他版本标签,del
,它没有被广泛使用,并且不清楚为什么它应该是。
参考:
http://www.w3.org/TR/html-markup/ins.html
答案 3 :(得分:2)
ins
有一个含义:此文本是在以后插入的。u
没有任何意义,它只是告诉浏览器在其上添加一些下划线。 (虽然CSS可以覆盖它,就像任何其他元素一样,这个元素自4.0以来一直没有意义的原因之一)ins
是在4.0中引入的,现在仍然是最新的。u
引入至少2.0(HTML1.0从未真正停止正在进行中,所以2.0是第一个真正的标准),并且不推荐使用4.0 u
仅限内联,因此<p><u>this is valid</u></p>
只有<u><p>this makes no sense</p></u>
。 ins
是可以同时使用块和内联的少数元素之一(还有一些内联元素在5.0中具有此状态),因此<p><ins>this is valid</ins></p><ins><p>this is also valid</p></ins>
。ins
有一个可选的cite
属性,用于说明文档的URI(或文档中的片段,可能是它所在的文档),解释更改,datetime
给出a W3 date-time format。因此:
ins
。ins
并使用CSS更改其显示方式。u
。 HTML的历史是我们想要醒来的噩梦。div
或span
如果您真的不能做得更好,并使用CSS加下划线