CSS:用SASS(SCSS)实现栅格系统
背景
在CSS:用Less实现栅格系统中我介绍了如何用LESS实现栅格系统,为啥还要再用SASS做一遍呢?Bootstrap+JQuery+Less做前端(以读取为目的),ExtJs+Sass做后台(以写为目的),学会了Sass让我可以自定义ExtJs的主题。
收集的资料
- SASS官网:http://sass-lang.com/。
按照官网的教程尝试一遍就OK了。
注意事项
- Ruby对中文目录的支持不好,项目不要放到中文目录下。
- 重点学校Sass的这个几个概念:变量、嵌条、惨入和流程控制。
栅格实战
$span_length: 12; /*固定栅格系统*/ /*栅格的左边距*/
$span_margin: 20px;
/*栅格的的宽度*/
$span_width: 60px;
/*栅格数量*/ .row
{
margin-left: -$span_margin;/*抵消第一个栅格的左边距*/
min-height:1px;
} .row [class*="span"]
{
float: left;
min-height:1px;
margin-left: $span_margin;
} @mixin span ($length)
{
@for $index from 1 through $length
{
.row .span#{$index}
{
width: $index * $span_width + ($index - 1) * $span_margin;
}
}
} @mixin offset ($length)
{
@for $index from 1 through $length
{
.row .offset#{$index}
{
margin-left: $index * $span_width + ($index + 1) * $span_margin;
}
}
} @include span($span_length);
@include offset($span_length); /*自动栅格系统*/ /*栅格的宽度和左边距之比*/
$span_width_margin_scale: 3;
/*栅格的左边距比例*/
$span_margin_percentage: (1 / ($span_length * ($span_width_margin_scale + 1) - 1)); .row-fluid
{
width: 100%;
min-height:1px;
} .row-fluid [class*="span"]:first-child
{
margin-left:;
} .row-fluid [class*="span"]
{
float: left;
min-height: 1px;
margin-left: percentage($span_margin_percentage);
} @mixin fluid_span ($length)
{
@for $index from 1 through $length
{
.row-fluid .span#{$index}
{
width: percentage(($index * ($span_width_margin_scale + 1) - 1) * $span_margin_percentage);
}
}
} @mixin fluid_offset ($length)
{
@for $index from 1 through $length
{
.row-fluid .offset#{$index}
{
margin-left: percentage(($index * ($span_width_margin_scale + 1) + 1) * $span_margin_percentage);
}
}
} @include fluid_span($span_length);
@include fluid_offset($span_length);
运行效果
备注
真是仰慕这些工具的作者!
CSS:用SASS(SCSS)实现栅格系统的更多相关文章
- 前端编码规范(4)—— CSS 和 Sass (SCSS) 规范
CSS and Sass (SCSS) style rules ID and class naming ID和class(类)名总是使用可以反应元素目的和用途的名称,或其他通用名称.代替表象和晦涩难懂 ...
- CSS:用Less实现栅格系统
CSS:用Less实现栅格系统 背景 公司一直没有专职的前端和美工,Javascript相对来说我熟悉一点,CSS+HTML有四五年没有搞过了,最近要学一下,招聘或和美工配合的时候会有用处. 收集的资 ...
- bootstrap(一)栅格系统
中文网:http://www.bootcss.com/ 官网:http://v3.bootcss.com/ 需要准备:离线手册 和 软件包 项目中引用bootstrap.min.js压缩版和boo ...
- CSS预处理器Sass(Scss)、Less、Stylus
CSS 预处理编译器能让我成程序化其的方式编写CSS代码,可以引入CSS中没有的变量.条件.函数等特性,从而让代码更简单易维护,但一般按预处理器语法编写的代码无法直接在浏览器中运行,需用通过工具比如g ...
- 用sass写栅格系统
为了验证学习sass的效果,自己写了个简单的栅格系统.
- CSS预处理器 Less Sass,Scss 编译 Sourcemap调试
sass.less和stylus的安装使用和入门实践 SASS用法指南 Sass Basics CSS预处理器 css preprocessor 预处理器即preprocessor,预处 ...
- CSS & SASS & SCSS & less
CSS & SASS & SCSS & less less vs scss https://github.com/vecerek/less2sass/wiki/Less-vs. ...
- Bootstrap--全局CSS样式之栅格系统
Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列.它包含了易于使用的预定义类,还有强大的mixin 用于生成更具 ...
- 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-* 中等屏 ...
随机推荐
- HDU 1358 Period(KMP计算周期)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358 题目大意:给你一串字符串,判断字符串的前缀是否由某些字符串多次重复而构成. 也就是,从第1个字母 ...
- HDU 5348 MZL's endless loop(DFS去奇数度点+欧拉回路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5348 题目大意:给你一张图,有n个点,和m条无向边,让你把m条无向边变成有向边,使得每个节点的|出度- ...
- HDU 1217 Arbitrage(Bellman-Ford判断负环+Floyd)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 题目大意:问你是否可以通过转换货币从中获利 如下面这组样例: USDollar 0.5 Brit ...
- explicit浅谈
在C++中,explicit关键字主要用于防止隐式转换,用于修饰构造函数.复制构造函数. 例如有一个类: class A { public: A( int count ) : m_data( coun ...
- Robot Framework + Selenium2Lib
Robot Framework + Selenium2Lib 最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具 ...
- Codeforces Round #489 (Div. 2) E - Nastya and King-Shamans
E - Nastya and King-Shamans 题目大意:有n个数,每一次操作更改一个数,每次操作之后问你是否有一个数等于其前面所有数的和. 思路:好题,想了很久没想出来,看了题解,主要思想就 ...
- 第一个ajax小demo
第一个ajax小demo 文章来源:http://blog.csdn.net/magi1201/article/details/44569657
- 【JAVAWEB学习笔记】26_Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装
Linux基础 学习目标 1.了解Linux的简介与安装 2.掌握Linux常用的命令 3.掌握Linux系统上JDK.Mysql.Tomcat的安装 一.Linux的简介 1.Linux的概述 Li ...
- Tsinsen Palisection
建回文树. 正反建统计一种前缀和求出所有不相交的,用总数减去就是答案数. 在这里我们可以知道一个字符串中所有回文串的个数即为num数组之和(因为以一个节点为回文串结尾的字串都是唯一的) 也可以是cnt ...
- 「CSA49」Card Collecting Game
「CSA49」Card Collecting Game 题目大意:有 \(n\) 种卡片,每种有 \(b_i\) 张,如果一个人集齐 \(k\) 张第 \(i\) 种卡片,那么其能获得的得分是 \(\ ...