HTML5 之 Figure Figcaption 标签
概述
figure 用于定义一个可附加标题的内容元素,figcaption 用于为figure
元素添加标题和描述信息。
页面中的插图卡片比较常见,卡片中包含有图片的描述信息、标题或者按钮等。
一般的实现方式可能会用div
元素设置background: url()
的方式将图片作为背景,其余的描述信息和标题作为div
的子元素。
或者是div
元素内部添加img
元素,其余的描述信息和标题则定位至图片上方。
虽然两者都能实现上面的卡片样式,但是HTML
的结构和语义化不是非常明显。
以下HTML
结构则非常清晰,figure
表明一个插图卡片整体,img
为插图,figcaption
内部为图片的描述信息和标题。
<figure><img src="data:image.png" alt=""><figcaption>caption and descriptions</figcaption>
</figure>
因此figure
元素的用处也非常明显了,但是figure
元素的内容不仅限于图片,也可以包括表格、代码段、诗词等。
特性
figure / figcaption
为块级双标签,于HTML5
中新增,浏览器支持程度比较高,IE8
及以下不支持figure
含有默认外边距,浏览器不同值大小不同。figure
默认的宽度是100%
,高度依赖于其内容高度figure
可以有多个子元素,但是figcaption
最好最多只有一个figure
元素的其他内容应与主内容相关,同时其他内容的位置相对于主内容又是独立的。例如插图卡片中,描述信息和标题与图片相关,而描述信息和标题的位置和图片又是相互独立的,删除figcaption
元素也不会影响整体
实例
图片
<figure><img src="data:image.png" alt=""><figcaption>caption and descriptions</figcaption>
</figure>
代码段
<figure><figcaption>code</figcaption><pre>function log(val) {console.log(val)}log('hello world') </pre>
</figure>
引用文本
<figure><figcaption>Shakespeare: </figcaption><blockquote>Nutrition books in the world. There is no book in life, there is no sunlight; wisdom withoutbooks, as if the birds do not have wings.</blockquote>
</figure>
诗词
<figure><figcaption>滕王阁序</figcaption><p>落霞与孤鹜齐飞,秋水共长天一色。</p>
</figure>
应用
tympanus 中的插图卡片有很多的hover
特效,都是利用figure
和figcaption
来实现的,接下来手动实现一种简单的。
首先构造HTML
基础结构,字体和宽度稍作限制。
figure {margin: auto;min-width: 320px;max-width: 480px;max-height: 360px;font-family: 'Raleway', Arial, sans-serif;cursor: pointer;
}<figure><img src="iamge.png" alt=""><figcaption></figcaption>
</figure>
figcaption
内是图片的描述信息和标题,将figcaption
定位至figure
上。
figure {...position: relative;
}figcaption {position: absolute;left: 0;top: 0;width: 100%;height: 100%;padding: 2em;box-sizing: border-box;
}
完善figcaption
内部结构。
<figcaption><h2>Messy<span>Duke</span></h2><p>Duke is very bored. When he looks at the sky, he feels to run.</p>
</figcaption>
插图卡片暂时如下。
文字颜色修改并居中,h2
内字体稍作调,比例缩小0.8
,并显示为大写。
figcaption {...color: #fff;text-align: center;
}figure h2 {margin: 0;font-size: 30px;font-weight: 300;text-transform: uppercase;transform: scale(0.8);
}figure h2 span {font-weight: 600;
}
调整p
标签位置,比例缩小0.8
。
figure p {position: absolute;left: 0;bottom: 30px;margin: 20px;padding: 30px;border: 2px solid #fff;font-size: 18px;transform: scale(0.8);
}
插图卡片初步完成。
再考虑鼠标悬浮样式,鼠标悬浮后图片放大2
倍,透明度由0.8
到0.1
,字体均恢复原本大小,p
标签由透明度0
到1
。
figure {...overflow: hidden;
}figure p {...opacity: 0;
}figure img {opacity: 0.8;
}figure:hover img {opacity: 0.1;transform: scale(2);
}figure:hover h2 {transform: scale(1);
}figure:hover p {transform: scale(1);bottom: 0;opacity: 1;
}
查看下悬浮效果。
看着感觉很奇怪,figure
加上渐变背景色试试。
figure {...background: linear-gradient(-45deg, #34495e 0%, #cc6055 100%);
}
有那味了!
每个元素再添加上过渡。
figure h2 {...transition: transform 0.35s;
}figure p {...transition: opacity 0.35s, transform 0.35s, bottom 0.35s;
}figure img {...transition: opacity 0.35s, transform 0.35s;
}
来看看最终效果。
可以尝试性删除figcaption
元素来验证最后一条特性,发现对整体页面结构几乎没有影响。
贴一份完整代码。
<style>figure {margin: auto;min-width: 320px;max-width: 480px;max-height: 360px;position: relative;font-family: 'Raleway', Arial, sans-serif;overflow: hidden;background: linear-gradient(-45deg, #34495e 0%, #cc6055 100%);cursor: pointer;}figcaption {position: absolute;left: 0;top: 0;width: 100%;height: 100%;padding: 2em;box-sizing: border-box;color: #fff;text-align: center;}figure h2 {margin: 0;font-size: 30px;font-weight: 300;text-transform: uppercase;transform: scale(0.8);transition: transform 0.35s;}figure h2 span {font-weight: 600;}figure p {position: absolute;left: 0;bottom: 30px;margin: 20px;padding: 30px;border: 2px solid #fff;font-size: 18px;transform: scale(0.8);opacity: 0;transition: opacity 0.35s, transform 0.35s, bottom 0.35s;}figure img {opacity: 0.8;transition: opacity 0.35s, transform 0.35s;}figure:hover img {opacity: 0.1;transform: scale(2);}figure:hover h2 {transform: scale(1);}figure:hover p {transform: scale(1);bottom: 0;opacity: 1;}
</style><body><figure><img src="data:image.png" alt=""><figcaption><h2>Messy<span>Duke</span></h2><p>Duke is very bored. When he looks at the sky, he feels to run.</p></figcaption></figure>
</body>
HTML5 之 Figure Figcaption 标签相关推荐
- html5中figure怎么用,HTML5中figure和figcaption标签用法
HTML5中figure和figcaption标签一般都是配套使用的,先了解下两者的基本定义,然后结合实例来说明两者的用法. 标签规定独立的流内容(图像.图表.照片.代码等等). figure元素的内 ...
- HTML5中figure标签使用实例
figure元素是一种元素的组合,可带有标题(可选).figure标签用来表示 网站制作 页面上一块独立的内容,将其从网页上移除后不会对网页上的其他内容产生影响.figure所表示的内容可以是图片.统 ...
- html5标签详解,HTML5中figcaption标签用法详解
HTML5中figure和figcaption标签一般都是配套使用的,先了解下两者的基本定义,然后结合实例来说明两者的用法. 标签规定独立的流内容(图像.图表.照片.代码等等). figure元素的内 ...
- figcaption标签css,[HTML]正确使用Figure和Figcaption标签(译)_html/css_WEB-ITnose
原文: Quick Tip: The Right Way to Use Figure & Figcaption Elements figure和 figcaption元素通常作为两个语义化的标 ...
- html中figure怎么调图片位置,HTMLfigure figcaption 标签定义图文并茂
本来想分两篇文章来解释说明figure.figcaption的,但是这俩个标签都是定义图文的,所以我们合起来讲解,大家更能容易接受. 大家在写xhtml.html中常常用到一种图片列表,图片+标题 或 ...
- HTML figure 标签 figcaption 标签
HTML <figure> 标签 实例 用作文档中插图的图像: <figure><p>黄浦江上的的卢浦大桥</p><p>拍摄者:W3Scho ...
- figcaption html5,HTML5 figcaption 标签
实例 html> html(html.cn) The Pulpit Rock is a massive cliff 604 metres (1982 feet) above Lysefjorde ...
- html5改成块状标签,HTML5基本网页结构以及标签的改变
一.HTML5崭新的页面布局: 1.传统的HTML页面布局: 2.HTML5布局: 3.HTML5布局使用的标签: (1)header元素:header元素表示页面总的一个内容区块或者整个页面的标题: ...
- html5的新增的标签和废除的标签
新增的结构标签 section元素 表示页面中的一个内容区块,比如章节.页眉.页脚或页面的其他部分.可以和h1. h2--等元素结合起来使用,表示文档结构.例:HTML5中<section&g ...
最新文章
- 二叉树结点地址小错误
- 防范最新勒索病毒--坏兔子病毒(伪造Adobe Flash Player更新)的方法
- can通道采样频率_CAN总线基础(上)
- [Andriod官方训练教程]保存数据之保存键-值对的集合
- hdu 7111-Remove
- [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点
- 漏洞 立即留言_漏洞挖掘小白入坑指南
- python编程(python开发的三种运行模式)
- 如何用div装html,​div标签如何使用的
- 模拟 Vue 手写一个 MVVM
- 虚度大一一年又如何,双非本科大三学弟连斩腾讯字节
- UML建模之活动图介绍(Activity Diagram)
- 只允许,同一域名下IFRAME,禁止直接访问页面
- echarts全国省市县下钻
- SDUT—Python程序设计实验五(列表与元组)
- Arduino开发板DIY简易机械臂
- 参加IBM素质拓展活动
- Speedoffice(excel)如何利用SUMIF函数求和
- 如何把一张照片的像素提高_如何提升照片的像素?
- c语言oj数据通过,OJ输入数据的处理
热门文章
- 使用python批量修改txt文件中的信息
- IT、TT、TN系统,你真的了解吗?
- unity 导入gltf_GLTF相关资料
- medini analyze软件下载安装使用试用购买
- 错误: 找不到符号 符号: 类 DaggerActivityComponent错误解决
- Flutter FloatingActionButton 及仿闲鱼的发布按钮
- 网络运维工程师 ,需要掌握知识的总结。
- 新手学Python之学习官网教程(二: Using the Python Interpreter)
- vivoX80Pro和华为P50Pro哪个值得入手参数对比
- 用什么擦地最干净脑筋急转弯_小学生语文试卷:为什么秋天大雁要飞回南方?答案让人“喷饭”...
HTML5中figure和figcaption标签一般都是配套使用的,先了解下两者的基本定义,然后结合实例来说明两者的用法. 标签规定独立的流内容(图像.图表.照片.代码等等). figure元素的内 ...
figure元素是一种元素的组合,可带有标题(可选).figure标签用来表示 网站制作 页面上一块独立的内容,将其从网页上移除后不会对网页上的其他内容产生影响.figure所表示的内容可以是图片.统 ...
HTML5中figure和figcaption标签一般都是配套使用的,先了解下两者的基本定义,然后结合实例来说明两者的用法. 标签规定独立的流内容(图像.图表.照片.代码等等). figure元素的内 ...
原文: Quick Tip: The Right Way to Use Figure & Figcaption Elements figure和 figcaption元素通常作为两个语义化的标 ...
本来想分两篇文章来解释说明figure.figcaption的,但是这俩个标签都是定义图文的,所以我们合起来讲解,大家更能容易接受. 大家在写xhtml.html中常常用到一种图片列表,图片+标题 或 ...
HTML <figure> 标签 实例 用作文档中插图的图像: <figure><p>黄浦江上的的卢浦大桥</p><p>拍摄者:W3Scho ...
实例 html> html(html.cn) The Pulpit Rock is a massive cliff 604 metres (1982 feet) above Lysefjorde ...
一.HTML5崭新的页面布局: 1.传统的HTML页面布局: 2.HTML5布局: 3.HTML5布局使用的标签: (1)header元素:header元素表示页面总的一个内容区块或者整个页面的标题: ...
新增的结构标签 section元素 表示页面中的一个内容区块,比如章节.页眉.页脚或页面的其他部分.可以和h1. h2--等元素结合起来使用,表示文档结构.例:HTML5中<section&g ...