Sass和Compass设计师指南
注:配合查看:Sass
为什么使用Sass和Compass?
.color {
color: $green;
color: rgba($green, .9);
}
.rounded {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-ms-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
}
改写:
.rounded {
@include border-radius(5px);
}
Compass,第一个基于Sass的框架
安装
使用
创建新的compass工程
compass create [project-name]


编译输出风格
使用相对资源路径
relative_assets = true
background-image: url('../img/img.jpg');
可以改为:
background-image: image-url('img.jpg');
注:使用的是image-url
模块化开发
借助@import
注:嵌套开发时,尽量不超过三层
@extend可扩展现有代码
只用于扩展的代码,可以使用占位符选择器
混合宏
@mixin bs($bs-type) {
-webkit-box-sizing: $bs-type;
-moz-box-sizing: $bs-type;
box-sizing: $bs-type;
}
调用混合宏使用@include命令
* {
@include bs(border-box);
}
还可以为混合宏定义默认值
@mixin bs($bs-type: border-box) {
// do something
}
颜色
compass的clearfix
%clearfix {
@include clearfix;
}
background-color: adjust-hue($color,180deg);
adjust-hue接收两个参数,一个颜色参数,一个0-360度的作用范围
background-color: fade-in($color, .3);
background-color: opacify($color, .3);
rgba($color, .9);
混合函数(mix)
background-color: mix($color1, $color2, 50%);
background-color: adjust-color($color, $hue: 40); 将取得的颜色色调调高40度
background-color: adjust-color($color, $hue: 20, $lightness: 40%); 将取得的颜色色调调高20度,亮度调高40%
background-color: adjust-color($color, $red: 20); 将取得的颜色中红色值调到20
background-color: adjust-color($color, $lightness: -20%);
background-color: scale-color($color, $lightness: -20%);
调色函数取得红色值,然后将其亮度降低20%。
background-color: shade($color, 60%);
background-color: tint($color, 60%);
Compass中的CSS3、Image Sprites等功能
文本阴影
$default-text-shadow-color: darken($color, 20%);
$default-text-shadow-blur: 0px;
$default-text-shadow-v-offset: 4px;
$default-text-shadow-h-offset: 4px;
需要使用多个阴影时,只需要使用逗号隔开每个阴影值
圆角
盒子阴影
$default-box-shadow-color: lighten($color, 50%);
$default-box-shadow-h-offset: 1px;
$default-box-shadow-v-offset: 1px;
$default-box-shadow-blur: 2px;
$default-box-shadow-spread: false;
$default-box-shadow-inset: false;
背景线性渐变语法
@include background(linear-gradient(to-direction, first-color first-color-stop, second-color second-color-stop);
例:
@include background(linear-gradient(to right, blue 0px, purple 40px, orange 150px, red 100%);
背景辐射渐变语法
@include background-image(radial-gradient(100% circle, pink 15%, red 100%);
使用compass image-url帮助工具添加背景图像
background-image: url('../img/img.png');
Compass语法(配置在config.rb文件中的image_dir):
background-image: image-url('img.png');
Compass缓存消除功能
可以阻止浏览器缓存已经更改过的旧文件,去除该功能:
background-image: image-url('img.png', false, false);
第一个参数用于url()函数,若设为true,编译后结果:
background-image: ../img/img.png;
Compass的image sprites功能
$buy-sprite-dimensions: true;
$buy-spacing: 10px;
$buy-layout: horizontal; // 水平排列方式
$buy-layout: vertical; // 纵向排列方式
$buy-layout: diagonal; // 对角排列,最浪费资源的排列方式
$buy-layout: smart; // 智能排列方式,最不浪费资源的方式
CSS变形功能
@include scale(2, 2); // 缩放:让它变为原尺寸的两倍
@include translateX(20px); // 平移:向右平移20px
给单一元素同时添加多种变化,可以使用 simple-transform混合宏,示例如下:
@include simple-transform(1.05, 3deg); // 图像放大1.05倍,并旋转3度
传递的参数必须按照scale、rotate、traslate-x、traslate-y、skew-x、skew-y、origin-x、origin-y的顺序排列
Compass过渡
@include single-transition(all, .3s, ease, 0s);
Sass的计算
.addition{
width: 20% + 80%;
}
.addition {
width: 100%;
}
.subtraction {
width: 80% - 20%;
}
.subtraction {
width: 60%;
}
.multiplication {
width: 20px * 80px;
}
.multiplication {
width: 20 * 80px;
}
.multiplication {
width: 1600px;
}
.division {
width: 80% / 20%;
}
.division {
width: 80%/20%;
}
.division {
width: (80% / 20%);
}
.division {
width: 4%;
}
.addition-and-division-parenthesis {
width: 20px + 80px / 5;
}
.addition-and-division-parenthesis {
width: 36px;
}
Sass中的控制命令
@if $color-theme == pink {
$color-brand: pink;
} @else if $color-theme == orange {
$color-brand: #ff9900;
}
@for $i from 1 through 4 {
// 将实现4次循环,从1到4
}
@for $i from 1 to 4 {
// 将实现3次循环,从1到3
}
$colors-list: $color-theme $theme-adjust-complement2 $theme-complement $theme-adjust $theme-adjust-complement $theme-shade $theme-tint
@each $current-color in $colors-list {
// do something
}
@function test($para) {
// do something
@return $result;
}
Sass和Compass设计师指南的更多相关文章
- Sass和Compass设计师指南 Ben Frain 中文高清PDF扫描版
Sass和Compass设计师指南是<响应式Web设计:HTML5和CSS3实战>作者Ben Frain的又一力作.作者通过丰富.完整的案例,循序渐进地展示了Sass和Compass的使用 ...
- 分享15款很实用的 Sass 和 Compass 工具
Sass 是 CSS 的扩展,增加了嵌套规则,变量,混入功能等很多更多.它简化了组织和维护 CSS 代码的成本.Compass 是一个开源的 CSS 框架,使得使用 CSS3 和流行的设计模式比以往任 ...
- 【Sass初级】开始使用Sass和Compass
转自:http://www.w3cplus.com/preprocessor/beginner/getting-started-with-sass-and-compass.html 如果你的朋友.同事 ...
- Compass用法指南
Compass用法指南 Sass是一种"CSS预处理器",可以让CSS的开发变得简单和可维护.但是,只有搭配Compass,它才能显出真正的威力. 本文介绍Compass的用法 ...
- Sass和compass 安装 和配合grunt实时显示 [Sass和compass学习笔记]
demo 下载http://vdisk.weibo.com/s/DOlfkrAWjkF/1401192855 为什么要学习Sass和compass ?提高站独立和代码产品化的绝密武器,尤其是程序化cs ...
- 揭开Sass和Compass的神秘面纱
揭开Sass和Compass的神秘面纱 可能之前你像我一样,对Sass和Compass毫无所知,好一点儿的可能知道它们是用来作为CSS预处理的.那么,今天请跟我一起学习下Sass和Compass的一些 ...
- Sass学习之路:Sass、Compass安装与命令行
导言 CSS不是一门真正意义上的编程语言,很多编程语言理所当然的特性(比如变量),都不被支持.同时再开发模块化的web项目的时候,也要避免相互干扰.为了弥补CSS的这些不足,就产生了CSS预处理器,S ...
- Sass和Compass制作雪碧图
1.安装好了sass与compass之后设置一个配置文件 2.新增一个雪碧图文件夹用来存放将要合并的图片例如color文件夹 3.@import命令引用 .Compass看到@import指令的参数为 ...
- SASS、COMPASS 安装指南
如果你还不知道 SASS 和 COMPASS 是什么,可以参看http://sass-lang.com 和http://compass-style.org,近期可能会更新一篇介绍性的入门教程,但 是本 ...
随机推荐
- 数据库 SQL :有关 NULL 值引发 TRUE、FALSE、UNKNOW 三值逻辑
在 Java.C# 中,相信如果是 boolean 类型值,只有两种选择 true.false.然而,在 SQL 查询中,NULL 值的引入,使得新增了 UNKNOW ,因此,就产生了 TRUE.FA ...
- js逻辑与,或,非
[转,未整理] 1.逻辑非(!) 如果一个操作数是一个对象,返回true; 如果一个操作数是一个空字符串,返回false; 如果一个操作数是一个非空字符串,返回false; 如果一个操作数是一个数值0 ...
- WPF中的数据模板(DataTemplate)(转)
原文地址 http://www.cnblogs.com/zhouyinhui/archive/2007/03/30/694388.html WPF中的数据模板(DataTemplate) ...
- Php最近1个月总结
1.数据库方面太薄弱. 2.对于Php性能的调优也没有用到很专业的工具. 3.大型网站的架构也没有一个概念,需要细致的了解.
- Qt中的 Size Hints 和 Size Policies
sizeHint 这个属性所保存的 QSize 类型的值是一个被推荐给窗口或其它组件(为了方便下面统称为widget)的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeH ...
- eclipse添加第三方源码
- ubuntu完美卸载JDK
要删除 OpenJDK (如果已安装的话).首先,检查是安装的哪个 OpenJDK包. # dpkg --list | grep -i jdk 移除 openjdk包: # apt-get purge ...
- iOS开发——UI篇Swift篇&UIToolbar
UIToolbar class UIToolBarUISearchBar: UIViewController,UISearchBarDelegate { var titleString:String! ...
- 各种ORM安装
1.EF安装 2.PetaPoco安装 Install-Package PetaPoco 3.
- leetcode二分查找问题整理
自从做完leetcode上的三道关于二分查找的题后,我觉得它是比链表找环还恶心的题,首先能写出bugfree代码的人就不多,而且可以有各种变形,适合面试的时候不断挑战面试者,一个程序猿写代码解决问题的 ...