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

Introduction to SCSS+COMPASS

N@N
May 18, 2013

Introduction to SCSS+COMPASS

姫路IT系勉強会 Vol.17で発表した内容です.

N@N

May 18, 2013
Tweet

More Decks by N@N

Other Decks in Technology

Transcript

  1. Rubyのインストール $ sudo apt-get install libssl-dev zlib1g- dev libreadline6-dev $

    wget ftp://ftp.ruby- lang.org/pub/ruby/ruby-2.0- stable.tar.gz $ tar xfvz ruby-2.0-stable.tar.gz $ cd ruby-2.0.0-p0 $ ./configure $ make $ sudo make install
  2. インストール $ sudo gem update ––system $ sudo gem install

    sass $ sudo gem install compass WindowsでRubyのインストールができなかった のでDebianとかで考えてます[てきとう]
  3. ネスト ul { hoge li {fuga} > ul {piyo} }

    ul {hoge} ul li {fuga} ul > ul {piyo}
  4. 参照 a { hoge &:hover {fuga} &.Class {piyo} } a

    {hoge} a:hover {fuga} a.Class {piyo}
  5. 変数 $main-color: #ABCDEF; $list-font-size: 18px; $a: 1; $d: 1px black

    solid; border: $d; => border: 1px black solid;
  6. 演算 $a: 6px; $b: 7; $c: 3px; $a – 5

    => 1px $a – 5px => 1px $a – 5em => error $a / $b => 0.85714px $a / $c => 2
  7. 挿入 $a: top; border-#{$a}: 1px black solid; => border-top: 1px

    black solid; #{}でくくらないとエラー $b: 15px; $c: 3px; font-size: #{$b} / #{$c}; => Font-size: 15px / 3px; セレクタ、プロパティで使うときは#{}でくくる
  8. 引数 @mixin f($a: 10px) { width: $a; } ul {

    @include f; } li { @include f(5px); } ul { width: 10px; } li { width: 5px; }
  9. for文 @for $i from 1 through 3 { .item-#{$i} {

    width: 2em * $i; } } .item-1 { width: 2em; } .item-2 { width: 4em; } .item-3 { width: 6em; }
  10. if文 $a: red; p { @if true {hoge} @if false

    {fuga} @if null {piyo} @if $a == red {foo} } 意外とあると便利 p { hoge foo }
  11. config.rb http_path = "/" css_dir = "stylesheets" sass_dir = "sass"

    images_dir = "images" javascripts_dir = "javascripts"
  12. config.rb改変1 http_path = "/" css_dir = "css" sass_dir = "css"

    images_dir = "img" javascripts_dir = "js" という一例 まあCSSとSCSSのファイルは分けたほうが削除 するときとか楽
  13. config.rb改変2 # output_style = :expanded or ... 出力ファイルの形式 :expanded そのまま

    :nested ネストする :compact セレクタと属性を一行に :compressed 圧縮
  14. リリース用とかに? $ compass compile -e production config.rb output_style = (environment

    == :production) ? :compressed : :expanded -e productionをつければ圧縮、付けなければそ のままに
  15. border-radius .Class { @include border-radius; } #Id { @include border-radius(2px);

    } • $default-border-radius を変更すればデフォルトの 値が変更できる • 自動でベンダープレフィク スを追加 • 他はリファレンス見てね☆ .Class { -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; } #Id { -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; -ms-border-radius: 2px; border-radius: 2px; }
  16. 4. COMPASSのコマンド * = compassとする ただの$ compass --helpの日本語化 * create

    - 新規COMPASSプロジェクト * watch - .scssの監視 * clean - キャッシュ等の削除 普通に使うならこれだけで間に合う 他はhelpからの抜粋だったり内部実装を見るため だったり