美文网首页
bootstrap栅格系统

bootstrap栅格系统

作者: icon6 | 来源:发表于2019-05-31 09:17 被阅读0次

引言

  • 最近工作中经常需要写自适应网站,媒体查询写的我快要吐了。用bootstrap写了一段时间,今天来跟大家分享下。

简介

  • Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。(十二栅格系统)

  • 栅格系统通过行(row)与列(column)组成页面布局,页面内容就放入这些创建好的容器中

使用规则

  • 内容必须放在创建好的container容器中。

    <div class="container">
      <div class="row"></div>
    </div>
    
  • 在行(.row)中可以添加列(.column),但列数之和不能超过平分的总列数12

    <div class="container">
        <div class="row">
            <div class="col-md-8">
                内容一
            </div>
            <div class="col-md-4">
                内容二
            </div>
        </div>
    </div>
    
  • 具体内容应当放置在列容器(column)之内,而且只有列(column)才可以作为行容器(.row)的直接子元素

  • 通过设置内距(padding)从而创建列与列之间的间距。然后通过为第一列和最后一列设置负值的外(margin)来抵消内距(padding)的影响

实例讲解栅格系统

  • 下面的demo你会彻底了解12栅格系统

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <link rel="stylesheet" href="bootstrap.min.css">
        <style>
            .row {
                margin-top: 100px;
            }
    
            .row div {
                border: 1px solid skyblue;
                text-align: center;
                height: 60px;
                line-height: 60px;
            }
        </style>
    </head>
    
    <body>
        <div class="container">
            <!-- 一行分成12等分 -->
            <div class="row">
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
                <div class="col-md-1">占了一格</div>
            </div>
             <!-- 一行分成6等分 -->
            <div class="row">
                <div class="col-md-2">占了二格</div>
                <div class="col-md-2">占了二格</div>
                <div class="col-md-2">占了二格</div>
                <div class="col-md-2">占了二格</div>
                <div class="col-md-2">占了二格</div>
                <div class="col-md-2">占了二格</div>
            </div>
            <!-- 一行分成3等分 -->
            <div class="row">
                <div class="col-md-4">占了三格</div>
                <div class="col-md-4">占了三格</div>
                <div class="col-md-4">占了三格</div>
            </div>
            <!-- 一行分成2等分 -->
            <div class="row">
                <div class="col-md-6">占了六格</div>
                <div class="col-md-6">占了六格</div>
            </div>
            <!-- 独占一行 -->
            <div class="row">
                <div class="col-md-12">占了十二格</div>
            </div>
    
        </div>
    </body>
    
    </html>
    
  • .container 修改为 .container-fluid,就可以将固定宽度改变成100%宽度。

栅格参数

超小屏幕 手机 (<768px) 小屏幕 平板 (≥768px) 中等屏幕 桌面显示器 (≥992px) 大屏幕 大桌面显示器 (≥1200px)
栅格系统行为 总是水平排列 开始是堆叠在一起的,当大于这些阈值时将变为水平排列C
.container 最大宽度 None (自动) 750px 970px 1170px
类前缀 .col-xs- .col-sm- .col-md- .col-lg-
列(column)数 12
最大列(column)宽 自动 ~62px ~81px ~97px
槽(gutter)宽 30px (每列左右均有 15px)
可嵌套
偏移(Offsets)
列排序
  • 如果你的内容想在手机上显示那么你就可以调用.col-xs-
  • 如果你的内容想在平板上显示那么你就可以调用.col-sm-
  • 如果你的内容想在pc上显示那么你就可以调用.col-md-

自适应demo

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="bootstrap.min.css">
    <style>
        .row div {
            display: flex;
            align-items: center;
            height: 300px;
            justify-content: center;
            font-size: 18px;
            color: #fff;
        }

        .row div:nth-child(1) {
            background: skyblue;
        }

        .row div:nth-child(2) {
            background: purple;
        }

        .row div:nth-child(3) {
            background: pink;
        }

        .row div:nth-child(4) {
            background: yellowgreen;
        }
    </style>
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-xs-12 col-sm-6 col-md-3">
                第一块内容 <br> pc占3格 <br>平板占6格<br>手机占12格
            </div>
            <div class="col-xs-12 col-sm-6 col-md-3">
                第二块内容 <br> pc占3格 <br>平板占6格<br>手机占12格
            </div>
            <div class="col-xs-12 col-sm-6 col-md-3">
                第三块内容<br> pc占3格 <br>平板占6格<br>手机占12格
            </div>
            <div class="col-xs-12 col-sm-6 col-md-3">
                第四块内容<br> pc占3格 <br>平板占6格<br>手机占12格
            </div>
        </div>
    </div>
</body>

</html>

总结

  • 要设置<meta name="viewport" content="width=device-width, initial-scale=1">标签
  • 内容需要放在.container.container-fluid
  • 其实栅格系统的原理还是css3的媒体查询,只要我们掌握其原理,还怕不会用吗

相关文章

  • bootstrap栅格系统分析

    bootstrap栅格系统 bootstrap栅格系统是bootstrap的核心以及精髓所在 一、容器 1.流体容...

  • Bootstrap响应式栅格布局实现方法

    栅格系统的原理 Bootstrap的栅格系统下面我们将一起来看一下常见的栅格布局的设计和bootstrap中的设计...

  • bootstrap栅格化系统

    Bootstrap栅格化系统 Bootstrap 的栅格化系统采用将页面布局分为12列,再根据页面宽度采用预定义类...

  • some useful links

    栅格系统Bootstrap可视化布局系统Github Desktop

  • 栅格化系统在设计中的运用

    刚开始对栅格系统有很多疑惑,什么是栅格化系统?Bootstrap中为什么要使用栅格系统?设计师为什么要学习栅格系统...

  • Bootstrap学习资源

    bootstrap笔记总结 Bootstrap入门笔记之(三)栅格系统 我的Bootstrap笔记,常用类名知...

  • Bootstrap和flex的比较,清除浮动的实现原理

    bootstrap:栅格系统(结构) 在bootstrap中采用12栅格的布局,12份随意分配,但是不能解决5等分...

  • BootStrap栅格系统

    大家好,我是IT修真院北京分院web第31期学员金立剑 【js-2】BootStrap栅格系统 分享人:金立剑 目...

  • BOOTSTRAP栅格系统

    大家好,我是IT修真院武汉分院第13期学员,一枚正直善良的web程序员。 今天给大家分享一下,修真院官网css14...

  • Bootstrap 栅格系统

    注:示例代码只是记录功能。不做规范要求

网友评论

      本文标题:bootstrap栅格系统

      本文链接:https://www.haomeiwen.com/subject/btwitctx.html