6.8 响应式布局相关样式
Bootstrap
提供了系列响应式布局相关的样式,这些样式都是通过CSS
的媒体查询
功能来实现的。通过这些样式可让页面针对不同的设备显示或隐藏HTML
元素。
6.8.1 显示或隐藏相关样式
Bootstrap
提供了如表6.2所示的响应式显示/隐藏
相关的样式。
样式类 |
超小viewport |
小viewport |
中等viewport |
大viewport |
.visibIe-xs-xxx |
可见 |
不可见 |
不可见 |
不可见 |
.visible-sm-xxx |
不可见 |
可见 |
不可见 |
不可见 |
.visible-md-xxx |
不可见 |
不可见 |
可见 |
不可见 |
.visible-lg-xxx |
不可见 |
不可见 |
不可见 |
可见 |
.hidden-xs |
隐藏 |
不隐藏 |
不隐藏 |
不隐藏 |
.hidden-sm |
不隐藏 |
隐藏 |
不隐藏 |
不隐藏 |
.hidden-md |
不隐藏 |
不隐藏 |
隐藏 |
不隐藏 |
.hidden-lg |
不隐藏 |
不隐藏 |
不隐藏 |
隐藏 |
在上面.visible-xx-yy
等样式中,中间的xx
可以是xs
、sm
、md
、lg
等表示viewport
尺寸的代号;后面的yyy
可以是block
、inline
、inline-block
这3个表示块模型的代号
。
以md
尺寸的viewport
为例,该样式可支持.visible-md-block
、.visible-md-inline
、.visible-md-inline-block
这些样式。
Bootstrap
早期使用的.visible-xs
、.visible-sm
、.visible-md
和.visible-lg
也依然存在。但是从3.2.0版本
开始不再建议使用它们,建议使用.visible-xs-block
、.visible-sm-block
、.visible-md-block
和.visible-lg-block
,它们只在<table>
相关元素上略有区别。
程序示例 .visible-xx-block
例如如下代码示范了.visible-xx-block
样式的作用:
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
| <!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"> <style type="text/css"> [class*="visible-"] { margin-bottom: 20px; padding-top: 15px; padding-bottom: 15px; background-color: #eee; background-color: rgba(86, 61, 124, .15); border: 1px solid #ddd; border: 1px solid rgba(86, 61, 124, .2); } </style> </head>
<body> <div class="container"> <div class="visible-xs-block">visible-xs-block</div> <div class="visible-sm-block">visible-sm-block</div> <div class="visible-md-block">visible-md-block</div> <div class="visible-lg-block">visible-lg-block</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个<div>
元素,但它们都被指定了.visible-xx-block
样式,这意味着这4个元素始终只有一个能显示出来,例如viewport
尺寸为lg
时,class
属性为visible-lg-block
的div
元素将会显示,其他div
将不会显示.
程序示例 .hidden-xx
如下代码示范了.hidden-xx
样式的作用:
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
| <!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"> <style type="text/css"> [class*="hidden-"] { margin-bottom: 20px; padding-top: 15px; padding-bottom: 15px; background-color: #eee; background-color: rgba(86, 61, 124, .15); border: 1px solid #ddd; border: 1px solid rgba(86, 61, 124, .2); } </style> </head>
<body> <div class="container"> <div class="hidden-xs">hidden-<code>xs</code>-block</div> <div class="hidden-sm">hidden-<code>sm</code>-block</div> <div class="hidden-md">hidden-<code>md</code>-block</div> <div class="hidden-lg">hidden-<code>lg</code>-block</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 个<div>
元素,但它们都被指定了.hidden-xx
样式,这意味着这4个元素始终有一个会被隐藏起来。例如在viewport
尺寸为lg
时,class
属性为hidden-lg
的div
元素将会被隐藏,而其他div
元素将不会隐藏.