什么是<u>标签和<ins>标签之间的区别?</ins> </u>

时间:2012-08-27 19:42:06

标签: html

这两个标签之间有什么区别?似乎做同样的事情。

<p>My favorite color is  <ins>red</ins>!</p>


<p>My favorite color is  <u>red</u>!</p>

4 个答案:

答案 0 :(得分:10)

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

参考:<ins><u>

答案 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

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

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

答案 3 :(得分: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(或文档中的片段,可能是它所在的文档),解释更改,datetime给出a W3 date-time format
  7. 的更改日期

    因此:

    1. 如果下划线表示已添加内容,请使用ins
    2. 如果您想表明添加的内容,而不是下划线,请使用ins并使用CSS更改其显示方式。
    3. 请勿使用u。 HTML的历史是我们想要醒来的噩梦。
    4. 如果您想要出于其他原因下划线,请选择最符合您意义的元素,使用divspan如果您真的不能做得更好,并使用CSS加下划线