且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《HTML5移动应用开发入门经典》—— 2.3 HTML 4标签和属性的变化

更新时间:2022-06-04 02:57:58

本节书摘来异步社区《HTML5移动应用开发入门经典》一书中的第2章,第2.3节,作者:【美】Jennifer Kyrnin,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 HTML 4标签和属性的变化

HTML5移动应用开发入门经典
一些现有的HTML 4标签及属性也发生了变化,具体表现在:功能变更或者增加;定义及作用范围更加明确,以及赋予了语义。

例如,一些HTML 4中不包含语义部分的标签在HTML5中被赋予了语义含义,如下所示:

<b>——粗体文本。
<i>——斜体文本。
<hr>——文本中的主题性分段。
<s>——不再准确或无关的内容(删除线)。
<small>——法律文档等附属细则(小号字体)。

有些标签含义有所改变,或是拥有了更多用途。

可以使用无属性的标签。在这种情况下应将其当做链接的占位符。

<address>标签成为分节内容的一部分(见第9章)。
<cite>标签可以表示引用作品的标题,但不能用来标记人名。
<menu>标签用于创建工具栏及右键菜单。
一些元素的功能或描述也进行了更改或删除。

<dl>是“名称=值对”(name=value pairs)的列表,但不能像脚本一样用来显示对话框。
显示<label>元素时,用户代理不再将焦点从标签移至相关表单控件上,除非它属于平台的标准行为。
<strong>元素现在不再指“强调”的内容,而是指“重要”的内容。
<object>元素不再允许嵌在<head>元素中。
大部分HTML 4属性仍旧和以前一样,但除非编写者使用非标准脚本(即并非JavaScript)或非标准样式表(即非CSS),一般情况下<script>及<style>标签中不再需要写入type属性。

同时,HTML5还强烈建议用户改变某些属性的习惯用法,举例如下。

不再将border属性放在<img>标签中,并将其赋值为“0”以关闭边框,改为使用img {border:none;}这类CSS定义会更好。
在<script>标签中使用language属性时,它必须写上“javascript”(不区分大小写),同时不能与type属性冲突。因此省略此属性是更好的做法,因为其用处并不大。
如果还需要在<a>标签中使用name属性,应该改用id属性,因为name属性已被淘汰。
依旧可以使用summary属性为复杂的表格提供概述。但是将置于文本中的summary放在<detail>元素的表格<caption>中,或放在一部分为该表格的<figure>或<figcaption>是更好的做法,因为它能提高可访问性。
使用带width属性的图像时,不能再用百分比作为宽度单位。
不可再使用一些被HTML5淘汰的元素及属性。本章不会详细讨论它们,但若打算使用的元素或属性未在附件B的HTML5元素及属性列表中列出,应该使用其他的元素或属性来代替。

以下是比较重要的被淘汰的元素及属性。

<frame>、<frameset>和<noframes>——框架已不再是HTML5的一部分,因此请弃用它们。
<basefont>、<big>、<center>、<font>、<strike>、<tt>和<u>——这类标签纯粹是用于定义外观,因此它们已被删除,CSS能将它们的作用发挥得更好。
<acronym>——因该标签带来混乱而被删除,现在人们使用<abbr>来指代缩写语。
<applet>——此标签因<object>的缘故被弃用,正如<dir>标签因<ul>的缘故被弃用一样。此类标签的代替元素有更好的可访问性或易用性。