strike、s和del标签

这三个标签都可以实现文本删除线的效果,但有几个注意点:

strike标签已经弃用

虽然部分浏览器还保留对strike的支持,但是这个标签随时有可能被取消支持,应当使用del或者s替换这个元素。

选择s还是del

其实看一下两者的官方说明,就可以知道。对于s,官方说明如下

The HTML <s> element renders text with a strikethrough, or a line through it. Use the <s> element to represent things that are no longer relevant or no longer accurate. However, <s> is not appropriate when indicating document edits; for that, use the <del> and <ins> elements, as appropriate.

简单翻译一下:s元素将文本渲染成划线效果,使用s元素,表明内容不再相关或者精确,但是,s并不暗示文档编辑,如果是那样的目的,应当使用del和ins。

再来看看del怎么说:

The HTML <del> element represents a range of text that has been deleted from a document. This element is often (but need not be) rendered with strike-through text.

del元素表示文档内容已经被删除,它通常渲染成划线效果,但这并非必须

因此,del更多是从语义上表明,文档的一部分被删除这个含义,一般会显示成划线效果,但不排除其他的显示效果。如果需要确保成划线,应当使用css中的text-decoration:line-through。

其他情况需要表明移除、不正确等含义的时候,则应当使用s元素。s元素并不是一个纯显示的元素,它仍然是起到语义强调的作用,因此它并没有在html 5中被移除,而center、font、big等styling元素则都被一举消灭。

Show Comments

Get the latest posts delivered right to your inbox.