Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SASS & Compass 101

LucienLee
November 11, 2014

SASS & Compass 101

LucienLee

November 11, 2014
Tweet

More Decks by LucienLee

Other Decks in Technology

Transcript

  1. #top-bar { height: 92px; overflow: auto; } #top-bar h1{ width:

    124px; height: 92px; background: url(../images/logo.png) center center no-repeat; color: transparent; font: 0/0 a; text-shadow: none; float: left; } #top-bar ul{ margin: 53px 0 0 45px; float: left; list-style: none; }
  2. .seriousError { border: 3px #f00; background-color: #fdd; } .inputError {

    border: 1px #f00; background-color: #fdd; } .seriousError, .inputError { border-color: #f00; background-color: #fdd; } .seriousError { border-width: 3px; } .inputError { border-width: 1px; } 可能會忘記 .inputError 的樣式 在前⾯面曾經設定過
  3. .shadows { -moz-box-shadow: 0px 4px 5px #666666, 2px 6px 10px

    #999999; -webkit-box-shadow: 0px 4px 5px #666666, 2px 6px 10px #999999; box-shadow: 0px 4px 5px #666666, 2px 6px 10px #999999; } .shadows-invert { -moz-box-shadow: 0px -4px 5px #666666, 2px -6px 10px #999999; -webkit-box-shadow: 0px -4px 5px #666666, 2px -6px 10px #999999; box-shadow: 0px -4px 5px #666666, 2px -6px 10px #999999; }
  4. Variables (變數) $header-height: 40px; .header{ position: fixed; top: 0; left:

    0; width: 100% height: $header-height; } .contents{ padding-top: $header-height; }
  5. Nesting #top-bar { height: 92px; overflow: auto; h1{ width: 124px;

    height: 92px; background: url(../images/logo.png); color: transparent; font: 0/0 a; text-shadow: none; float: left; } ul{ margin: 53px 0 0 45px; float: left; list-style: none; } } #top-bar { height: 92px; overflow: auto; } #top-bar h1{ width: 124px; height: 92px; background: url(../images/logo.png); color: transparent; font: 0/0 a; text-shadow: none; float: left; } #top-bar ul{ margin: 53px 0 0 45px; float: left; list-style: none; }
  6. @extend .seriousError, .inputError { border-color: #f00; background-color: #fdd; } .seriousError

    { border-width: 3px; } .inputError { border-width: 1px; } %error { border-color: #f00; background-color: #fdd; } .seriousError { @extend %error; border-width: 3px; } .inputError { @extend %error; border-width: 1px; }
  7. @include @mixin box-shadow($shadows...) { -moz-box-shadow: $shadows; -webkit-box-shadow: $shadows; box-shadow: $shadows;

    } .shadows { @include box-shadow(0px 4px 5px #666, 2px 6px 10px #999); } .shadows-invert { @include box-shadow(0px -4px 5px #666, 2px -6px 10px #999); }
  8. html 檔 css 檔 引⽤用 <link  href=”......”> 很難寫 scss 檔

    好寫 好讀 ⼩小結 轉換成 (編譯 / compile) 需 ruby 和⼀一些套件 Prepros 可以搞定這些!
  9. html 檔 css 檔 引⽤用 <link  href=”......”> 很難寫 scss 檔

    好寫 好讀 架構 轉換成 (編譯 / compile) compass 函式庫 @import  compass/...... 引⽤用
  10. CSS3 @import "compass"; .box { @include border-radius(8px); @include box-shadow( rgba(#ccc,

    0.5) 3px 3px 5px ); } .box { -webkit-border-radius: 8px; -moz-border-radius: 8px; -ms-border-radius: 8px; -o-border-radius: 8px; border-radius: 8px; -webkit-box-shadow: rgba(204, 204, 204, 0.5) 3px 3px 5px; -moz-box-shadow: rgba(204, 204, 204, 0.5) 3px 3px 5px; box-shadow: rgba(204, 204, 204, 0.5) 3px 3px 5px; } css3_3.scss
  11. clearfix @import "compass"; section { @include clearfix; } .evil {

    @include pie-clearfix; } section { overflow: hidden; *zoom: 1; } .evil { *zoom: 1; } .evil:after { content: ""; display: table; clear: both; } css3_1.scss
  12. image-url 與路徑設定 http_path = "/" css_dir = "css" sass_dir =

    "sass" images_dir = "images" javascripts_dir = "javascripts" fonts_dir = "fonts" config.rb 勾選過後 要移除專案 重新新增專案
  13. 安裝套件 Windows:「開始」>「提⽰示命令字元」 Mac: Spotlight (右上⾓角放⼤大鏡) > 終端機 打「gem install compass

    bootstrap-sass」 安裝 compass, bootstrap-sass。
 SASS 會被⼀一併安裝。 Mac 指令前⾯面要加上 sudo
  14. ⽤用 bootstrap-sass 開專案 打開「Start command prompt with ruby」 compass  create

     專案名  -­‐r  bootstrap-­‐sass  -­‐-­‐using  bootstrap   產⽣生 _variables.scss、styles.scss 
 以及基本的⺫⽬目錄結構   ⽂文件 https://github.com/twbs/bootstrap-sass 註:Homework 3 已經做過此步驟囉! 不 ⽤用做
  15. 附錄:Prepros 設定們 Sass Options > Use Compass 使⽤用 compass Sass

    Options > Use Compass + Full Compass Support 為了在 config.rb
 指定路徑和選項 Advanced Options > 
 Use Custom Ruby 使⽤用⾃自⼰己裝的 gem (如 bootstrap_sass)