`
BucketLi
  • 浏览: 195070 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
5a76a659-f8e6-3bf3-b39a-8ae8f7a0f9d9
Percolator与分布...
浏览量:5674
社区版块
存档分类
最新评论

sass和compass的使用

 
阅读更多
原文链接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设计师指南pdf+源码

    《Sass和Compass设计师指南》是一本专为前端开发者和设计师编写的深入解析Sass和Compass技术的专业书籍。Sass(Syntactically Awesome Style Sheets)是一种强大的CSS预处理器,它扩展了CSS语法,增加了变量、嵌套...

    Sass和Compass 实战

    ### Sass与Compass实战知识...通过阅读本书,读者将全面掌握Sass和Compass的使用方法,能够在实际项目中有效地提高工作效率和代码质量。无论是初学者还是有经验的前端开发人员,都能从中获得宝贵的实践经验和技术指导。

    Sass和Compass设计师指南

    Sass和Compass设计师指南 AZW3文字版本,更清晰,非PDF版 Sass and Compass for Designers

    Sass和Compass设计师指南源代码

    通过逐个章节的学习和实践,设计师能够熟练掌握Sass和Compass的使用技巧,提升CSS编写效率,实现更优雅、更具可维护性的前端样式设计。每个章节都提供了丰富的实例,便于读者动手实践,加深理解。无论是初学者还是...

    英文原版-Sass and Compass in Action 1st Edition

    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 ...

    sass与compass实战和CSS高效开发实战 CSS 3、LESS、SASS、Bootstrap、Foundation PDF电子

    CSS高效开发实战 CSS 3、LESS、SASS、Bootstrap、Foundation PDF电子书下载 带书签目录 (试读版) 和 sass与compass实战 (全) 推荐看 sass与compass实战 就够了 我传了 2本书

    Sass and Compass In Action

    《Sass和Compass In Action》是一本专注于Sass和Compass技术的实践指南书籍,旨在教授读者如何将这两种技术应用于实际项目开发中,特别是在使用ExtJS 4框架开发Web应用时的样式表美化工作。 Sass(Syntactically ...

    [Sass] Sass and Compass for Designers (英文版)

    [Packt Publishing] Sass and Compass for Designers (英文版) [Packt Publishing] Sass and Compass for Designers (E-Book) ☆ 出版信息:☆ [作者信息] Ben Frain [出版机构] Packt Publishing [出版日期] ...

    sass与compass实战

    1. **项目初始化**: 使用SASS和Compass进行项目初始化,包括设置环境、配置文件结构等。 2. **变量的应用**: 如何定义和使用颜色、字体大小等变量,以提高代码的可维护性和灵活性。 3. **混合器实践**: 学习如何创建...

    sass+compass生成基于rem的雪碧图

    在`Compass`中,我们可以使用`sass`和`compass sprite`指令来生成雪碧图。首先,我们需要在项目中设置一个包含所有小图标的目录。然后,在`sass`文件中,使用`@include sprite($image-name)`指令,其中`$image-name`...

    Sass和Compass预处理CSS

    Sass和Compass预处理CSS,Sass(Scss)是世界上最成熟、稳定和强大的专业级CSS扩展语言,Sass(Scss)中文网主要致力于Sass(Scss)在中国的推广,通过Sass(Scss)来改变前端工程师,提高效率

    Sass与Compass实战 随书源码

    《Sass与Compass实战 随书源码》提供了丰富的资源,帮助读者深入理解并应用Sass和Compass这两个强大的CSS预处理器。Sass(Syntactically Awesome Style Sheets)扩展了CSS语言,增加了变量、嵌套规则、混合、函数等...

    [sass+compass+susy+源码实战]css设计师指南

    你将通过实例学习如何利用 Sass 的变量和混合功能来保持样式的一致性,如何用 Compass 的工具来提高开发效率,以及如何使用 Susy 创建响应式网格布局。这将帮助你理解如何在不同场景下有效地使用这些工具,提高你的 ...

    [Sass] Sass & Compass 实战 (英文版)

    [Manning Publications] Sass & Compass 实战 (英文版) [Manning Publications] Sass and Compass in Action (E-Book) ☆ 出版信息:☆ [作者信息] Wynn Netherland , Nathan Weizenbaum , Chris Eppstein , ...

    Sass与Compass实战

    资源名称:Sass与Compass实战资源截图:资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    sass与compass实战--源代码

    而Compass是一个基于SASS的框架,它提供了大量的实用样式库和工具,如网格系统、方向指南、色彩模式等。 在《SASS与Compass实战--源代码》中,你可以深入学习到如何运用这两种工具来构建高效、优雅的CSS代码。这份...

    zocial, Sass和 Compass CSS3社交按钮框架.zip

    zocial, Sass和 Compass CSS3社交按钮框架 Zocial,一个CSS3社交按钮Sass框架。是一个CSS3社交按钮集和带有 @font-face 作为Sass的向量图标,并可用作为指南针扩展。极大感谢 Sam在原来的CSS3按钮集和图标字体上做...

Global site tag (gtag.js) - Google Analytics