Bootstrap带给大家最大的便利莫过于它的栅格系统,栅格系统帮助我们快速构建响应式的网页布局,以适配各种尺寸的屏幕。Bootstrap虽然带给我们很多的便利,但是很多情况下我们只需要用到它提供的栅格系统,其他组件样式我们更倾向于自己实现,为了给网站瘦身,我们往往需要抽取其中的一部分,我们甚至可以把前缀‘col-’去掉以尽量瘦身(在不压缩的情况下该文件9K,删除了col-后为8k,压缩情况下有没有删除col-都为6k)。
Bootstrap媒体查询了3个尺寸,分别是大于768px,大于992px,大于1200px,即@media screen and (min-width: 768px)、@media screen and (min-width: 992px)、@media screen and (min-width: 1200px)。由于css文件是从上往下渲染网页的,所以渲染了前边的样式之后,若屏幕宽度小于768px,则下边的css样式不起作用,以达到移动设备优先的效果。那么设备宽度大于1200px的时候,3个媒体查询都成立,会执行哪一个呢?比如class=”col-lg-3 col-md-6”的时候。上边已经提到css是从上往下渲染网页的,当遇到相同样式属性时,编写在下边的样式属性会覆盖上边的样式属性。那么当设备宽度大于1200px时,由于col-md-6编写再col-lg-3之前,col-lg-3取缔了col-md-6的样式,所以样式为.col-lg-3{width:25%}。同理若设备宽度小于1200px大于992px那么由于@media screen and (min-width: 1200px)不成立,所以样式为.col-lg-6{width:50%}。如此类推。
值得注意的时为了兼容ie可以使用bootstrap提供的js,以下出自菜鸟教程
<!-- HTML5 Shiv 和 Respond.js 用于让 IE8 支持 HTML5元素和媒体查询 -->
<!-- 注意: 如果通过 file:// 引入 Respond.js 文件,则该文件无法起效果 -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
@charset "utf-8";
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, pre,dl, dt, dd, ul, ol, li, form, fieldset, lengend, button, input, textarea, th, td {
margin: 0;
padding: 0;
}
ul, ol {
list-style: none;
}
a {
text-decoration: none;
}
q:before, q:after {
content: '';
}
legend {
color: #000;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
button, textarea {
font-size: 100%;
border: 0;
}
fieldset, img {
border: 0;
}
a:hover {
-webkit-transition: all .5s;
transition: all .5s;
}
*, *:after, *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
} /* common ========================================================================== */
.fl {
float: left;
*display: inline;
_display: inline;
}
.fr {
float: right;
*display: inline;
_display: inline;
}
.clearfix:after {
display: block;
clear: both;
content: '';
visibility: hidden;
height: 0;
}
.clearfix {
*zoom: 1;
} /* 栅格系统,移动设备优先 ========================================================================== */
.container {
margin-left: auto;
margin-right: auto;
padding-left: 15px;
padding-right: 15px;
}
.container-fluid {
margin-left: auto;
margin-right: auto;
padding-left: 15px;
padding-right: 15px;
}
.row {
margin-left: -15px;
margin-right: -15px;
}
.row:before, .row:after {
content: "";
display: table;
clear: both;
}
.hide-xs {
display: none!important;
}
.show-xs-block {
display: block!important;
}
.show-xs-inline {
display: inline!important;
}
.show-xs-inline-block {
display: inline-block!important;
}
.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;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-12 {
width: 100%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-12 {
margin-left: 100%;
}
@media screen and (min-width: 768px) {
.container {
width: 750px;
}
.hide-sm {
display: none!important;
}
.show-sm-block {
display: block!important;
}
.show-sm-inline {
display: inline!important;
}
.show-sm-inline-block {
display: inline-block!important;
}
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-12 {
width: 100%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-12 {
margin-left: 100%;
}
}
@media screen and (min-width: 992px) {
.container {
width: 970px;
}
.hide-md {
display: none!important;
}
.show-md-block {
display: block!important;
}
.show-md-inline {
display: inline!important;
}
.show-md-inline-block {
display: inline-block!important;
}
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-3 {
width: 25%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-6 {
width: 50%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-9 {
width: 75%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-12 {
width: 100%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-12 {
margin-left: 100%;
}
}
@media screen and (min-width: 1200px) {
.container {
width: 1170px;
}
.hide-lg {
display: none!important;
}
.show-lg-block {
display: block!important;
}
.show-lg-inline {
display: inline!important;
}
.show-lg-inline-block {
display: inline-block!important;
}
.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-1 {
width: 8.33333333%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-12 {
width: 100%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-12 {
margin-left: 100%;
}
}
}