原文链接1:http://www.ruanyifeng.com/blog/2012/06/sass.html
原文链接2:http://www.ruanyifeng.com/blog/2012/11/compass.html
sass是一种“css预处理器”,而compass是sass的工具包,两者都是ruby实现,所以需要使用的话,先装ruby以及ruby的包管理器gem,然后安装即可。
1.sass的基本语法
编译
* nested:嵌套缩进的css代码,它是默认值。
* expanded:没有缩进的、扩展的css代码。
* compact:简洁格式的css代码。
* compressed:压缩后的css代码。
sass --style compressed test.sass test.css
变量
$blue : #1875e7;
div {
color : $blue;
}
$side : left;
.rounded {
border-#{$side}-radius: 5px;
}
计算
body {
margin: (14px/2);
top: 50px + 100px;
right: $var * 10%;
}
嵌套
/*元素嵌套*/
div {
hi {
color:red;
}
}
/*属性也可以嵌套,比如border-color属性,border后面必须加上冒号*/
p {
border: {
color: red;
}
}
继承
.class1 {
border: 1px solid #ddd;
}
.class2 {
@extend .class1;
font-size:120%;
}
mixin
类似c语言的宏,不过mixin还能有参数
@mixin left {
float: left;
margin-left: 10px;
}
div {
@include left;
}
/*还能定义参数,这个非常实用*/
@mixin left($value: 10px) {
float: left;
margin-right: $value;
}
div {
@include left(20px);
}
引入外部文件
@import "path/filename.scss";
@if...@else
@if lightness($color) > 30% {
background-color: #000;
} @else {
background-color: #fff;
}
@for、@while、@each
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}
$i: 6;
@while $i > 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}
@each $member in a, b, c, d {
.#{$member} {
background-image: url("/image/#{$member}.jpg");
}
}
自定义函数
@function double($n) {
@return $n * 2;
}
#sidebar {
width: double(5px);
}
2.compass的用法
Compass采用模块结构,不同模块提供不同的功能。目前,它内置五个模块:
引用
* reset
* css3
* layout
* typography
* utilities
CSS3模块
目前,该模块提供19种CSS3命令,具体参见官方文档。
/*圆角*/
@import "compass/css3";
.rounded {
@include border-radius(5px);
}
/*编译后代码*/
.rounded {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
}
/*透明*/
@import "compass/css3";
#opacity {
@include opacity(0.5);
}
/*编译后*/
#opacity {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0.5);
opacity: 0.5;
}
/*行内区块*/
@import "compass/css3";
#inline-block {
@include inline-block;
}
/*编译后*/
#inline-block {
display: -moz-inline-stack;
display: inline-block;
vertical-align: middle;
*vertical-align: auto;
zoom: 1;
*display: inline;
}
/*更多参考官方文档*/
layout模块
该模块提供布局功能
/*指定页面的footer部分总是出现在浏览器最底端*/
@import "compass/layout";
#footer {
@include sticky-footer(54px);
}
/*指定子元素占满父元素的空间*/
@import "compass/layout";
#stretch-full {
@include stretch;
}
/*更多参考官方文档*/
typography模块
该模块提供版式功能
/*指定链接颜色的mixin*/
link-colors($normal, $hover, $active, $visited, $focus);
/*使用*/
@import "compass/typography";
a {
@include link-colors(#00c, #0cc, #c0c, #ccc, #cc0);
}
utilities模块
/*表格*/
@import "compass/utilities";
table {
@include table-scaffolding;
}
/*生成后*/
table th {
text-align: center;
font-weight: bold;
}
table td,
table th {
padding: 2px;
}
table td.numeric,
table th.numeric {
text-align: right;
}
Helper函数
@import "compass";
.icon { background-image: inline-image("icon.png");}
/*编译后*/
.icon { background-image: url('data:image/png;base64,iBROR...QmCC');}
分享到:
相关推荐
Sass和 Compass设计师指南是中文扫描完整版
《Sass和Compass设计师指南》是一本专为前端开发者和设计师编写的深入解析Sass和Compass技术的专业书籍。Sass(Syntactically Awesome Style Sheets)是一种强大的CSS预处理器,它扩展了CSS语法,增加了变量、嵌套...
### Sass与Compass实战知识...通过阅读本书,读者将全面掌握Sass和Compass的使用方法,能够在实际项目中有效地提高工作效率和代码质量。无论是初学者还是有经验的前端开发人员,都能从中获得宝贵的实践经验和技术指导。
Sass和Compass设计师指南 AZW3文字版本,更清晰,非PDF版 Sass and Compass for Designers
通过逐个章节的学习和实践,设计师能够熟练掌握Sass和Compass的使用技巧,提升CSS编写效率,实现更优雅、更具可维护性的前端样式设计。每个章节都提供了丰富的实例,便于读者动手实践,加深理解。无论是初学者还是...
Think of Sass and Compass as power tools that allow you to paint with remarkable speed and precision.Sass and Compass in Action is a hands-on guide to stylesheet authoring using these two ...
CSS高效开发实战 CSS 3、LESS、SASS、Bootstrap、Foundation PDF电子书下载 带书签目录 (试读版) 和 sass与compass实战 (全) 推荐看 sass与compass实战 就够了 我传了 2本书
《Sass和Compass In Action》是一本专注于Sass和Compass技术的实践指南书籍,旨在教授读者如何将这两种技术应用于实际项目开发中,特别是在使用ExtJS 4框架开发Web应用时的样式表美化工作。 Sass(Syntactically ...
[Packt Publishing] Sass and Compass for Designers (英文版) [Packt Publishing] Sass and Compass for Designers (E-Book) ☆ 出版信息:☆ [作者信息] Ben Frain [出版机构] Packt Publishing [出版日期] ...
1. **项目初始化**: 使用SASS和Compass进行项目初始化,包括设置环境、配置文件结构等。 2. **变量的应用**: 如何定义和使用颜色、字体大小等变量,以提高代码的可维护性和灵活性。 3. **混合器实践**: 学习如何创建...
在`Compass`中,我们可以使用`sass`和`compass sprite`指令来生成雪碧图。首先,我们需要在项目中设置一个包含所有小图标的目录。然后,在`sass`文件中,使用`@include sprite($image-name)`指令,其中`$image-name`...
Sass和Compass预处理CSS,Sass(Scss)是世界上最成熟、稳定和强大的专业级CSS扩展语言,Sass(Scss)中文网主要致力于Sass(Scss)在中国的推广,通过Sass(Scss)来改变前端工程师,提高效率
《Sass与Compass实战 随书源码》提供了丰富的资源,帮助读者深入理解并应用Sass和Compass这两个强大的CSS预处理器。Sass(Syntactically Awesome Style Sheets)扩展了CSS语言,增加了变量、嵌套规则、混合、函数等...
你将通过实例学习如何利用 Sass 的变量和混合功能来保持样式的一致性,如何用 Compass 的工具来提高开发效率,以及如何使用 Susy 创建响应式网格布局。这将帮助你理解如何在不同场景下有效地使用这些工具,提高你的 ...
[Manning Publications] Sass & Compass 实战 (英文版) [Manning Publications] Sass and Compass in Action (E-Book) ☆ 出版信息:☆ [作者信息] Wynn Netherland , Nathan Weizenbaum , Chris Eppstein , ...
资源名称:Sass与Compass实战资源截图:资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
而Compass是一个基于SASS的框架,它提供了大量的实用样式库和工具,如网格系统、方向指南、色彩模式等。 在《SASS与Compass实战--源代码》中,你可以深入学习到如何运用这两种工具来构建高效、优雅的CSS代码。这份...
zocial, Sass和 Compass CSS3社交按钮框架 Zocial,一个CSS3社交按钮Sass框架。是一个CSS3社交按钮集和带有 @font-face 作为Sass的向量图标,并可用作为指南针扩展。极大感谢 Sam在原来的CSS3按钮集和图标字体上做...