Sass入門 2016.02.20 虎の穴 Vol.2 • SASS記法とSCSS記法 • CSSからSassにする • Prepros導入&コンパイル • エディタでSassを認識させる(Syntax Highlight) • 主な機能(ネスト、変数、etc…) • インポートとパーシャル • プロジェクトで利用するために(運用の話) 本日は導入メインで SASS記法とSCSS記法 SASS記法 body color: red 拡張子 .sass インデント式 SCSS記法 body { color: red; } 拡張子 .scss CSSと同じ CSS to SCSS style.css style.scss コンパイルしてみる 今回はPrepros https://prepros.io/ 定期的に出ます 1 - compile フォルダごとドラッグ Compass チェック外す ファイルを選択&Process File エディターに認識させる body { color: red; } body { color: red; } Syntax Highlight Sublime Textの方は Package Install で ”SCSS” http://book.scss.jp/about/c7/editor/ Sassの基本機能 • ネスト • &(アンパサンド) • 変数 • 演算 • Mixins ネスト SCSS ul.nav { padding-left: 10px; li { margin-bottom: 10px; } } CSS ul.nav { padding-left: 10px; } ul.nav li { margin-bottom: 10px; } &(アンパサンド) SCSS .hoge { &.box1 { width: 10px; } &.box2 { width: 20px; } &.box3 { width: 30px; } } CSS .hoge.box1 { width: 10px; } .hoge.box2 { width: 20px; } .hoge.box3 { 変数 SCSS $bg-color: red; $width: 100px; .hoge { background: $bg-color; width: $width; } CSS .hoge { background: red; width: 100px; } 演算 SCSS .hoge { width: 100 + 100px; } CSS .hoge { width: 200px; } Mixins SCSS @mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; } .radius { @include border-radius(10px); } CSS .radius { -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; } @ImportとPartials SCSS SCSS SCSS SCSS CSS @import "hoge.scss"; @import "fuga"; sassのファイルなら拡張子がなくてもOK SassでCSSを@importすると SCSS @import "reset.css"; CSS @import url(reset.css); CSSの@importが書かれる(中身は展開されない) Partials style.scss style.css - @import hoge.scss hoge.css 不要 - @import fuga.scss fuga.css 不要 通常、@importした.scssファイルもコンパイルされてしまう hoge.scss _hoge.scss ファイル名の頭にアンダースコア( _ )を入れる style.scss - @import _hoge.scss - @import _fuga.scss style.css Partial化されたファイルはコンパイルされなくなる プロジェクトで利用するために 上書き問題と対策 上書き問題 SCSS CSS Frontend 上書き問題 Backend SCSS CSS Designer Frontend Director 上書き問題 Backend SCSS CSS Designer Frontend Director 上書き問題 1. 別CSSファイル 2. 圧縮 他にいい方法があれば教えてください 上書き問題 <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/temp.css"> 直接編集が可能なCSS(temp.css)を用意する 上書き問題 body { color: red; } .hoge { width: 100px; } .fuga { body{color:red;}.hoge{widt h:100px;}.fuga{margin: 10px;}... さらに圧縮して、編集しようとする者を門前払い OUTPUT STYLE を Compressed にすると圧縮 参考になるリンク • サンプルソース | Web制作者のためのSassの教科書 - 公式サポートサイト http://book.scss.jp/code/ • Sassオレオレリファレンス http://tenderfeel.github.io/SassReference/ Preprosについて • ほんとに無料?なくらい高機能なGUIコンパイラーPrepros【Win・Mac】 | Sou-Lablog http://blog.sou-lab.com/prepros/ なんでPrepros?(当日の質問) →無料で高機能でWin, Mac対応 他のコンパイラーについて • Koala (Win, Mac) ※無料 http://koala-app.com/ • Codekit (Macのみ) ※有料 https://incident57.com/codekit/ Koalaのエラーについて • Koala(Compass)がエラーを吐くので旧バージョンのCompassに入れ替えてみた http://blog.bagooon.com/?p=609 • SASSでCOMPASSのWINDOWS -31Jエラーが出たときの対応(RUBY 2.0向けかも) http://sssssn.com/archives/28 • 自動コンパイルツール「koala」の日本語コメントアウトについて http://blackpigtail.com/261 日本語関係でエラーを吐くケースがあるので今回は不使用 Media Queriesの書き方など • Responsive Web Design in Sass: Using media queries in Sass 3.2 http://thesassway.com/intermediate/responsive-web-design-insass-using-media-queries-in-sass-32 • 現場で役立つ実践Sass(2)セレクタをもっと便利に書く | Adobe Creative Station https://blogs.adobe.com/creativestation/web-practical-sass-02selector-nesting フレームワークのファイルの分割例 • Bootstrap https://github.com/twbs/bootstrap-sass/tree/master/assets/ stylesheets/bootstrap • Foundation https://github.com/zurb/foundation-sites/tree/develop/scss • Gumby(最近更新されていない。2年前に社内にSassを導入した際にこれを参考にした) https://github.com/GumbyFramework/Gumby/tree/master/sass THANK YOU
© Copyright 2024 Paperzz