图片和媒体

网页的内容不仅仅是文字。照片、图表、插图、视频和音频也都是内容,HTML 对每种都有相应的元素。本章介绍的是将媒体放在网页上的标记:如何指向一个图片文件,如何为看不到图片的人描述它,以及如何为不同的屏幕提供正确的文件而不浪费用户的流量。
图片元素
你可以用**图片元素**(写作 <img>)在网页上放一张图片。它没有内容,也没有关闭标签。相反,你通过属性告诉它两件事:显示哪个文件,以及图片是什么。
<img src="golden-retriever.jpg" alt="一只金毛寻回犬坐在高草地里">src 是源:图片文件的路径或网址。alt 是替代文本:用词语简要描述图片。如果图片无法加载,或者有人用屏幕阅读器听网页而不是看,他们会得到 alt 文本。所以写得就像你在电话里向朋友描述这张图片一样。
src,即要显示的文件,和 alt,用词语描述图片。写 alt 就像你在电话里告诉某人照片里有什么。这是最容易被跳过的部分,也是最重要的部分。 响应式图片
一张在笔记本电脑上看起来很清晰的照片对手机来说可能大得多。把那个完整尺寸的文件发送到小屏幕会浪费访客的流量并拖慢页面。HTML 让你可以提供浏览器同一张图片的几个版本,让它选择合适的。
你一开始不需要为每张图片都这样做。一个带有合理文件的 <img> 就很好。但知道这个想法存在是有帮助的:同一张照片可以有多种尺寸,浏览器来选择。
<img src="beach-800.jpg" alt="海浪卷上安静的沙滩,夕阳西下"><img> 就很好。当页面在移动设备上开始变得沉重时,这个选项就在那里。 视频和音频
HTML 可以不需要任何插件就播放视频和音频。对于视频,你使用 <video> 元素;对于音频,使用 <audio>。添加 controls 属性,浏览器就免费给你一个播放按钮、时间轴和音量控制。
<video src="tutorial.mp4" controls></video>
<audio src="podcast-episode.mp3" controls></audio>与图片不同,这些有关闭标签,因为你可以在开启标签和关闭标签之间放置后备文本或额外设置。最重要的是记住早期的一件事:始终包括 controls,否则访客无法按播放。
<video> 播放视频片段,<audio> 播放音频,不需要插件。添加 controls 否则没有播放按钮,访客会卡住。两者都有关闭标签,因为你可以在里面放设置和后备文本,不像图片。 大小调整、延迟加载和性能
当图片加载时,它可以推动页面其余部分移动。你在读一个段落,一张照片完成了上面的加载,突然文本跳了下去。这种跳动很烦人,你可以阻止它:用 width 和 height 提前告诉浏览器图片的大小。
<img src="team-lunch.jpg" alt="团队在办公室阳台上一起共进午餐"
width="800" height="600">有了这些数字,浏览器在图片到达前预留正确的空间,所以图片到达时没有任何东西会跳。你给出文件的真实像素尺寸,CSS 仍然可以在屏幕上调整大小。
width 和 height,页面在照片加载时会停止跳动。使用文件的真实像素大小;CSS 仍然可以在屏幕上缩小它。这个习惯修复了最烦人的加载故障。 
