bootstrap-栅格系统(响应式布局)

一、优点

同一套页面可以兼容不同分辨率的设备(例如手机和电脑访问同一页面可能由于分辨率的不同减低用户体验度,而响应式布局就很好的解决了这个问题)

二、实现

依赖与bootstrap的栅格系统来实现:将一个页面的一行划平均分为12个格子,栅格系统基于不同的分辨率指定元素占用几个格子

在这里插入图片描述

三、执行过程

(1)定义容器

相当于form表单中的table

两种样式
① container:在页面两边留白(给人感觉不那么拥挤,显得舒适一点)
在这里插入图片描述
② container-fluid:每一种设备的页面都设置为100%宽度
在这里插入图片描述

(2)定义行

相当于form表单中的tr样式

样式为“row”

(3) 定义元素

指定该元素在不同的设备上所占的格子数目
样式:col-设备代号-格子数目
设备代号:
① xs:超小屏幕 手机 (<768px)
在这里插入图片描述
②sm:小屏幕 平板 (≥768px)
在这里插入图片描述
③md:中等屏幕 桌面显示器 (≥992px)
在这里插入图片描述
④lg:大屏幕 大桌面显示器 (≥1200px)
在这里插入图片描述
实现上图效果的代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">


    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="js/jquery-3.2.1.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
    <style>
        .inner{
           border: 1px solid red;
        }
    </style>
</head>
<body>
    <!--1.定义一个容器-->
    <div class="container-fluid">
        <!--2.定义一个行-->
        <div class="row">
         	<!--3.定义一个元素
				在大显示器上显示12个格子;中等显示器上显示6个格子;小显示器上显示3个格子;超小显示器上显示两个格子
			-->
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
            <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6 inner">栅格</div>
        </div>
    </div>
</body>
</html>

四、注意事项

(1) 自动换行

一行中如果格子数目超过12,则超出部分自动换行

<div class="container-fluid">
        <div class="row">
            <div class="col-lg-15 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
        </div>
    </div>

效果图
在这里插入图片描述

(2)向上兼容性

栅格类属性可以向上兼容,栅格类适用于与屏幕宽度大于或等于分界点大小的设备

<div class="container-fluid">
        <div class="row">
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
            <div class="col-xs-6 inner">栅格</div>
        </div>
    </div>

效果:由于最小的超小屏幕设置为6个格子一个元素,基于向上兼容性,小屏幕、中等屏幕、大屏幕的时候都为6个格子一个元素

(3)向下不兼容性

如果真实设备宽度小于了设置栅格类属性的设备代码的最小值,会一个元素沾满一整行

    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
            <div class="col-lg-1 inner">栅格</div>
        </div>
    </div>

效果:除了最大屏幕为1个格子一个元素,其他屏幕都为一个元素12个格子

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值