html不建议使用的元素

2024-09-06 02: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 thepump at 90 degree angle to the valve"><p>You can inflate the tyre by holding the pump at 90 degree angleto 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>

如果需要考虑兼容性的话,可以作为<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>

插入空,例如:

    <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                13119         Walkie Talkie           40.20                44</xmp>

目前浏览器支持该标签,但不限制 80 列。

不推荐使用建议采用 <samp>代替。

这篇关于html不建议使用的元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1140809

相关文章

Java Lambda表达式的使用详解

《JavaLambda表达式的使用详解》:本文主要介绍JavaLambda表达式的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言二、Lambda表达式概述1. 什么是Lambda表达式?三、Lambda表达式的语法规则1. 无参数的Lambda表

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请

Java 枚举的基本使用方法及实际使用场景

《Java枚举的基本使用方法及实际使用场景》枚举是Java中一种特殊的类,用于定义一组固定的常量,枚举类型提供了更好的类型安全性和可读性,适用于需要定义一组有限且固定的值的场景,本文给大家介绍Jav... 目录一、什么是枚举?二、枚举的基本使用方法定义枚举三、实际使用场景代替常量状态机四、更多用法1.实现接

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

Java中的record使用详解

《Java中的record使用详解》record是Java14引入的一种新语法(在Java16中成为正式功能),用于定义不可变的数据类,这篇文章给大家介绍Java中的record相关知识,感兴趣的朋友... 目录1. 什么是 record?2. 基本语法3. record 的核心特性4. 使用场景5. 自定

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh