CSS:用Less实现栅格系统

背景

公司一直没有专职的前端和美工,Javascript相对来说我熟悉一点,CSS+HTML有四五年没有搞过了,最近要学一下,招聘或和美工配合的时候会有用处。

收集的资料

知识总结

  • CSS盒子模型:定位和浮动。
  • CSS继承模型:这部分可以边用边记。
  • CSS层叠模型:这部分要记清楚。

最好的教程就是官方教程

栅格系统实战

less

 1 @grid_margin: 20px;
2 @grid_length: 12;
3 @unit: 1px;
4
5 .row {
6 margin-left: -@grid_margin;
7 *zoom: 1;
8 }
9
10 [class*="span"] {
11 float: left;
12 min-height: 1px;
13 margin-left: @grid_margin;
14 }
15
16 .span (@length) when (@length > 0) {
17 .span@{length} {
18 width: (@length * 60 + (@length - 1) * 20) * @unit;
19 }
20
21 .span(@length - 1);
22 }
23
24 .span (0) {}
25
26 .span (@grid_length);
27
28 .offset (@length) when (@length > 0) {
29 .offset@{length} {
30 margin-left: (@length * 60 + (@length + 1) * 20) * @unit;
31 }
32
33 .offset(@length - 1);
34 }
35
36 .offset (0) {}
37
38 .offset (@grid_length);
39
40
41 @grid_margin_percent: (1 / (@grid_length * 4 - 1));
42
43 .row-fluid {
44 width: 100%;
45 *zoom: 1;
46 }
47
48 .row-fluid [class*="span"]:first-child {
49 margin-left: 0;
50 }
51
52 .row-fluid [class*="span"] {
53 display: block;
54 float: left;
55 min-height: 30px;
56 margin-left: percentage(@grid_margin_percent);
57 -webkit-box-sizing: border-box;
58 -moz-box-sizing: border-box;
59 box-sizing: border-box;
60 }
61
62 .fluid_span (@length) when (@length > 0) {
63 .row-fluid .span@{length} {
64 width: percentage((@length * 4 - 1) * @grid_margin_percent);
65 }
66
67 .fluid_span(@length - 1);
68 }
69
70 .fluid_span (0) {}
71
72 .fluid_span (@grid_length);
73
74 .fluid_offset (@length) when (@length > 0) {
75 .row-fluid .offset@{length} {
76 margin-left: percentage((@length * 4 + 1) * @grid_margin_percent);
77 }
78
79 .fluid_offset(@length - 1);
80 }
81
82 .fluid_offset (0) {}
83
84 .fluid_offset (@grid_length);

html

<div class="row">
<div class="span3"></div>
<div class="span6 offset3"></div>
<div class="clear-left"></div>
</div> <div class="row-fluid">
<div class="span3"></div>
<div class="span6 offset3"></div>
<div class="clear-left"></div>
</div>

运行效果

备注

Less多少有些程序语言的味道,刚才的示例写的比较仓促,应该进一步重构,比如:引入解释性的变量,去掉“魔法数字”等。

CSS:用Less实现栅格系统的更多相关文章

  1. BootStrap的table表格,栅格系统,form表单的样式

    BootStrap BootStrap的简介 1.    什么是Bootstrap 由两个前端设计师开发的一个前端的框架(Html,css,js) 简化了程序员写css的代码 2.    为什么使用B ...

  2. CSS:用SASS(SCSS)实现栅格系统

    背景 在CSS:用Less实现栅格系统中我介绍了如何用LESS实现栅格系统,为啥还要再用SASS做一遍呢?Bootstrap+JQuery+Less做前端(以读取为目的),ExtJs+Sass做后台( ...

  3. Bootstrap--全局CSS样式之栅格系统

    Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列.它包含了易于使用的预定义类,还有强大的mixin 用于生成更具 ...

  4. Bootstrap4中栅格系统CSS中 col-sm-* col-md-* col-lg-*的意义以及当其同时具有col-xs-* col-sm-* col-md-* col-lg-*的含义

    根据Bootstrap--Grid 中 col-sm-* col-md-* col-lg-* col-xl-*的意义: .col-sm-* 小屏幕 手机 (≥ 576px) .col-md-* 中等屏 ...

  5. CSS3简单的栅格系统

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

  6. 初学者--bootstrap(四)栅格系统----在路上(8)

    ---------------------------------------栅格系统:是bootstrap提供的响应式布局方式------------------------------------ ...

  7. Bootstrap之栅格系统

    bootstrap 移动优先 中文官网  http://www.bootcss.com/ 1.基本模板 <!DOCTYPE html> <html lang="en&quo ...

  8. Bootstrap响应式栅格系统的设计原理

    1.历史背景 Bootstrap是Twitter的工程师Mark Otto和Jacob Thornton开发的一套供内部使用的UI框架,于2011年开源.2012年发布的第二版中新增了12列栅格系统和 ...

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

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

随机推荐

  1. Android 平台 HTTP网速測试 案例 API 分析

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/25996817 工信部规定的网速測试标准 : 除普通网页測速 ...

  2. 根据Unix哲学来编写你的HTML5 Websocket服务器来实现全双工通信

    websocketd代表WebSocket的守护进程 websocketd处理的是浏览器和服务器之间的WebSocket连接,它会启动你所指定的服务器端应用来对WebSockets进行处理,然后在浏览 ...

  3. javascript and dom1

    <script type="text/javascript"> //数组 var beatles=Array(4); var beatles=Array(); cons ...

  4. MonkeyRunner源码分析之-谁动了我的截图?

    本文章的目的是通过分析monkeyrunner是如何实现截屏来作为一个例子尝试投石问路为下一篇文章做准备,往下一篇文章本人有意分析下monkeyrunner究竟是如何和目标测试机器通信的,所以最好的办 ...

  5. navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

    原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 ...

  6. 关于session_start()这个问题

    关于session_start()这个问题,其实网上很多解决的方法,论坛也好多人回答这类的问题, 现在的状况是依然有警告提示Warning: session_start() [function.ses ...

  7. 编程算法 - 二部图确定 代码(C)

    二部图确定 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 给定一个具有n个顶点的图. 要给图上每一个顶点染色, 而且要使相邻的顶点颜色不同.  ...

  8. 高速决心linux上oracle安装垃圾问题

    问题:在linux安装oracle时间.因为oracle用户local LANG安装问题,原因安装oracle软件.该接口是非常多的安装位置是乱码. 解决方案:在oracle用户运行:export L ...

  9. SQL Server 远程链接服务器详细配置

    原文:SQL Server 远程链接服务器详细配置[转载] http://hi.baidu.com/luxi0194/blog/item/a5c2a9128a705cc6c2fd7803.html - ...

  10. C#的StringBuilder 以及string字符串拼接的效率对照

    今天公司一个做Unity3d的人在说字符串拼接的一个效率问题,他觉得string拼接会产生新的一个内存空间,假设不及时回收会产生大量的碎片,特别是在Unity3d这样一个Updata环境下,由于每一帧 ...