• compass入门


      本文将参考官方文档,结合最佳实践,让我们把compass用起来。

      进入项目目录(有疑问回看上一篇sass+compass起步),在sass目录下新建_base.sacc文件,该文件的用处是初始化样式表,内容是全局变量和要用的框架,此外,还可以放一些自己写的mixins。

      P.S.下划线_开头的sacc文件不会编译成css,要注意,在同一个目录不能同时存在带下划线和不带下划线的同名文件。 例如, _base.scss 不能与 base.scss 并存。

      1、变量

      sass中有2种方式定义变量(注意变量名前要有$,就像less的变量前是@):

    $my-constant : #fedcba  //定义变量my-constant为#fedcba
    $my-constant : #fedcba !default  //定义变量my-constant的默认值为#fedcba

      很多compass模块在使用的时候允许自定义设置默认值,做法是在引入该模块之前定义好变量,就像这样:

    $blueprint-grid-columns = 12
    @import "blueprint/grid"

      2、_base.sacc

    _base.sacc:

    $font-color: #333;
    
    @import "compass/reset";

    然后我们就可以在其他所有的scss文件中引入该文件了,比如在test.scss文件中:

    @import "base";
    
    .test{
        color: $font-color;
    }

    编译后的css文件如下:

    /* line 5, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td,
    article, aside, canvas, details, embed,
    figure, figcaption, footer, header, hgroup,
    menu, nav, output, ruby, section, summary,
    time, mark, audio, video {
      margin: 0;
      padding: 0;
      border: 0;
      font: inherit;
      font-size: 100%;
      vertical-align: baseline;
    }
    
    /* line 22, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    html {
      line-height: 1;
    }
    
    /* line 24, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    ol, ul {
      list-style: none;
    }
    
    /* line 26, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    table {
      border-collapse: collapse;
      border-spacing: 0;
    }
    
    /* line 28, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    caption, th, td {
      text-align: left;
      font-weight: normal;
      vertical-align: middle;
    }
    
    /* line 30, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    q, blockquote {
      quotes: none;
    }
    /* line 103, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    q:before, q:after, blockquote:before, blockquote:after {
      content: "";
      content: none;
    }
    
    /* line 32, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    a img {
      border: none;
    }
    
    /* line 116, D:/programs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
    article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
      display: block;
    }
    
    /* line 3, ../sass/test.scss */
    .test {
      color: #333;
    }
    View Code

      知道如何引入模块和变量之后,就需要考虑哪些模块需要引入。

      compass主要有7大模块,分别是Browser Support、CSS3、Helpers、Layout、Reset、Typography和Utilities。

      引入:

    @import "compass";  // 引入除了reset和layout之外的所有模块,layout模块用的少,就不引入了,reset模块需要用normalize插件替换

      安装normalize:

    gem install compass-normalize

      config.rb增加下面一行代码:

    require 'compass-normalize' 

      修改_base.sacc文件:

    @import "compass";
    @import "normalize";

      此外还要通过Browser Support模块设置浏览器的兼容性。

      利用sacc的debug可以在命令行中显示一些我们想看到的信息,比如,查看支持哪些浏览器,在sacc文件中输入:

    @debug browsers();

      就可以在命令行窗口中看到支持的浏览器列表,默认是所有的浏览器:

      但是一般不需要支持这么多浏览器,所以需要配置supported-browsers变量,比如,只支持chrome、ff和ie:

    $supported-browsers: chrome,firefox,ie;

      一个浏览器会有很多版本,所以需要配置browser-minimum-versions指定浏览器支持的最低版本,比如指定chrome支持到39,ff支持到34,ie支持到10:

    $browser-minimum-versions: ("chrome": "39", "firefox": "34", "ie": "10");

      所以最后我们的_base.sacc长这样:

    //browser support
    $supported-browsers: chrome,firefox,ie;
    $browser-minimum-versions: ("chrome": "39", "firefox": "34", "ie": "10",);
    
    @import "compass";
    @import "normalize";

      然后就可以在其他所有的sacc文件中引入该文件了,并且不需要担心浏览器兼容性。

      3、sass+compass

      比如使用CSS3模块的border-top-right-radius:

      比如使用Typography模块的link-colors:

      接下来就是熟悉好compass各大模块都有什么具体功能。满足不了的话可以自行添加插件或自己写mixins。

  • 相关阅读:
    Eclipse中移除native层编译支持
    从Nginx源代码谈大写和小写字符转化的最高效代码以及ASCII码表的科学
    设计模式入门之原型模式Prototype
    Java 实现原型(Prototype)模式
    Eclipse
    图片3d轮放查看效果(V2.0):使用鼠标拖动实现图片的轮放
    Objective-C之成魔之路【0-序章】
    VC中常见API函数使用方法(经验版)
    zedboard中OLED源码
    Linux(C/C++)下的文件操作open、fopen与freopen
  • 原文地址:https://www.cnblogs.com/lovelyun/p/5786050.html
Copyright © 2020-2023  润新知