8
4

4 回答 4

13

语义。<ins>标签表示在首次发布后插入的内容。该<u>标签仅用于下划线,没有任何意义。

参考:<ins>,<u>

于 2012-08-27T19:44:14.020 回答
8

官方差异取决于您选择视为官方的 HTML 规范或草案。

在 HTML 4.01 规范中,u意味着带下划线的文本样式,而ins意味着其内容已“插入 [...] 相对于不同版本的文档(例如,在立法者需要查看更改的立法草案中)。ins未指定渲染;相反,描述了一些可能的渲染。实际上,浏览器大多使用下划线。还有一种形式上的语法差异,u它只允许文本级内容,而ins也可能包含块。

在 HTML5 草案中,ins本质上是相似的,但措辞不同,并且有一个明确的建议,或者可能是(半)建议,默认渲染使用下划线(参见10.3.4 Phrasing content there)。之前从草案中u排除,现在添加,但具有虚构的含义:“u 元素表示一段文本,具有未明确表达但明确呈现的非文本注释,例如将文本标记为中文文本中的专有名称(中文专有名称标记),或将文本标记为拼写错误。” 如果这对您没有意义,那么您不是唯一一个。并且u具有作为建议或推荐的默认渲染的下划线。

在实践中,效果基本相同,只是ins一些旧浏览器会忽略标签。一些异国情调的浏览器可以使用不同的渲染。我没有看到任何浏览器、搜索引擎或任何其他相关软件对两者进行区分的证据;它们的“语义差异”没有实际影响。

ins但是,在某种意义上,除了插入的文本之外,我不会使用任何东西,只是因为某些未来的浏览器可能会以某种方式处理它,这对插入的文本有意义,但不是其他方式。ins仅用于下划线不会有明显的好处:u标记更短,支持更广泛。再说一次,您应该在网页上为文本(链接除外)加下划线的情况很少见。

于 2012-08-27T20:10:58.270 回答
4

ins是一个语义标签:它表示已插入的元素(另请参见del删除的元素),同时u为引擎提供将元素渲染为下划线的指令。

一些引擎可能决定呈现ins为,u但您可以使用“语义”来决定以其他方式呈现它(使用 CSS)。说到 CSS,它渲染<u>无用,只会让样式维护变得更加困难,就像<b>,<center>等等。

至于其他版本标签,del它并没有被广泛使用,也不清楚为什么应该这样。

参考 :

http://www.w3.org/TR/html-markup/ins.html

http://www.w3.org/TR/html-markup/del.html

http://www.w3.org/TR/html-markup/u.html

于 2012-08-27T19:44:03.790 回答
2
  1. ins有一个含义:此文本是在以后插入的。
  2. u没有任何意义,它只是告诉浏览器在上面加一些下划线。(尽管 CSS 可以像任何其他元素一样覆盖它,但该元素自 4.0 以来一直毫无意义的原因之一)
  3. ins是在 4.0 中引入的,并且仍然是最新的。
  4. u至少在 2.0 中引入(HTML1.0 从未真正停止工作,因此 2.0 是第一个真正的标准),并在 4.0 中弃用
  5. 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>.
  6. ins有一个可选cite属性,给出文档的 URI(或文档中的片段,可能与它所在的文档相同)解释更改,并datetimeW3 日期时间格式给出更改的日期。

因此:

  1. 如果下划线表示添加的内容,请使用ins.
  2. 如果您想指示添加的内容,但不是通过下划线,请使用ins并使用 CSS 来更改它的显示方式。
  3. 永远不要使用u。HTML 的历史是一场噩梦,我们正试图从中醒来。
  4. 如果您出于其他原因想要下划线,那么要么选择最符合您的意思的元素,使用div或者span如果您真的不能做得更好,然后使用 CSS 来给它加下划线。
于 2012-08-27T19:58:54.100 回答