重学 HTML —— 过时元素

120 阅读3分钟

「这是我参与2022首次更文挑战的第19天,活动详情查看:2022首次更文挑战

这一节是一些已经过时的标签,虽然有部分浏览器依旧支持。研究这些标签的用法是没有任何意义的,本篇主要是看看这些标签为什么被废弃,它们曾经是解决哪些问题以及我们现在有什么更好的解决方案。

  • acronym:字母缩写,使用 abbr 替代。
  • applet:applet 是一个非常古老的东西,是使用 java 编写的在浏览器中运行的交互程序,很久以前就已经过时了,现代浏览器不需要这个东西。
  • basefont、font:basefont 设置基准字体的大小,影响 font 的效果,font 用于设置字体,这一部分属于样式而非结构,可以由 css 实现。
  • bgsound:背景音乐,给 IE 使用的,正常浏览器没实现也不需要,相关场景使用 audio。
  • big:加大字体,可以使用 css 实现(与之相反的 small 标签目前还未废弃)。
  • blink:实现文本闪烁效果,浏览器未实现已移除,可以使用 css 实现。
  • center:添加块居中效果,不影响布局,改用 css 实现。
  • content、shadow:Web Components 废弃方案,最新的标准下使用 slot 和 Shadow DOM 实现对应效果。
  • dir:展示目录,建议使用 ul 列表。
  • frameset、frame:使用 iframe 替代。
  • hgroup:添加标题组,部分浏览器未实现,现已移除标准。
  • image:img 之前的实验性标签,没有实际作用。
  • keygen:密钥信息,有其他实现手段。
  • marquee:滚动文字,就是之前见过的飘来飘去的广告,有需要可以使用 css 实现。
  • menuitem:menu 的子元素,浏览器未实现,因此目前 menu 也不可用。
  • nobr:不换行,可以使用 css 实现。
  • noframes、noembed:当不支持特性时展示内容,已经不需要。
  • plaintext:纯文本,类似 pre 的效果。
  • rb、rtc:注音相关的内容,目前已经不支持。
  • spacer:插入间隔,应该使用 css。
  • strike:删除线,根据语义可以选用 s 或者 del。
  • tt:电报文,语义已经无效,实际效果可以使用 code 替代。
  • xmp:类似 pre 效果。

上面这些是 MDN 列出的废弃标签,我在这里都简单介绍了废弃原因和替代方案,可以看到废弃其实就是已经用不到了,当初产生可能是由于种种历史原因,但是随着 css 发展,html 和 css 的职能更加明确,一些不合适使用 html 的内容和一些重复或无实际意义的标签被废弃掉也是非常合理的。

本章节为 HTML 系列最后一篇,至此已经看过了 html 全部可用和不可用的标签,实际上我们使用最多的还是 div 等,重新学习一遍发现了一些之前没注意到的东西,加深一些理解。