Bootstrap学习笔记

Bootstrap

  • 容器

    • 1、流体容器

    • 2、固定容器

      • 阈值:大于等于1200(lg:大屏PC) width:1170(1140+槽宽)
      • 大于等于992 小于1200(md:中屏PC) width:970(940+槽宽)
      • 大于等于768 小于992(sm:平板) width:750(720+槽宽)
      • 小于768(xs:移动手机) width: auto
    • 栅格源码分析

      • 1、流体容器&固定容器 公共样式

        • margin-right:auto;
        • margin-left:auto;
        • padding-left:15px;
        • padding-right:15px;
      • 2、固定容器 特定样式

        • 顺序不可变

        • @media (min-width: @screen-sm-min) {
              width: @container-sm;
            }
            @media (min-width: @screen-md-min) {
              width: @container-md;
            }
            @media (min-width: @screen-lg-min) {
              width: @container-lg;
            }
          
      • 3、行

        • margin-left:-15px
          margin-right:-15px
          
      • 4、列

        • .make-grid-columns()-->
          	/*
          	.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-12, .col-sm-12, .col-md-12, .col-lg-12{
              position: relative;
              min-height: 1px;
              padding-left: 15px;
              padding-right: 15px;
          	
          } 
          .make-grid(@class) {
            .float-grid-columns(@class);
              //2.1 让其浮动
              /*.col-xs-1, .col-xs-2, .col-xs-3... .col-xs-12{
              	float: left;
          	} 
              */
            .loop-grid-columns(@grid-columns, @class, width);
              //2.2 在调整宽度比例
          	/*.col-xs-12{
          		width:12/12;
          	}
          	.col-xs-11{
          		width:11/12;
          	}
          	...
          	.col-xs-1{
          		width:1/12;	
          	}
          	*/
            .loop-grid-columns(@grid-columns, @class, pull);
            .loop-grid-columns(@grid-columns, @class, push);
             /*2.3(列排序)
              push						pull:
              .col-xs-push-12{				.col-xs-pull-12{
          		left:12/12;						right:12/12;
          	}								}
          	.col-xs-push-11{
          		left:11/12;
          	}
          	...							...
          	.col-xs-push-1{
          		leftr:1/12;	
          	}
              .col-xs-push-0{				.col-xs-pull-0{
              	left: auto;					right:auto;
          	}							}
             */
            .loop-grid-columns(@grid-columns, @class, offset);
            /*2.4(列偏移)
              .col-xs-offset-12{
          		margin-left: 12/12;
          	}
          	.col-xs-offset-11{
          		margin-left: 11/12;
          	}
          	...
          	.col-xs-offset-1{
          		margin-left: 1/12;
          	}
              .col-xs-offset-0{
          		margin-left: 0;	
          	}
             */
          }
          
          
    • 响应式工具 hidden-xs-max

    • 栅格盒模型设计的精妙之处

      • 容器两边具有15px的padding
      • 行 两边具有-15px的margin
      • 列 两边具有15px的padding
      • 为了维护槽宽的规则:
        • 列两边必须得要15px的padding
      • 为了能使列嵌套行
        • 行两边必须要有-15px的margin
      • 为了让容器可以包裹住行
        • 容器两边必须要有15px的padding
上一篇:JS原生实现的简单万年历(平铺)


下一篇:Bootstrap总结