sassられ指南
DESCRIPTION
at 2011.06.04 UPGRADE JAPAN!!TRANSCRIPT
![Page 1: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/1.jpg)
Sassられ指南in UPGRADE JAPAN!!
2011.6.4 satby @taiju
2011年6月6日月曜日
![Page 2: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/2.jpg)
自己紹介名前: 東 大樹(Higashi Taiju)勤務先: ベースライン株式會社職種: テクニカルディレクターブログ: あと味Twitter: @taijufacebook: facebook.com/taiju.higashi
2011年6月6日月曜日
![Page 3: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/3.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 4: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/4.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 5: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/5.jpg)
• CSSの至らないところを補って、さらに便利に拡張したCSSメタ言語(since 2009)
• 主な利用者はRubyプログラマ(でした)• 2010年5月にCSS完全互換のSCSSという新シンタックスを公開
• 記法は.sassか.scssを選べる• SCSSは見た目が限りなくCSSに近い• マークアップエンジニア界隈で流行りはじめてるっぽい
Sassとは?
2011年6月6日月曜日
![Page 7: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/7.jpg)
Sassとは?$main-color: #ce4dd6;$style: solid;
#navbar { border-bottom: { color: $main-color; style: $style; }}
a { color: $main-color; &:hover { border-bottom: $style 1px; }}
2011年6月6日月曜日
![Page 8: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/8.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 9: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/9.jpg)
1. style.scssを書く2. sassコマンドでstyle.scssをstyle.cssに変換
3. style.cssをlink要素で読み込む
Sassを使った場合の制作フロー
2011年6月6日月曜日
![Page 10: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/10.jpg)
黒い画面が必要です
2011年6月6日月曜日
![Page 11: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/11.jpg)
$ sass style.scss:style.css
sassコマンド
変換前のファイル名
変換後のファイル名
2011年6月6日月曜日
![Page 12: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/12.jpg)
変換前$main-color: #ce4dd6;$style: solid;
#navbar { border-bottom: { color: $main-color; style: $style; }}
a { color: $main-color; &:hover { border-bottom: $style 1px; }}
2011年6月6日月曜日
![Page 13: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/13.jpg)
変換前#navbar { border-bottom-color: #ce4dd6; border-bottom-style: solid; }
a { color: #ce4dd6; } a:hover { border-bottom: solid 1px; }
2011年6月6日月曜日
![Page 14: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/14.jpg)
出力形式は好みによって
2011年6月6日月曜日
![Page 15: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/15.jpg)
$ sass -t compact style.scss:style.css
出力形式
$ sass -t compressed style.scss:style.css$ sass -t expanded style.scss:style.css
出力形式を選択するコマンドオプション
2011年6月6日月曜日
![Page 16: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/16.jpg)
もっと楽なおすすめなやつ
2011年6月6日月曜日
![Page 17: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/17.jpg)
更新の監視自動出力
$ sass --watch style.scss:style.css
2011年6月6日月曜日
![Page 18: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/18.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 19: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/19.jpg)
Sassるとは?
CSSにて苦痛に悩まされている人を優しくケアすること
2011年6月6日月曜日
![Page 20: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/20.jpg)
少しでもプログラミングをかじったことがある人はCSSの冗長性に我慢出来ない
2011年6月6日月曜日
![Page 21: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/21.jpg)
プログラマは怠慢
2011年6月6日月曜日
![Page 22: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/22.jpg)
プログラマ以外ももっと楽しましょう
2011年6月6日月曜日
![Page 23: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/23.jpg)
Sassられ方を指南します
2011年6月6日月曜日
![Page 24: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/24.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 25: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/25.jpg)
子孫セレクタを使ったCSSの記述パターン
#contents { ... }#contents .news { ... }#contents .news .twitter { ... }#contents .news .blog { ... }#contents .news .twitter ul { ... }...
2011年6月6日月曜日
![Page 26: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/26.jpg)
えっ、なんで同じセレクタを何度も書かなきゃいけないの?
2011年6月6日月曜日
![Page 27: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/27.jpg)
By stevendepolohttp://flic.kr/p/81Z1JA
ストレス
2011年6月6日月曜日
![Page 28: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/28.jpg)
By Zoeffhttp://flic.kr/p/9nd9y6
Sassられよう
2011年6月6日月曜日
![Page 29: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/29.jpg)
SCSSの記述パターン#contents { ... .news { ... .twitter { ... ul { ... } } .blog { ... } }}
2011年6月6日月曜日
![Page 30: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/30.jpg)
同じセレクタを何度も記述する必要はなくなりますHTML構造の変更にも強くなります
2011年6月6日月曜日
![Page 31: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/31.jpg)
SCSSの記述パターン(その他)
/* 擬似セレクタ */a { &:link { ... } &:visited { ... } &:hover { ... } &:active { ... }}
/* class */#nav ul li { &.selected { ... }}
/* プロパティ */h1 { font: { family: Verdana; size: 130%; weight: bold; }}
2011年6月6日月曜日
![Page 32: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/32.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 33: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/33.jpg)
変数を使わないCSSの記述パターン
#header { background-color: #349ac1;}・・・省略・・・#footer { background-color: #349ac1;}
2011年6月6日月曜日
![Page 34: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/34.jpg)
えっ、このカラーコード何度も使うのに毎回コピペするの?
変更したら全部置換するの?
2011年6月6日月曜日
![Page 35: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/35.jpg)
By Lara604http://flic.kr/p/4BnRVs
ストレス
2011年6月6日月曜日
![Page 36: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/36.jpg)
By Zoeffhttp://flic.kr/p/9nd9y6
Sassられよう
2011年6月6日月曜日
![Page 37: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/37.jpg)
変数を使ったSCSSの記述パターン
$base-color: #349ac1;
#header { background-color: $base-color;}・・・省略・・・#footer { background-color: $base-color;}
2011年6月6日月曜日
![Page 38: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/38.jpg)
何度も使う値は変数に代入できます任意の名前でわかりやすくできます
変更にも強くなります
2011年6月6日月曜日
![Page 39: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/39.jpg)
演算もできます
2011年6月6日月曜日
![Page 40: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/40.jpg)
変数と演算を使ったSCSSの記述パターン
$body_width: 1100px;$sidenav_width: 200px;
#contents { width: $body_width - $sidenav_width;}
$base-color: #666;#header { background-color: $base-color; .navigation { background-color: darken($base-color, 40%); }}
2011年6月6日月曜日
![Page 41: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/41.jpg)
演算を使うことで電卓が不要になります場合によっては便利な関数も使えます
2011年6月6日月曜日
![Page 42: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/42.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 43: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/43.jpg)
clearfix
#header { \zoom: 1;}#header:after { content: ‘’; display: block; clear: both; height: 0;}
#contents { \zoom: 1;}#contents:after { content: ‘’; display: block; clear: both; height: 0;}
※普通はこれがめんどいので、classを作ると思いますが...
2011年6月6日月曜日
![Page 44: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/44.jpg)
えっ、クリアランスしたい要素すべてに
こんなめんどい記述するの?
2011年6月6日月曜日
![Page 45: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/45.jpg)
By mdanyshttp://flic.kr/p/6JMMkb
ストレス
2011年6月6日月曜日
![Page 46: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/46.jpg)
By Zoeffhttp://flic.kr/p/9nd9y6
Sassられよう
2011年6月6日月曜日
![Page 47: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/47.jpg)
Mixinを使ったclearfix
@mixin clearfix { \zoom: 1; &:after { content: ‘’; display: block; clear: both; height: 0; }}
#header { @include clearfix; ...}#contents { @include clearfix; ...}
2011年6月6日月曜日
![Page 48: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/48.jpg)
プロパティの固まりを共有できます@includeすると中に展開されます最初は変数の高機能版と捉えればOK
2011年6月6日月曜日
![Page 49: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/49.jpg)
似たような機能で@extendというものもありますが気になる方は「あと味」の以下の記事を
参照ください
Sassの@extendでCSSとHTMLをシンプルにhttp://d.hatena.ne.jp/jdg/20110603/1307084785
2011年6月6日月曜日
![Page 50: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/50.jpg)
その他@mixinと変数・演算を使ったCSS Spritesの事例もあります
SassでCSS Spritesをなるべく簡単に書きたいhttp://d.hatena.ne.jp/jdg/20110521/1305980066
2011年6月6日月曜日
![Page 51: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/51.jpg)
今後しばらく今日紹介しきれなかったSassのことを
フォローアップをかねてブログに書いていく予定です
2011年6月6日月曜日
![Page 52: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/52.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 53: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/53.jpg)
CSSの@import
@import “common.css”;@import “home.css”;@import “about.css”;@import “contact.css”;@import “news.css”;
2011年6月6日月曜日
![Page 54: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/54.jpg)
えっ、httpリクエストが毎行発生するの?
気軽にファイル分けたいだけなんだけど
2011年6月6日月曜日
![Page 55: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/55.jpg)
By sahlgoodehttp://flic.kr/p/8NydEa
ストレス
2011年6月6日月曜日
![Page 56: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/56.jpg)
By Zoeffhttp://flic.kr/p/9nd9y6
Sassられよう
2011年6月6日月曜日
![Page 57: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/57.jpg)
SCSSの@import
@import “common.scss”;@import “home.scss”;@import “about.scss”;@import “contact.scss”;@import “news.scss”;
2011年6月6日月曜日
![Page 58: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/58.jpg)
見た目は拡張子以外変わりませんが動作は全然違います
2011年6月6日月曜日
![Page 59: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/59.jpg)
/* 毎行HTTPリクエストが発生 */@import “common.css”;@import “home.css”;@import “about.css”;@import “contact.css”;@import “news.css”;
/* すべて@importの記述されたscssに結合 */@import “common.scss”;@import “home.scss”;@import “about.scss”;@import “contact.scss”;@import “news.scss”;
2011年6月6日月曜日
![Page 60: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/60.jpg)
httpリクエストは1回で済みますSCSSで別ファイルとして管理できます
2011年6月6日月曜日
![Page 61: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/61.jpg)
大きめのCSSフレームワークなどを気軽にimportできます
2011年6月6日月曜日
![Page 62: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/62.jpg)
Agenda• Sassとは?• Sassを使った場合の制作フロー• Sassるとは?• Sassられ指南その1: 入れ子• Sassられ指南その2: 変数・演算• Sassられ指南その3: @mixin• Sassられ指南その4: @import• まとめ
2011年6月6日月曜日
![Page 63: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/63.jpg)
Sassを使い始めて感じたこと• 環境依存がないので、どのようなタイミングからでも導入できる
• 仕様が小さいので習得が楽• ネストのやりすぎは逆に読みにくくなることがある• 使い回しが効きやすいので、CSSを設計しようという気になる
• ついでにminifyするようになった• Sass使わせてもらえないと発狂する体質になった
2011年6月6日月曜日
![Page 64: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/64.jpg)
ぜひ、Sassられましょう
2011年6月6日月曜日
![Page 65: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/65.jpg)
きっと、CSSを使い慣れている人の方がより良い使い方が思いつくはずです
2011年6月6日月曜日
![Page 66: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/66.jpg)
Sassを使い始めて感じたこと• 環境依存がないので、どのようなタイミングからでも導入できる
• 仕様が小さいので習得が楽• ネストのやりすぎは逆に読みにくくなることがある• 使い回しが効きやすいので、CSSを設計しようという気になる
• ついでにminifyするようになった• Sass使わせてもらえないと発狂する体質になった
2011年6月6日月曜日
![Page 67: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/67.jpg)
おすすめ記事• Webデザイナーの為の「本当は怖くない」”黒い画面”http://fjord.jp/love/548.html (Part1~Part9まであります)
• Sass徹底解説~SassがもたらすCSSのパラダイムシフトhttp://cssnite.jp/afterdark/cpi/vol01/
• Sass、そしてSassy SCC(SCSS)http://hail2u.net/documents/sass-and-sassy-css.html
2011年6月6日月曜日
![Page 68: Sassられ指南](https://reader033.vdocuments.mx/reader033/viewer/2022060123/559795871a28abd6108b4816/html5/thumbnails/68.jpg)
ご清聴ありがとうございました
2011年6月6日月曜日