时间:2021-05-28
1.整体架构
BootStrap框架公共六个部分:(css组件和js插件是其表现形式,其余的是基础支撑平台)
表现形式
CSS组件
JS插件
基础支撑平台
CSS12栅格系统
基础布局组件
jQuery
响应式设计
1.1 CSS12栅格系统
12栅格系统是BootStrap的核心功能,也是响应式设计核心理念的一个实现方式。
1.1.1 实现原理
栅格布局原理:定义容器大小,平分12分,在调整内外边距,最后结合媒体查询,制作出强大响应式的栅格系统。
1.最外层的边框,伴随着响应式思想,区分了四种类型浏览器,像素分界点768px、992px、1200px
2.第二层的边框,即.container样式容器,针对四种浏览器宽度不一样,值是自动、750px、970px、1170px
3.1号横条,左内边距和右内边距是15px,是12个col-lg-1,没有row,则会
//源码.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Bootstrap从3.0版本开始全面支持移动平台,贯彻移动先行宗旨 --> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap 101 Template</title> <!-- Bootstrap --> <link href="bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="border:1px solid black"> <div class="col-lg-1" style="border:1px solid black">col-lg-1</div> <div class="col-lg-1" style="border:1px solid black">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1">col-lg-1</div> <div class="col-lg-1" style="border:1px solid black">col-lg-1</div> </div> <!-- bootstrap是基于jQuery--> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="bootstrap-3.3.7-dist/js/bootstrap.min.js"></script> </body> </html>4.2号横条,也就是row容器的定义,margin-left和margin-right都是-15px,组合row和列后,形成3号横条的效果,也就是左右宽度用满的效果。
//源码 .row { margin-right: -15px; margin-left: -15px; }有row,则会没边距
1.1.2 基本用法
1.列组合
<div class="container" style="border:1px solid black"> <div class="row"> <div class="col-lg-8" style="border:1px solid black">col-lg-8</div> <div class="col-lg-4" style="border:1px solid black">col-lg-4</div> </div> <div class="row"> <div class="col-lg-6" style="border:1px solid black">col-lg-6</div> <div class="col-lg-6" style="border:1px solid black">col-lg-6</div> </div></div>实现很简单,就是涉及了两个CSS特性:左浮动和宽度百分比
//源码@media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; }}2.列偏移
我们不想让相邻的列挨在一起,则利用栅格系统的列偏移.col-xs(sm,md,lg)-offset-* 功能来实现,不必再定义margin
<div class="row"> <div class="col-lg-8 col-lg-offset-2" style="border:1px solid black">col-lg-8 col-lg-offset-2</div> <div class="col-lg-2 col-lg-offset-2" style="border:1px solid black">col-lg-2 col-lg-offset-2</div></div>//源码.col-lg-offset-12 { margin-left: 100%;}.col-lg-offset-11 { margin-left: 91.66666667%;}.col-lg-offset-10 { margin-left: 83.33333333%;}.col-lg-offset-9 { margin-left: 75%;}.col-lg-offset-8 { margin-left: 66.66666667%;}.col-lg-offset-7 { margin-left: 58.33333333%;}.col-lg-offset-6 { margin-left: 50%;}.col-lg-offset-5 { margin-left: 41.66666667%;}.col-lg-offset-4 { margin-left: 33.33333333%;}.col-lg-offset-3 { margin-left: 25%;}.col-lg-offset-2 { margin-left: 16.66666667%;}.col-lg-offset-1 { margin-left: 8.33333333%;}.col-lg-offset-0 { margin-left: 0;}3.列嵌套
栅格系统也支持列嵌套,也就是一个列中可以在声明一个或者多个行.内部嵌套的row宽度是100%,就是当前外部列的宽度
<div class="row"> <div class="col-lg-8" style="border:1px solid black">col-lg-8</div> <div class="col-lg-4" style="border:1px solid black"> <div class="row"> <div class="col-lg-6">col-lg-6</div> <div class="col-lg-6">col-lg-6</div> </div> </div></div>4.列排序
列排序就是改变列的方向,也就是改变左右浮动,并且设置浮动的距离。可以通过.col-xs(sm,md,lg)-pull(push)-*
所有列设置的都是左浮动,通过设置left和right来实现定位显示。push则设置left,pull则设置right
其实只是利用了float,left,right三个属性就实现了这种效果
1.1.3 响应式栅格
已知col-xs-* col-sm-* col-md-* col-lg-*
1.跨设备组合定义
一种样式(比如col-md-9)在其定义的尺寸范围以外是不起作用的,比如,在小型或者大型屏幕上,所有带有md的样式都不会生效。我们可以在一个元素上应用不同的样式,以适配不同尺寸的屏幕。
如图,由于div3换行时,但div1过高,则div3就右边紧挨着显示了。
所以需要利用clearfix样式清除浮动,但前提是在超小型屏幕上才显示(用visible-xs控制)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Bootstrap之栅格系统Bootstrap提供了一套响应式、移动设备优先的流式栅格系统。一.移动设备优先所谓移动设备优先,重要的是屏幕,不是设备。移动设备优
bootstrap是个好东西,对于CSS不是很熟悉的同学可以用它快速的做个不丑的网站。但是bootstrap是个12栅格的系统,显示5列比较麻烦,今天我也刚好有
响应式布局系统,在现在流行的CSS框架中已经非常常见了。它主要由容器类和约定一行列数的栅格系统组成,组成了一个框架的骨架。在流行的前端框架Bootstrap和B
Bootstrap栅格系统的简单介绍,供大家参考,具体内容如下栅格系统:总共分为12个,超过12个会自动换行,可嵌套,嵌套也不可超过12个,且不会超过父栏代码:
栅格系统(布局)Bootstrap内置了一套响应式、移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列。我在