bootstrap

本文详细介绍了Bootstrap栅格系统的工作原理及其在不同屏幕尺寸下的应用。通过实例展示了如何使用不同类名来创建响应式布局,并解释了列数超过12时的自动排版行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自适应H5

https://www.cnblogs.com/yinshuige/p/6108055.html

      bootstrap根据不同屏幕尺寸,选择不同的栅格选项。一共有四种栅格选项,超小屏(手机)、小屏(平板)、中屏(桌面)、大屏(超大桌面)。栅格系统分为12列,即每行最多可容纳12列。若<HTML>里,一个.row内包含的列(column)大于12个(即,一行中的栅格单元超过12个单元),则会自动排版,总之,一行只能最多12列,具体分析往后阅读。

一、 栅格系统的使用

使用栅格系统时,需要在<head>部分做如下处理:

复制代码

1 <head>
2     <meta charset="UTF-8">
3     <title>Document</title>
4     <meta name="viewport" content="width=device-width, initial-scale=1.0">
5     <link rel="stylesheet" href="css/bootstrap.min.css">
6     <!-- [if lt IE 9]>
7         <script  src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
8     <![endif] -->
9 </head>

复制代码

1. 为了确保适当的绘制和触屏缩放,需要在<head>中添加viewport元数据标签

    width=device-width     宽度等于设备宽度

    initial-scale=1.0            初始显示大小——原始大小,即不进行缩放

2. 导入bootstrap.css文件【bootstrap核心CSS文件,必须导入】,有两种方式导入方式:

    一是,直接导入本地.css文件: <link rel="stylesheet" href="css/bootstrap.min.css">

    二是,使用CDN加速服务:

              <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >

              获取最新版地址,请关注官网https://getbootstrap.com/docs/5.3/getting-started/introduction/

3. 兼容性:

    bootstrap是基于CSS3的,对于IE8- 不支持

    IE8需要Respond.js配合才能实现对媒体查询(media query)的支持。

    以下代码实现兼容性

<!-- [if lt IE 9]>
       <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif] -->

二、栅格系统在多种屏幕设备上如何工作

使用方式:在相应的<div>上加上对应的类名即可。 类名形式为:  类前缀+num

如: <div class="col-md-1"></div>

        表示中等屏幕,该<div>仅占1列

三、移动设备(xs),平板(sm),桌面屏幕(md)

移动设备(手机)用   .col-xs-*    类

平板用                   .col-sm-*  类

桌面屏幕用            .col-md-*  类

它们的布局有如下关系:

复制代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <link rel="stylesheet" href="css/bootstrap.min.css">
 8     <!-- [if lt IE 9]>
 9         <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
10     <![endif] -->
11     <style>
12         div.example{
13             margin-bottom: 80px;
14         }
15         div.row{
16             margin-bottom: 15px;    
17         }
18 
19         [class ^="col-"]{
20             padding: 10px;
21             background-color: #cff;
22             border: 1px solid #fca;
23             font-weight: bold;
24         }
25     </style>
26 </head>
27 <body>
28     <div class="example">
29         <h1>移动设备,桌面</h1> 
30         <!-- Stack the columns on mobile by making one full-width and the other half-width -->
31         <div class="row">
32           <div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
33           <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
34         </div>
35 
36         <!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
37         <div class="row">
38           <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
39           <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
40           <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
41         </div>
42 
43         <!-- Columns are always 50% wide, on mobile and desktop -->
44         <div class="row">
45           <div class="col-xs-6">.col-xs-6</div>
46           <div class="col-xs-6">.col-xs-6</div>
47         </div>
48     </div>
49 
50     <div class="example">
51         <h1>手机,平板,桌面</h1> 
52         <div class="row">
53           <div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
54           <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
55         </div>
56         <div class="row">
57           <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
58           <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
59           <!-- Optional: clear the XS cols if their content doesn't match in height -->
60           <div class="clearfix visible-xs-block"></div>
61           <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
62         </div>    
63     </div>
64 </body>
65 </html>

复制代码

1. 超小屏(手机 col-xs-* ) 与 中屏(桌面 col-md-*)之间有3:2的换算关系

2. 在中屏以上屏幕(>=992px)中,才会显示上图效果;

    若<=992px或是<=768px (在手机或者平板上),有的一行 ( .row ) 已经超过12列,则分两行显示。

四、多余的列另起一行(列数>12)

如果一个.row内包含的列大于12个,包含多余列的元素将作为一个整体单元被另起一行排列

1 <h1>多余的列另起一行</h1> 
2         <div class="row">
3           <div class="col-xs-9"> .col-xs-9</div>
4           <div class="col-xs-4"> .col-xs-4<br/>9+4>12,所以.col-xs-4另起一行</div>
5           <div class="col-xs-8"> .col-xs-8<br/>4+8<=12,所以.col-xs-8仍在该行中显示</div> 
6         </div>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spencer_tseng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值