7.9 缩略图

7.9 缩略图

各种电商网站经常需要使用产品列表,这种产品列表通常会在一行显示多个商品,每个商品都有对应的产品图片和产品描述,这个产品图片就是一个缩略图。当用户单击该产品缩略图链接时,系统就会打开该产品的详情页面。
Bootstrap为缩略图提供了如下两个样式。

样式 描述
.thumbnail 该样式用于指定缩略图样式。
.caption 该样式应用于文字描述的容器。
为了让缩略图能以多行、多列的形式展示,通常建议将缩略图和网格系统结合起来使用:Bootstrap的网格系统控制页面的行、列,然后再使用缩略图样式来控制商品缩略图

缩略图

下面的页面代码示范了缩略图的用法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> 缩略图 </title>
<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css">
</head>

<body>
<div class="container">
<div class="row">
<!-- 结合网格系统实现缩略图 -->
<div class="col-sm-6 col-md-3">
<!-- 缩略图 -->
<a href="#" class="thumbnail">
<img src="../android.png">
</a>
</div>
<div class="col-sm-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../java.png">
</a>
</div>
<div class="col-sm-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../javaee.png">
</a>
</div>
<div class="col-sm-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../swift.png">
</a>
</div>
</div>
</div>
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script>
</body>

</html>

该代码定义了一行,并在该行内定义了4个单元格,在每个单元格内放置一个缩略图链接,为每个链接都指定了class="thumbnail",这就是缩略图样式。

带说明文字的缩略图

如果需要在图片下添加说明性文字,则可使用被指定class="caption"样式的<div>元素来作为说明性文字的容器。
例如如下代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> 缩略图 </title>
<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css">
</head>

<body>
<div class="container">
<div class="row">
<!-- 结合网格系统实现缩略图 -->
<div class="col-sm-6 col-md-3">
<!-- 缩略图 -->
<a href="https://blueblue233.github.io/">
<img src="../android.png" class="thumbnail">
</a>
<!-- 文字描述 -->
<div class="caption">
<h3>疯狂Android讲义</h3>
<p>最全面、最详细的Android学习图书,全面覆盖Android开发手册</p>
<p><button class="btn btn-sm btn-primary">购买</button></p>
</div>
</div>
<div class="col-sm-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../java.png">
</a>
<div class="caption">
<h3>疯狂Java讲义</h3>
<p>必读的Java学习经典,你懂的,不多说。</p>
<p><button class="btn btn-sm btn-primary">购买</button></p>
</div>
</div>
<div class="col-sm-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../javaee.png">
</a>
<div class="caption">
<h3>轻量级Java EE企业应用实战</h3>
<p>企业级应用开发的经典图书,畅销经典</p>
<p><button class="btn btn-sm btn-primary">购买</button></p>
</div>
</div>
<div class="col-sm-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../swift.png">
</a>
<div class="caption">
<h3>疯狂Swift讲义</h3>
<p>Apple公司Swift语言的学习图书</p>
<p><button class="btn btn-sm btn-primary">购买</button></p>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="../jquery-3.1.1.js"></script>
<script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script>
</body>

</html>

这里的代码在每个缩略图下放置了一个.caption容器,该容器用于装说明性文字,这样即可形成真正的购买页面。