《HTML 5与CSS 3 权威指南(第4版·上册)》 —2.1.3 HTML 5确保的兼容性

举报
华章计算机 发表于 2019/11/23 21:52:22 2019/11/23
【摘要】 本节书摘来自华章计算机《HTML 5与CSS 3 权威指南(第4版·上册)》一书中第2章,第2.1.3节,作者是陆凌牛。

2.1.3 HTML 5确保的兼容性

HTML 5的语法是为了保证与之前的HTML语法也能够达到最大程度的兼容而设计的。例如,符合“没有<p>的结束标记”的HTML代码随处可见,HTML 5中并没有把这种情况作为错误来处理,而是允许存在这种情况,但明确规定了这种情况应该怎么处理。

那么,针对这个问题,我们从元素标记的省略、具有boolean值的属性、引号的省略这几方面来详细看一下在HTML 5中是如何确保与之前版本的HTML实现兼容的。

1.可以省略标记的元素

在HTML 5中,元素的标记可以省略。具体来说,分为“不允许写结束标记”、“可以省略结束标记”和“开始标记和结束标记全部可以省略”三种类型。

接着,我们针对这三类情况列举一个元素清单,其中包括本书到现在为止还没有介绍的HTML 5中的新元素(关于这些新元素,2.2节将进行介绍)。

不允许写结束标记的元素有:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。

可以省略结束标记的元素有:li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th。

可以省略全部标记的元素有:html、head、body、colgroup、tbody。

“不允许写结束标记的元素”是指不允许使用开始标记与结束标记将元素括起来的形式,只允许使用“<元素/>”的形式进行书写。例如“<br>...</br>”的书写方式是错误的,只允许“<br/>”的书写形式。当然,HTML 5之前的<br>这种写法可以被沿用。

“可以省略全部标记的元素”是指该元素可以完全被省略。注意,即使标记被省略了,该元素还是以隐式的方式存在的。例如省略不写body元素时,在文档结构中它还是存在的,可以使用document.body访问。

2.具有boolean值的属性

对于具有boolean值的属性,例如disabled与readonly等,当只写属性而不指定属性值时,表示属性值为true,如果想要将属性值设为false,则可以不使用该属性。另外,要想将属性值设定为true时,也可以将属性名设定为属性值,或将空字符串设定为属性值。

属性值的设定方法可以参考下面的代码示例:

<!--只写属性不写属性值代表属性为true-->

<input type="checkbox" checked>

<!--不写属性代表属性为false-->

<input type="checkbox">

<!--属性值=属性名,代表属性为true-->

<input type="checkbox" checked="checked">

<!--属性值=空字符串,代表属性为true-->

<input type="checkbox" checked="">

3.省略引号

大家已经知道,在指定属性值的时候,属性值两边加引号时既可以用双引号,也可以用单引号。

HTML 5在此基础上做了一些改进,当属性值不包括空字符串、“<”、“>”、“=”、单引号、双引号等字符时,属性值两边的引号可以省略。如下面的代码所示:

<!-- 请注意type的属性值两边的引号 -->

<input type="text">

<input type='text'>

<input type=text>


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。