用 less 自制 bs 栅格布局

/* 全局设置 reset.css  normalize.css */
@import "normalize";* {box-sizing: border-box;
}/* 清除浮动 */
.clearfix {&:after {content: "";display: block;clear: both;}
}/* 变量声明1200992768*/
// 屏幕的阈值
@screen-lg: 1200px;
@screen-md: 992px;
@screen-sm: 768px;// container 容器的宽度
@container-lg-width: 1170px;
@container-md-width: 970px;
@container-sm-width: 750px;// 列宽
@grid-gutter-width: 30px;// 总的列数
@grid-columns: 12;/* 实现 */
.mark-container() {// container 容器的实现.container {.container-common-style();// 清除浮动//.clearfix();&:extend(.clearfix all);// 小屏幕 container 的宽度@media (min-width: @screen-sm) {width: @container-sm-width;}// 中屏幕 container 的宽度@media (min-width: @screen-md) {width: @container-md-width;}// 大屏幕 container 的宽度@media (min-width: @screen-lg) {width: @container-lg-width;}}// container-fluid 容器的实现.container-fluid {.container-common-style();&:extend(.clearfix all);}// 混合.container-common-style() {margin-right: auto;margin-left: auto;padding-left: @grid-gutter-width * (1/2);padding-right: @grid-gutter-width * (1/2);}
}
.mark-container();// 2. 行的设置
.make-row() {.row {margin-left: -@grid-gutter-width * (1/2); // -15pxmargin-right: -@grid-gutter-width * (1/2);}
}
.make-row();// 3.列的实现
// 公共样式  1,2,3,4,5,6,7,8,9,10,11,12  .col-xs-1 ... col-xs-12
.make-grid-columns() {.col(@index) {// @index  2     1@selector: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";.col(@index+1, @selector);}//     2       1.col(@index, @list) when (@index <= @grid-columns) {// 变量拼接@selector: ~"@{list},.col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; // 1,2 ==> 1,2,3// 调用自己.col(@index+1, @selector);}.col(@index, @list) when (@index > @grid-columns) {@{list} {padding-left: @grid-gutter-width * (1/2);padding-right: @grid-gutter-width * (1/2);position: relative;min-height: 1px;float: left;}}.col(1);
}
.make-grid-columns();// 超小屏幕的宽度设置  .col-xs-1{width: }  .col-xs-2{}
.make-column-width(@type) {.col(@index) when (@index <= @grid-columns) {// 拼接@selector: ~".col-@{type}-@{index}"; // col-xs-1@{selector} {@w: @index * (1/@grid-columns) * 100;width: ~"@{w}%";}// 递归调用.col(@index+1);}.col(1); // 1 ==> .col-xs-1
}
.make-column-width(xs);// 超小屏幕下的偏移设置
.make-column-offset(@type) {.col(@index) when (@index <= @grid-columns) {// 拼接@selector: ~".col-@{type}-offset-@{index}"; // col-xs-1@{selector} {@w: @index * (1/@grid-columns) * 100;width: ~"@{w}%";}// 递归调用.col(@index+1);}.col(1); // 1 ==> .col-xs-1
}
.make-column-offset(xs);// 媒体查询阶段 小屏幕的情况
@media (min-width: @screen-sm) {// .col-sm-1 ...... .col-sm-12// .col-sm-offset-1 ...... .col-sm-offset-12.make-column-width(sm);.make-column-offset(sm);
}// 媒体查询阶段 中屏幕的情况
@media (min-width: @screen-md) {// .col-md-1 ...... .col-md-12// .col-md-offset-1 ...... .col-md-offset-12.make-column-width(md);.make-column-offset(md);
}// 媒体查询阶段 大屏幕的情况
@media (min-width: @screen-lg) {// .col-lg-1 ...... .col-lg-12// .col-lg-offset-1 ...... .col-lg-offset-12.make-column-width(lg);.make-column-offset(lg);
}

用 less 自制 bs 栅格布局相关推荐

  1. [译] 你不需要基于 CSS Grid 的栅格布局系统

    本文讲的是[译] 你不需要基于 CSS Grid 的栅格布局系统, 原文地址:You do not need a CSS Grid based Grid System 原文作者:Rachel Andr ...

  2. bootstrap 标题居中加颜色_BootStrap从基础到项目实战_第1季_03章_01_CSS样式之栅格布局...

    目标 目标一.理解什么是栅格布局 目标二.掌握栅格布局具体应用 目标三.掌握BootStrap通用CSS样式(排版.代码.代码.表单.按钮.图片.辅助类.响应式工具) 内容 一.BootStrap全局 ...

  3. Bootstrap栅格布局系统的特点

    栅格布局系统的特点: (1)所有的行必须放在容器中: .container或.container-fluid (2)分为多行(row),一行中平均分为12列(col) (3)网页内容只能放在列(col ...

  4. Bootstrap学习笔记01【快速入门、栅格布局】

    Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...

  5. mui栅格布局的两种方式(grid和list,宫格和列表)

    文章目录 mui栅格布局的两种方式(grid和list,宫格和列表) 效果截图示下: 代码示下: mui栅格布局的两种方式(grid和list,宫格和列表) 效果截图示下: 代码示下: <!DO ...

  6. Bootstrap3.0 栅格系统背后的精妙魔法(Bootstrap3.0的栅格布局系统实现原理) - willian12345...

    Bootstrap3.0 栅格系统背后的精妙魔法(Bootstrap3.0的栅格布局系统实现原理) - willian12345 时间 2014-02-20 17:58:00  博客园-原创精华区 原 ...

  7. iOS 瀑布流之栅格布局

    代码地址如下: http://www.demodashi.com/demo/14760.html 一 .效果预览 二.确定需求 由下面的需求示意图可知模块的最小单位是正方形,边长是屏幕宽除去边距间隔后 ...

  8. 【Qt教程】2.2 - Qt5 布局管理器(水平、垂直、栅格布局)、弹簧、设计一个登陆界面

    使用布局管理器,来设计一个登陆界面 都是操作,没代码没理论.参照:Qt设计一登陆窗口布局 1. 新建空工程 双击.ui文件,进入界面设计区. 我们新建工程时候,使用的是QMainWindow类,会自动 ...

  9. Bootstrap栅格布局分析grid源码

    前言 此为本人自学经验和某站博主经验,与其他简书作者经验共同写出. 如有侵权请联系. 布局 首选布局前,大家要明白bootstrap几种布局方式 栅格&flex 这篇文章先讲解栅格,flex以 ...

最新文章

  1. 如何迭代pandas dataframe的行
  2. gentoo.tw的临时解决方法[转贴]
  3. Android m 自定义下拉菜单,Android实现动画效果的自定义下拉菜单功能
  4. RGB ECT 4BIT 压缩后质量远高于RGB ETC2 4BIT
  5. [转帖]Mootools源码分析-03 -- Hash
  6. 移动Exchange2007 CCR邮箱存储路径
  7. 关于计算机的英语演讲稿三分钟,以计算机为题的英语演讲稿5
  8. 三天学好ADO(转)
  9. Haswell 事务内存相关的一些资源介绍
  10. Springboot+Thymeleaf《药品管理系统》
  11. 明晰监管范围保护信息安全
  12. linux u盘 引导修复工具下载,全能u盘恢复工具
  13. ENVI5.1 进行监督分类流程化工具时(classification workflow)界面显示不全的问题解决办法
  14. 学校面试计算机老师试题及答案,计算机面试问题及答案 (共2篇).doc
  15. 如何使用Lumion创建惊艳的渲染
  16. Linux如何查看CPU温度
  17. 内核函数-assembler.h分析
  18. MIS(管理信息系统)
  19. Java基础——注解和反射——注解自定义与反射具体使用实例
  20. 量化股票交易接口如何一键执行委托下单?

热门文章

  1. python的gc模块_Python的内存泄漏及gc模块的使用分析
  2. c++用一级运算比较大小_孩子数学运算难?小学数学速算技巧顺口溜都在这里了!...
  3. python 协程 php,python3.x,协程_python协程练习部分代码的理解?,python3.x,协程,asyncio - phpStudy...
  4. Eclipse 皮肤
  5. 网络规划设计师考试经验分享
  6. 2016年下半年信息安全工程师考试真题含答案(下午题)
  7. html表单所有类型,表单form的type种类
  8. revit如何根据坐标进行画线_生物水处理专用消泡剂是如何根据生物水处理工艺原理进行消泡的?...
  9. 轻松搞定RocketMQ入门 1
  10. 《算法竞赛入门经典训练指南》pdf