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-* 中等屏 ...
随机推荐
- JAVA封装消息中间件调用二(kafka消费者篇)
上一遍我简单介绍了kafka的生成者使用,调用方式比较简单,今天我给大家分享下封装kafka消费者,作为中间件,我们做的就是最大程度的解耦,使业务方接入我们依赖程度降到最低. 第一步,我们先配置一个消 ...
- Linux 基础——常用的Linux网络命令
一.学Linux网络命令有什么好处 网络的出现,我们的生活更方便了,处理事情的效率也越来越高,也可以看到全世界文化的差异.同时我们接受新事物的信息越来越来强,新事物的信息也越来越来多.网络对于我们尔等 ...
- zookeeper的简单使用
前言 最近项目中要使用基于zookeeper的集中配置管理系统,而对于zookeeper仅在当初使用阿里开源分布式服务调用框架dubbo时简单的了解一下.本 文的主要目的,调用zkclient (ma ...
- 【LOJ】 #2013. 「SCOI2016」幸运数字
题解 最大异或和,明显是个线性基 然而还有那么多路径--那就树分治,反正点数看起来很少,就是为了让人乘上一个60的常数嘛 把一个树的点分树记录下来,然后看看询问的两个点彼此相同的最后一个父亲是谁,把这 ...
- 【LOJ】#2280. 「FJOI2017」矩阵填数
题解 我们发现没有限制的小方格可以随便填 然后考虑有限制的,我们把它切割成一个个小块(枚举相邻的横纵坐标),然后记录一下这个小块的最大值限制(也就是所有覆盖它的矩形最小的最大值) 记录一下每个小块的大 ...
- Codeforces Round #490 (Div. 3) F - Cards and Joy
F - Cards and Joy 思路:比较容易想到dp,直接dp感觉有点难,我们发现对于每一种数字要处理的情况都相同就是有 i 张牌 要给 j 个人分, 那么我们定义dp[ i ][ j ]表示 ...
- oracle创建简单的包
--规范 create or replace package test_pkg is --test_pkg为包名 procedure showMessage; --声明一个过程 function my ...
- 通过NVM安装node
NVM(Node version manager)顾名思义,就是Node.js的版本管理软件,可以轻松的在Node.js各个版本间切换,项目源码GitHub 1.下载并安装NVM脚本 curl htt ...
- Socket 异步
摘要: System.Net.Sockets.Sockte 类有一组增强功能,提供可供专用的高性能套接字应用程序使用的可选异步模式,SocketAsyncEventArgs 类就是这一组增强功能的一部 ...
- Coding.net进阶,使用Git管理代码
原文来自:http://conw.net/archives/18/ (我自己的博客,点击链接查看文章最新版本) Git是目前最流行的版本控制系统,这里以GitHub为例,介绍git的基本使用. Git ...