![HTML5+CSS3从入门到精通(微课精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/697/24172697/b_24172697.jpg)
2.4 完善旧元素
HTML5对HTML4部分元素进行了优化,具体说明如下。
2.4.1 a——超链接
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P56_14196.jpg?sign=1739287127-MD3io9IHhxkYMqQymWg8tESk87dL0xVM-0-d76a91b4cca4a2e4cb6bf7643b9d2db3)
视频讲解
HTML5为a元素新增了3个属性,简单说明如下:
download:设置被下载的超链接目标。
media:设置被链接文档是被何种媒介/设备优化的。
type:设置被链接文档的MIME类型。
【示例】下面示例使用download属性设计图片被单击后,直接下载,而不是在新窗口中显示,效果如图2.16所示。
<a href="images/1.jpg" download="images/1.jpg"><img src="images/1.jpg"/></a>
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P57_14226.jpg?sign=1739287127-dDybxqrrGGyE955hWT63uKZP3e4RMkgI-0-1721504cd22354b0d52bb3d71a7b2d58)
图2.16 单击下载图片
提示:目前,Chrome、Opera和Firefox版本的浏览器均支持该属性,IE暂不支持。
2.4.2 ol——有序列表
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P57_14287.jpg?sign=1739287127-61UISGpNvJoyBZ0NfR4jPwd3DIeEGs5D-0-4b2a39f0f6d6aca196eea14571732857)
视频讲解
HTML5为ol元素新增了reversed属性,用来设置列表顺序为降序显示。
【示例】下面示例使用reversed属性设计列表项目按倒序显示,效果如图2.17所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P57_77812.jpg?sign=1739287127-8pKUo2K012oCQNs7DaxmquiUE89whQu8-0-68eecf3bee8937d30839a451109eb17a)
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P57_14275.jpg?sign=1739287127-O2BttG142l92aAjtr7W6SyJm3OgF6Tdv-0-4c2aca71ce7c742213b93769b5bf404d)
图2.17 项目列表倒序显示
提示:目前,最新版本的Chrome、Opera、Firefox浏览器均支持该属性,IE暂不支持。
2.4.3 dl——定义列表
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P57_14290.jpg?sign=1739287127-Q0a9nI42kwNBKcRQYwrTQSsdmjTVstpp-0-f2f0cff90ff667703822dcf9956070d4)
视频讲解
HTML5重新定义了dl元素,允许dl列表包含多个带名字的列表项。每一项包含一条或多条带名字的dt元素,用来表示术语,dt元素后面紧跟一个或多个dd元素,用来表示定义。在一个元素内,不允许有相同名字的dt元素,即不允许有重复的术语。
【示例】下面示例演示了如何使用dl元素对诗句进行逐句解析,效果如图2.18所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P58_77813.jpg?sign=1739287127-A6hh608BGBHQxHRPvQETLKRJ9sX1XedD-0-1a3525369ea962c6a788da62a4be51cc)
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P58_14350.jpg?sign=1739287127-XAMRhdwZpOhCCSxJ3QzOhtUejzkZhyS2-0-3e98867741a3f95c912f7368281411e5)
图2.18 定义列表项目的应用
2.4.4 cite——引用文本
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P58_14383.jpg?sign=1739287127-O4iEmfemsd6G1f7Y5phL1ayYjQ0esgOZ-0-4a4ab560596818866de8436e69027b3e)
视频讲解
cite元素表示引用参考,如书籍或者杂志的标题。按照惯例,引用的文本将以斜体显示。一般应把引用文本包裹在a元素中,方便用户快速跳转到原出处。
cite元素还有一个隐藏的功能:可以从文档中自动摘录参考书目。浏览器能够自动整理引用表格,并把它们作为脚注或者独立的文档来显示。
cite元素的语义已经超过了改变它所包含的文本外观的作用,它使浏览器能够以各种实用的方式来向用户表达文档的内容。
【示例】下面示例简单演示了cite元素的应用,效果如图2.19所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P58_77814.jpg?sign=1739287127-9JGrhnkW52vGRZDr1KsUK1CdvfyQX4JW-0-1ab3f19306ff72b1e8aaa3ef6dee3a17)
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P58_14380.jpg?sign=1739287127-o4hiPcgvvN8SvK3KT2Ut1C2FDeTOFQDE-0-0b492a583a0d85559881ae735ffa4848)
图2.19 使用cite元素
2.4.5 small——小号字体
small元素本来用来定义小号字体效果,HTML5对其进行了重新定义,使其由原来的通用展示性元素变为更具体的、专门用来标识所谓“小字印刷体”的元素,通常用在诸如免责声明、注意事项、法律规定、与版权相关等法律性声明文字中,同时不允许应用在页面主内容中,只允许被当作辅助信息,以inline方式内嵌在页面上。
同时,small元素也不意味着元素中内容字体会变小,要将字体变小,需要使用CSS样式表。
2.4.6 iframe——浮动框架
HTML5主要从安全性方面增强iframe元素,新增了3个属性,简单说明如下:
sandbox:启用一系列对iframe中内容的额外限制,取值包括:""、allow-forms(允许表单提交)、allow-same-origin(允许同源访问)、allow-scripts(允许执行脚本)、allow-top-navigation(允许框架访问)。
seamless:定义iframe看上去像是包含文档的一部分,取值为seamless(无缝嵌入),或者不设置。
srcdoc:规定在iframe中显示的HTML内容,取值为HTML代码。
HTML5为iframe元素增加sandbox属性,是出于安全性方面的原因,对iframe元素内的内容是否允许显示,表单是否允许被提交,以及脚本是否允许被执行等方面进行一些限制。
通过设置iframe元素的sandbox属性,iframe元素内显示的页面被添加如下所示的限制。
该页面中的插件被禁用。
该页面中的表单被禁止提交。
该页面中的JavaScript脚本代码被禁止运行。
如果单击该页面内的超链接,将把浏览器窗口或iframe元素之外的任何内容导航到iframe,则该超链接被禁用。
该页面被视为来自一个单独的源,所以禁止加载该页面中来自服务器端的内容,禁止该页面与服务器端进行交互,同时禁止加载页面中从Cookie或Web Storage中读出的内容。
提示:sandbox属性允许指定多个属性值,属性值与属性值中间用空格分隔。
2.4.7 script——脚本
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P59_14462.jpg?sign=1739287127-Rf8nhRzFuElMzYeBRXTfYcjvvSoD5TBb-0-825ca76542be19c6cee90beda930fcf3)
视频讲解
HTML5为script元素新增async属性,规定异步执行脚本,仅适用于外部脚本,取值为async。
【示例1】下面示例演示了async属性的应用。
<script src="test1.js" async onload="ok()"></script> <script> console.log("内部脚本"); </script>
设计在页面中导入外部脚本文件test1.js,该文件的代码如下:
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P59_77817.jpg?sign=1739287127-rslKVBwfKhmPmWKFXi31cLPchoOPg7Am-0-5b7eb03b93aef128ff4abb4565922162)
在Chrome浏览器中预览,可以看到页面内部脚本先被执行,最后才执行异步导入的脚本文件代码,效果如图2.20所示。
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P60_14479.jpg?sign=1739287127-mnHXJTNSjDKeCwXNKkZ3LYjwrAaRD7pR-0-f20f1329803d51ca86d228d7c932a52e)
图2.20 异步加载JavaScript脚本
【示例2】如果在script元素中删除async属性,则可以看到先等到外部JavaScript脚本文件加载完毕之后,才执行内部脚本,效果如图2.21所示。
<script src="test1.js" onload="ok()"></script> <script> console.log("内部脚本"); </script>
![](https://epubservercos.yuewen.com/1B54E6/13043253503832006/epubprivate/OEBPS/Images/Figure-P60_14508.jpg?sign=1739287127-x69zkop8tvgLsw8fxHsvZylQswZHJAWA-0-46f97ebb7827936708074c912788c413)
图2.21 同步加载JavaScript脚本