yun 发表于 2016-10-22 16:14:58

这些废弃的html标签不要用



HTML 已经发展了多年,现在 W3C 已经发布了 HTML 5.1 的提案推荐标准,一些陈旧废弃的标签已经在后继的标准中逐渐消失。这里为大家列出那些已经被废弃 HTML 标签,看看你是不是还在使用它们。
<acronym>首字母缩写,例如 WWW类似的有<abbr>标签,表示单词缩写,例如 <abbr>inc.</abbr>。语法如下:
[*]<acronym title="World Wide Web">WWW</acronym>
[*]<abbr title="incorporated">inc.</abbr>
推荐用<abbr>,不要用<acronym>(忽略上面提到的语义上的差异)。<applet>Java 小应用程序,主要提供绘图功能(在页面上通过代码绘制一些东西),例如:
[*]<applet code="ShowImage.class" width=600 height=400 archive="Imagetest.jar"></applet>
目前几乎没什么用了,因为运行需要 JRE,而目前主流浏览器并不默认安装 JRE。推荐使用<canvas>绘图,或者用<object>+<embed>嵌入 flash代替<applet>。注意:使用<object>+<embed>是为了更好的兼容性,如果场景允许,推荐使用<object>。<basefont><basefont>标签定义基准字体。该标签可以为文档中的所有文本定义默认字体颜色、字体大小和字体系列,例如:
[*]<basefont color="red" size="5" face="Arial" />
<basefont>标签只有 IE 支持。推荐直接给<body>元素定义默认字体,所有子元素都会继承这些属性值。<bgsound>用来添加背景音乐,例如:
[*]<bgsound src="your.mid" autostart="true" loop="infinite">
推荐使用<audio>或者<object>+<embed>来代替,例如:
[*]<embed src="your.mid" autostart="true" loop="true" hidden="true">
<big>用来放大字体,放大一号(嵌套多层可以放大更多),不支持的浏览器显示粗体,例如:
[*]<big>大1号</big><big><big>大2号</big></big>
至于“号”是怎么定义的就别管了,不推荐使用,建议根据语义采用<em>、<strong>或者自定义样式类代替。<blink>可以实现闪烁效果,例如:
[*]<blink>Why would somebody use this?</blink>
支持性很差,不推荐使用,同样不推荐使用(各大浏览器支持<blink>,但没有任何效果):<p>This should be avoided as well.</p>建议采用<animation>代替<center>使内容居中,例如:
[*]<center>文本及子元素会居中</center>
效果类似于如下 CSS:
[*]text-align: center;
不建议使用,确实没有任何理由去用。<dir>目录列表,例如:
[*]<dir>
[*]    <li>html</li>
[*]    <li>xhtml</li>
[*]    <li>css</li>
[*]</dir>
效果和<ul>基本相同,浏览器默认样式下列表项的左边距有细微差异。不推荐使用,建议根据语义采用<ul>、<ol>或者<dl>。<font>用来定义字体、字号和颜色,例如:
[*]<font face="verdana" color="green" size="3">This is some text!</font>
属性值和<basefont>一样。不推荐使用,建议用 CSS 代替,没理由用这个标签。<frame>配合<frameset>分栏,例如:
[*]<!DOCTYPE html>
[*]<html>
[*]
[*]<frameset cols="25%,*,25%">
[*]  <frame src="frame_a.htm">
[*]  <frame src="frame_b.htm">
[*]  <frame src="frame_c.htm">
[*]</frameset>
[*]
[*]</html>
注意:用<frameset>替换掉<body>。复杂的后台页面会用到<frameset>+<frame>布局,当然也可以采用 float/flex+Ajax 实现,根据具体场景来定。<frameset>见<frame>。<hgroup>给一系列标题分组,例如:
[*]<hgroup>
[*]   <h1>The reality dysfunction</h1>
[*]   <h2>Space is not the only void</h2>
[*]</hgroup>
虽然提供了一点语义,但因为已经过时,所以不推荐使用。建议采用<header>代替,例如:
[*]<header>
[*]   <h1>The reality dysfunction</h1>
[*]   <p class="subheading">Space is not the only void</p>
[*]</header>
<isindex>单行文本控件,初始显示prompt属性值,例如:
[*]<isindex prompt="string" />
目前支持性很差,不推荐使用,建议用<input>元素代替。W3C 建议千万不要用:No, really, don’t use it. This element is deprecated. It is not implemented anymore.具体用法可以参考 http://reference.sitepoint.com/html/isindex。<listing>不用管它是什么,微软都不建议使用了:This element is obsolete and should no longer be used. Use HTMLPreElement, code or CSS instead. Renders text in a fixed-width font.<marquee>滚动字幕,效果很强大,例如:
[*]<marquee bgcolor="#ccffff" vspace="10" direction="up" height="104" width="22.35%" loop="3" scrollamount="1" scrolldelay="10" hspace="20">
[*]<p align="center"><font color="#000000">此处输入滚动内容</font></p></marquee>
[*]
[*]<marquee>这里是输入文字的地方,还可以放图片代码、Flash动画代码和gif动态小图代码。</marquee>
多用来实现公告,虽然已经过时了,但效果确实很强大,而且支持性良好。<multicol>用来实现多列布局,不建议使用,任何主流浏览器都不曾支持过。MDN称其从未被任何主流浏览器支持过:The HTML element was an experimental element designed to allow multi-column layouts. It never got any significant traction and is not implemented in any major browsers.<nextid>作用未知,支持性未知,不建议使用。<nobr>禁止换行,例如:
[*]<p>Our telephone number is <nobr>0800 123 123 123</nobr>.</p>
不推荐使用,建议用 CSS 代替:
[*]white-space: nowrap;
<noembed>在浏览器不支持<embed>时,显示内容,类似于<noscript>,例如:
[*]<noembed>
[*]<img src="/images/inflate.jpg" alt="Inflate the tyre by holding the
[*]pump at 90 degree angle to the valve">
[*]<p>You can inflate the tyre by holding the pump at 90 degree angle
[*]to the valve, as shown in the image above.</p>
[*]</noembed>
不推荐使用,如果需要考虑兼容性的话,建议采用<object>+<embed>+<noembed>(embed / noembed 作为 object 的回退)。<noframes>在浏览器不支持<frameset>+<frame>时,显示内容,类似于<noscript>,例如:
[*]<html>
[*]
[*]<frameset cols="25%,50%,25%">
[*]  <frame src="frame_a.htm">
[*]  <frame src="frame_b.htm">
[*]  <frame src="frame_c.htm">
[*]  <noframes>Sorry, your browser does not handle frames!</noframes>
[*]</frameset>
[*]
[*]</html>
<noframe>标签中可以包含任何能够出现在<body>中的标签。如果需要考虑兼容性的话,可以作为<frame>的回退,建议采用 float/flex + Ajax 实现,根据具体场景来定。<plaintext>忽略内容中的html标签,作用类似于<pre>,例如:
[*]<p>The markup for this is:</p>
[*]<plaintext>
[*]    <h1>Main heading goes here</h1>
[*]    <p>First paragraph goes here</p>
[*]    <h2>Sub-heading goes here</h2>
[*]</plaintext>.
[*]
[*]</body>
[*]</html>
不推荐使用,建议根据语义用<pre>或者<code>代替。<spacer>插入空白white spaces,例如:
[*]<span>Just a text node</span>
[*]<spacer type="horizontal" size="10"></spacer>
[*]<span>Just another text node</span>
[*]<spacer type="block" width="10" height="10"></spacer>
主流浏览器都不支持,不推荐使用。<strike>删除线,效果类似于<del>和<s>,例如:
[*]<p>Version 2.0 is <strike>not yet available!</strike> now available!</p>
不推荐使用,建议用<del>代替。<tt>键盘输入(teletype),例如:
[*]<p><tt>Teletype text</tt></p>
不推荐使用,建议根据语义用<kbd>(键盘按键)、<var>(变量)、<code>(代码)、<samp>(样例输出)或者CSS代替。<xmp>80 列的样例输出,样式效果类似于<pre>,语义类似于<samp>,例如:
[*]<xmp>
[*]Stock ID    Description             Price         Quantity in Stock
[*]--------    -----------             -----         -----------------
[*]116         Inflatable Armchair     21.50                13
[*]119         Walkie Talkie           40.20                44
[*]</xmp>
目前浏览器支持该标签,但不限制 80 列。不推荐使用,建议采用<samp>代替。
页: [1]
查看完整版本: 这些废弃的html标签不要用