1、栅格系统实现布局的原理

1)Bootstrap把屏幕的宽度拆分成12格(列),每一格像素的多少由设备屏幕分辨率决定,我们在开发项目的过程中不需要去指定像素或者百分比。

2)不同范围的分辨率对应不同设备

超小屏幕 手机(<768px)                   类的前缀:-col-xs-

小屏幕 平板(>=768px<992px)      类的前缀:-col-sm-

中等屏幕 桌面显示器(>=992px<1200px)类的前缀:-col-md-

大屏幕 大桌面显示器(>=1200px)      类的前缀:-col-lg-

在不同分辨率的屏幕下,自适应屏幕。

3)媒体查询

指定在某些分辨率下执行某些CSS样式

@media (max-width: 767px) {
div{background: red}
}

@media (min-width: 768px)and (max-width: 991px){
div{background: black;}
}

@media(min-width:992px)and(max-width:1199){

div{background: green;}

}
@media (min-width: 1200px) {
div{background: red;}
}

解读:宽度像素小于767px时,执行div{background:black;},宽度在768~1199px时执行div{background: black;},在992~1199px时执行div{background: green;}宽度大于等于1200px时执行div{background: red;}也就是说:在特定屏幕分辨率下执行不同(特定)样式。

2、栅格系统布局的使用

1)html内容在不同浏览器宽度所显示的宽度由.container中的属性决定

<div class="container">container</div>

小于768px------------------------None(自动)

大于等于768px小于992px--------750px

大于等于992px小于1200px-------970px

大于等于1200px-------------------1170px

系统会自动识别浏览器分辨率,设置div的宽度

2).container与.container-fluid区别

<div class="container">container</div>

按照设备浏览器窗口宽度设置对应的div宽度

<div class="container">container-fluid</div>

宽度100%显示,即100%宽度显示div

3)列组合(宽度12等分)

<div class="container">
  <div class="row">
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
    <div class="col-md-1">col-md-1</div>
  </div>
</div>

<div class="container">
  <div class="row">
    <div class="col-md-6">col-xs-6</div>
    <div class="col-md-6">col-xs-6</div>
  </div>
</div>

宽度2等分,每等分占6格。xs表示超小屏幕分辨率,当浏览器窗口变大时(大分辨率下),还是2等分,每等分占6格,1:1。也就是说小分辨率兼容大分辨率

4)列偏移

.col-xs-offset-2

.col-sm-offset-2

.col-md-offset-2

.col-lg-offset-2

列偏移之前:

<div class="container">
  <div class="row">
    <div class="col-md-2">col-md-2</div>
    <div class="col-md-4">col-md-4</div>
  </div>
</div>

偏移之后:

<div class="container">
  <div class="row">
    <div class="col-md-2 col-md-offset-2 ">col-md-2 col-md-offset-2</div>
    <div class="col-md-4 col-md-offset-3 ">col-md-4 col-md-offset-3</div>
  </div>
</div>

5)列嵌套

列嵌套之前:

<div class="container">
  <div class="row">
    <div class="col-md-9">9</div>
    <div class="col-md-3">3</div>
  </div>
</div>

列嵌套之后:

<div class="container">
  <div class="row">
    <div class="col-md-9">
      <div class="row">
        <div class="col-md-6">col-md-6</div>
        <div class="col-md-6">col-md-6</div>
      </div>
    </div>
  <div class="col-md-3">3</div>
</div>
</div>

6)列的排序

col-md-push-5向右推几格

col-md-pull-2向左拉几格

排序前:

<div class="container">
  <div class="row">
    <div class="col-md-3 ">col-md-3 </div>
    <div class="col-md-2 ">col-md-2</div>
  </div>
</div>

排序后:

<div class="container">
  <div class="row">
    <div class="col-md-3 col-md-push-5">col-md-3 </div>
    <div class="col-md-2 col-md-pull-2">col-md-2</div>
  </div>
</div>

7)跨设备的定义组合

<div class="container">
  <div class="row">
    <div class="col-md-8 col-sm-2 col-xs-6">8 </div>
    <div class="col-md-4 col-sm-10 col-xs-6">4</div>
  </div>
</div>
不同分辨率下不同的排列方式

8)清除浮动

<div class="container">
<div class="row">
<div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
<div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
<div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
<div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
</div>
</div>
在超小屏幕下(xs)一行就能排完:

在小屏幕下(sm)要排两行:

当第一列内容比较多,占2行的话则(超小屏幕下xs):

<div class="container">
  <div class="row">
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3内容比较多3内容比较多内容比较多内容比较多 </div>
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
  </div>
</div>

如果要使第三列排列在下一行,就需要清除浮动:clearfix visible-xs

<div class="container">
  <div class="row">
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3内容比较多3内容比较多内容比较多内容比较多 </div>
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
    <div class="clearfix visible-xs"></div>
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
    <div class="col-xs-6 col-sm-3 ">col-xs-6 col-sm-3</div>
  </div>
