<s>
和<del>
之间有什么区别?我已阅读here <b>
和<strong>
之间存在语义差异,这是否适用于<s>
和<del>
?此外,搜索引擎如何解释这些语义差异(如果有的话)以及它们对排名有何影响?是否有其他标签会影响搜索排名?
答案 0 :(得分:26)
<s>
和<del>
都存在于HTML规范中。
也就是说它们在语义上实际上代表了不同的东西。如果您有现有文档并且想要指示文档中的文本但已被删除,则将使用<del>
。这与文档中不再准确,但尚未删除的文本不同(您可以使用<s>
)。
即使大多数浏览器默认使用它们,也不应该使用或依赖它们的样式。你应该只依靠CSS进行演示。
由于搜索引擎的工作方式具有多种性质,因此很难说一个标签或其他标签是否会对关键字的创建方式和内容编制索引产生影响。您应该专注于创建语义正确的好内容,并遵循您的网站排名。
答案 1 :(得分:6)
在阅读现有答案后,我仍然对在我的应用程序中使用哪一个感到困惑。我们同意表示它们是相同的,差异主要归结为语义。 Mozilla的MDN文档帮助我澄清了语义。
我认为<s>
对于大多数用例来说是正确的,这就是为什么以及四个相关选项:
<强> <strike>
强>
很明显<strike>
is deprecated,因此不再正确使用。
<强> <s>
强>
来自<s>
on MDN:
HTML删除线元素(
<s>
)使用删除线或通过它的线条呈现文本。使用<s>
元素表示不再相关或不再准确的内容。 但是,<s>
在指示文档编辑时不合适;为此,请根据需要使用<del>
和`元素。**
<强> <del>
强>
来自<del> on MDN
:
HTML已删除文本元素(
<del>
)表示已从文档中删除的一系列文本。此元素通常(但不一定)使用删除线文本进行渲染。
此页面上最重要的一点是,<del>
与<ins>
一样,提供了两个额外的(可选)属性:cite
和datetime
,这些属性在引用时很有意义更改文档的上下文。作为一个反例,如果我更新餐馆菜单,引用菜单项的消息来源似乎并不相关。
没有标记/使用CSS
如果以上所有内容对您的用例都不正确,请记住您仍然可以定义自定义类。
.purchased { text-decoration: line-through; }
<p>Wish list</p>
<ul>
<li class="purchased">New MacBook</li>
<li>Cookies</li>
</ul>
答案 2 :(得分:5)
del
和s
之间没有实际差异,但标签名称不同。它们具有相同的默认呈现(overtruck文本),并且没有证据表明浏览器或搜索引擎处理有任何差异,并且没有理由期望这样的差异,因为“语义”定义含糊不清并且作者并不关心关于他们。在搜索引擎中没有关于这些元素的任何动作的证据 - 它们对文本进行操作并且通常忽略文本级标记,除了可能被视为给予其内容更大相对权重的某些元素之外一页。
默认或“预期”默认呈现在HTML5 CR的Rendering部分明确指定:del, s, strike { text-decoration: line-through; }
理论差异是HTML规范和草案说关于其“含义”的内容,这些含义因HTML版本而异。
所以你可以使用任何一个元素,或两者都不使用。过度训练的文本不是一个好主意,因为它很容易使一些字母难以阅读。但是如果你需要重击(例如,因为广告需要包含旧的价格超支),使用strike
可能是最安全的,这是一个诚实的表达元素。因此,您甚至可以避免某些软件以某种特殊方式解释s
或del
的理论可能性,这可能是基于某人对HTML5 CR的读取,可能与您的意图不同,从而可能导致某些渲染或处理与您的重击原因不一致的处理。 (从历史上看,s
和strike
是同义词,但HTML5 CR会对它们进行任意区分,使s
为“语义”和strike
呈现。)
答案 3 :(得分:0)
我会按照语义定义的方式使用它们:删除已删除的文本的DEL,以及现在不准确但尚未删除的文本的S.
这些可能看起来大致相同,但可以通过屏幕阅读器和其他辅助功能工具进行不同的处理 - DEL可能会被完全忽略(例如:未读出),S可能会被读出但与正常文本不同。