博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《HTML5开发手册》——第2章 组合、文本级和重新定义的语义 2.1 初学者“菜谱”:使用figure和figcaption元素插入图片和图注...
阅读量:6851 次
发布时间:2019-06-26

本文共 1210 字,大约阅读时间需要 4 分钟。

本节书摘来自异步社区《HTML5开发手册》一书中的第2章,第2.1节,作者: 【美】Chuck Hudson , 【英】Tom Leadbetter 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 组合、文本级和重新定义的语义

前一章中,我们介绍了一些用于构建页面结构的HTML5元素。本章中,读者将接触到更多的HTML5元素(figure、time、details和mark等)和一些重新定义的元素(address、s、cite、ol、dl、small、b、strong、i、em、abbr和hr)。后面还会介绍到新的块类型(block-level)的链接和WAI-ARIA。由于这些元素都与页面内容密切相关,所以将它们统称为组合元素或文本级元素。

2.1 初学者“菜谱”:使用figure和figcaption元素插入图片和图注

figure元素用于插入某张图片并添加描述。在HTML5以前,需要插入图片时只有额外使用div之类的元素才能将文本添加到页面中。这样做的缺点在于图片和图注之间并无任何关联。而现在添加figure之后,可以再利用figcaption为图片添加图注。

虽然figure通常用来插入图片,但它也可以是一段代码、图表、音乐或者视频。通常情况下,figure主要用于图片。图2.1所示为一个示例。用于创建图2.1的代码如代码2.1所示。

代码2.1 带图注的图片

82e8a8081a2da572563b0802bafc680a16d8e94a

读者一定会为是否仍需要为figure元素加入alt文字(为不支持图片显示的浏览器提供的替代文字)而感到困惑。在figure之外的img元素总是需要alt。但如果图片只是为了提供展示,而不需要被辅助技术来识别时,就可以使用空的alt属性。不过,由于当今浏览器和辅助技术的支持问题,这很有可能会影响可访问性。

我们建议无论在哪种情况下都应为图片加上alt属性以防万一。在代码2.1中,图注的描述已经很清晰。但对于使用屏幕阅读器的用户,他无法知道分析数据是如何表现的,所以alt文字可以提供此信息。

虽然例子中直接插入了图片,但我们也可以利用Canvas或者SVG1绘制图像。

69bacb92b38d376d08bbc33e33e973bbf6d0add4

注意:

最初,规范中推荐使用legend元素而不是新的figcaption元素。但是由于跨浏览器样式差别的问题,开发者都倾向于使用figcaption而不是legend。
如图2.2所示,figure元素中不仅仅只能包含一张图片,可以使用figure元素来显示多张图片。代码2.2解释了如何在figure元素中插入多张图片。

代码2.2 figure中插入多张图片

f20a8e1917be661dff0117aa57e99300b09fa6fe

3ee102bc31052d1ac14a7d94e69d29dacaf487f1

显示图片内容的时候是否总是使用figcaption元素?如果单纯是为了显示某张图片(或图表等),那么使用普通的img标记足以。不过,如果它包含了额外的有助于内容描述的信息,那么就应该使用figure和figcaption。最后注意,figure中只能包含一个figcaption。

转载地址:http://bwwyl.baihongyu.com/

你可能感兴趣的文章
解决vagrant ssh登录时permission deny的问题
查看>>
Dapper,大规模分布式系统的跟踪系统
查看>>
Spring源码之XMLBeanFactory
查看>>
PopupWindow 点击外部区域无法关闭的问题
查看>>
jQuery 遍历
查看>>
开源的丰富的flutter Icons库
查看>>
内存管理Release和Retain实现原理
查看>>
(JVM 笔记)Java虚拟机:Java 内存管理
查看>>
一分钟读懂兼容报告——行业对标数据助你定位产品状况
查看>>
Axure RP 7.0从入门到精通 Web+APP产品经理原型设计 彩色pdf扫描版
查看>>
点击H5页面的时候出现阴影
查看>>
(五十)java版spring cloud+spring boot 社交电子商务平台-API网关服务
查看>>
Python从零开始系列连载(14)——Python程序的基本控制流程(中)
查看>>
js实现一个按照权重抽奖函数
查看>>
(二十四)java版spring cloud+spring boot 社交电子商务平台-eureka 原理分析
查看>>
你学习python多久了呢?目前有在了解哪方面的技术呢?
查看>>
292 Nim Game
查看>>
ConstraintLayout 平分布局
查看>>
java版spring cloud+spring boot+redis多租户社交电子商务平台(三)SpringBoot用JdbcTemplates访问Mysql...
查看>>
极光推送集成
查看>>