</div>

9)禁止响应布局

不要移动设备优先:<meta name="viewport" content="width=device-width, initial-scale=1">设置传统web模式

本文系作者原创,转载请注明出处,感谢合作!文章难免会有不足之处,如有纰漏,非常感谢您的指出,您可追加评论,或者QQ留言。



Bootstrap栅格系统用法--Bootstrap基础的更多相关文章

  1. 初学bootstrap ---栅格系统

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Bootstrap 栅格系统初识

    以下理论内容copy自bootstrap中文网(一个不错的bootstrap学习网站). 栅格系统 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport) ...

  3. 巧用 BootStrap --- 栅格系统(布局)轻松搞定网页响应式布局!

    摘要:Bootstrap 为我们提供了一套响应式.移动设备优先的流式栅格系统,合理的使用栅格系统将会使得网站页面布局变得更加简单,在设置了媒体查询之后,响应式网站也无需再单独写了.接下来我以Boots ...

  4. Bootstrap栅格系统详解,响应式布局

    Bootstrap栅格系统详解 栅格系统介绍 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 栅格系统用于通 ...

  5. Bootstrap 栅格系统(转载)

    源地址:http://www.cnblogs.com/linjiqin/p/3559800.html Bootstrap 栅格系统 目录1.简介2.栅格选项3.列偏移4.嵌套列5.列排序 1.简介Bo ...

  6. Bootstrap栅格系统(布局)

    栅格系统(布局) Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 我在这里是把Bootstrap中的栅格系 ...

  7. 入门——Bootstrap栅格系统

    作为刚接触到Bootstrap框架的新手一枚,刚开始对Bootstrap中的栅格系统一脸懵逼,后来经过反复的上网查找资料以及自己一直在练习,总算对栅格系统了解个差不多,所以我将我所了解的当成是日记写下 ...

  8. Bootstrap栅格系统基本使用

    1.什么是栅格系统: 在Bootstrap中,它提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列.栅格系统用于通过一系列的行(row ...

  9. 第二百三十五节,Bootstrap栅格系统

    Bootstrap栅格系统 学习要点: 1.移动设备优先 2.布局容器 3.栅格系统 本节课我们主要学习一下 Bootstrap 的栅格系统,提供了一套响应式.移动设备优先的流 式栅格系统. 一.移动 ...

随机推荐

  1. PYTHON:新闻聚合

    这个项目看了有段时间,因为一直没跑通,而且关于NNTP也不是特别理解.这里是转载code123的分析. 原文地址:http://www.code123.cc/1327.html 书中的第四个练习,新闻 ...

  2. html5/css3布局(一)

    响应式布局 1.响应式布局介绍 响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,就是一个网页可以在不同设备上显示,比如:电脑.平板.手机等,不同设备都可以兼容显示.这样就不必为每一种 ...

  3. C# foreach循环较for循环的优势与劣势

    一.foreach循环的优势 C#支持foreach关键字,foreach在处理集合和数组相对于for存在以下几个优势: 1.foreach语句简洁 2.效率比for要高(C#是强类型检查,for循环 ...

  4. Linux 日常使用小记

    一.Oracle VirtualBox安装Linux7.0全屏设置 1. 点击菜单栏 设备 –> 分配光驱 –> 选择一个虚拟光盘,找到VirtualBox安装目录下的VBoxGuestA ...

  5. 配置Tomcat

    目前有很多网站使用jsp的程序编写,所以解析jsp的程序就必须要有相关的软件来完成.Tomcat就是用来解析jsp程序的一个软件. 安装tomcat Tomcat的安装分为两个步骤:安装JDK和安装T ...

  6. C# 逆变与协变

    该文章中使用了较多的 委托delegate和Lambda表达式,如果你并不熟悉这些,请查看我的文章<委托与匿名委托>.<匿名委托与Lambda表达式>以便帮你建立完整的知识体系 ...

  7. 入侵拿下DVBBS php官网详细过程(图)

    几 个月前,DVBBS php2.0暴了一个可以直接读出管理员密码的sql注入漏洞,当时这个漏洞出来的时候,我看的心痒,怎么还会有这么弱智的漏洞,DVBBS php2.0这套代码我还没仔细看过,于是5 ...

  8. org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.问题思路

    15:36:34,549 WARN DefaultListableBeanFactory:1416 - Bean creation exception on FactoryBean type chec ...

  9. Kubernetes e2e test and test framework

    前言 Kubernetes的成功少不了大量工程师的共同参与,而他们之间如何高效的协作,非常值得我们探究.最近研究和使用了他们的e2e测试和框架,还是挺有启发的. 怎样才是好的e2e测试? 不同的人写出 ...

  10. STM32经典概述(干货 )

    STM32经典概述(干货 ) 首先,在学习Cortex-M3时,我们必须要知道必要的缩略语.  在网上看的,觉得挺好的,分享过来了 整理如下: AMBA:先进单片机总线架构   ADK:AMBA设计套 ...