SASSの基本を理解するための講習会
- 前提の環境
- なぜSASSを使うのだろう?と思ったら
- SASSを使える環境構築
- SASSの構成
- スタイルを編集する方法
- コンパイルで出力される物を知る
- バッチファイルを知る
- コンパイル時にエラーが出たら原因を調べて解決するべし
なぜSASSを使うのだろう?と思ったら
SASSのメリットを実感するには書き方の理解が大切です。
SASSの書き方を勉強して下さい。
lifequest-blog.com
英語が読めるなら本家サイトへGo!です。
sass-lang.com
SASSを使える環境構築
SASSの構成
親ディレクトリ ├ css |├ *.css <------ *.sassファイルをコンパイルして出力される |└ *.css.map <------ *.sassファイルをコンパイルして出力される └ sass ├ *.scss <------ このファイルを編集する。CSSと同じような記述が可能。 └ sass.bat <------ *.scssファイルの状態を監視して保存を検知したらコンパイルしてくれるバッチ
スタイルを編集する方法
① *.scssの監視を開始する
② *.scssファイルを編集する
追加・変更・削除したい内容を*.scssファイルに記述して保存します。
sass.batを止めるまでsassディレクトリ配下の*.sassファイルはどれを何回更新してもOKです。
書き方は勉強して下さい。
tetra-themes.com
コンパイルで出力される物を知る
*.css.map
ソースマップファイルは、SASSだけに存在するわけではありません。
lealog.hateblo.jp
ソースマップファイルがあればブラウザで表示した時に*scssファイルのどこにスタイルが記載されているかわかります。
blog.webcreativepark.net
Gitなどで管理していた時に大人の事情でソースマップファイルはコミットはしない場合があります。
そんな場合は、.gitignoreなどに定義して誤ってコミットされることを防ぎます。
*.scssc
キャッシュファイルもソースマップファイル同様にコミットはしない場合があります。
そんな場合は、やはり.gitignoreなどに定義して誤ってコミットされることを防ぎます。
コンパイル時にエラーが出たら原因を調べて解決するべし
Invalid UTF-8 character {Unicodeのバイト}
原因 : *.scssファイルの文字コードが「UTF-8」以外で日本語が記載されています。
対応 : ファイルの文字コードを「UTF-8」にして下さい。
Invalid CSS after "...style-type none": expected "{", was ";")
原因 : スタイル定義の書き方が誤っている(このエラーの場合「list-style-type: none;」の「:」がない)
対応 : 対象となっている行の書き方を修正して下さい。
EISDIR: Is a directory @ io_fread - sass
原因 : 監視ではなくコンパイルをするのにディレクトリを指定している
対応 : コンパイルであればファイル、監視であればファイルまたはディレクトリを指定する
$ sass sass:css <-------- 「--watch」オプションがないのでコンパイル Errno::EISDIR: Is a directory @ io_fread - sass Use --trace for backtrace. $ sass sass/style.scss:css/style.css <--------- コンパイルはファイルを指定する
Error: Undefined variable: "${定義されていない変数}".
原因 : 定義されていない変数が使われている
対応 : どの変数を記載しようとしているのか、定義してから使用しているのか見直して下さい。
$ sass sass/style.scss:css/style.css Error: Undefined variable: "$widthpx". on line 11 of sass/style.scss, in `width' from line 41 of sass/style.scss Use --trace for backtrace. $ cat sass/style.scss <--------- 修正前 <省略> @mixin width($width) { width: $widthpx; <-------------- width: 10px;的なノリで記載したが「$widthpx」という変数になった。 } <省略> $ cat sass/style.scss <--------- 修正後 <省略> @mixin width($width) { width: $width + px; } <省略> $ sass sass/style.scss:css/style.css <------ エラーなくコンパイル完了
その他
原因 : 調べる
調査方法① メッセージをよく読む
調査方法② トレースしてみる
$ cd {親ディレクトリ} $ sass --trace sass:css