- 更新日: 2020年1月23日
- HTML & CSS
SassとSCSSを変換するsass-convertコマンドとウェブサービス
CSS での Sass 記法と SCSS 記法では記法が異なるので、移行する場合にはコンバート(変換)が必要となる。記法を相互に変換するために、ウェブサービスを使う方法と、sass-convert コマンドを使う方法を試してみまして、どちらも上手くいきました。
— 環境 —
Sass 3.4.18
Mac OS X Yosemite
Sass と SCSS の記法の違い
Sass と SCSS の記法には具体的には以下のような違いがあります。
— Sass —
拡張子が .sass
インデントでブロックを表す
行末の ;(セミコロン)が不要
:(コロン)の後に半角スペースが必要
ミックスインは = で表現
インクルードは + で表現
— SCSS —
拡張子が .scss
{} でブロックを表す
行末に ;(セミコロン)が必要
:(コロン)の後の半角スペースが不要
ミックスインは @mixin で表現
インクルードは @include で表現
記法はかなり似ていますので、少ない行数の変換なら手作業で修正でも良いかもです。が、行数やファイル数が多ければ、変換ツールを使ったほうが楽かと。
ちなみに個人的には、Rails プロジェクトの場合 scss & erb の組み合わせのほうが好みです。sass & slim/haml だとインデントのおかげで行数は少なくできるのだけど、ぱっと見てどこからどこまでが一塊のブロックかを把握しづらい感じがしまして…。
さてと、では本題の Sass と SCSS の記法を相互に変換する方法。
WEBサービスを使って変換
使ったウェブサービスは以下。
Sass to SCSS converter
コピペするだけで相互に変換してくれるので、超お手軽です。
※ Sass to SCSS converter はサービスが終了したようでリンクを外しました。
sass-convert コマンドで変換
知らなかったのだけど、Sass をインストールすると sass-convert コマンドが使えるようになるそうです。sass の gem をインストールした時に同時にインストールされたのか、rbenv 環境ですけど sass-convert コマンドが入ってました。
1 2 3 4 |
$ which sass-convert /Users/user_name/.rbenv/shims/sass-convert |
sass-convert コマンドがない場合は…
1 2 3 4 |
$ gem install sass $ rbenv rehash # rbenv 環境でないなら不要 |
とかすれば多分入るかと思います。
Sass 記法で書かれた source.sass を SCSS 記法に変換するには、以下のようにする。
1 2 3 |
$ sass-convert source.sass target.scss |
これで SCSS 記法に変換された target.scss というファイルが作成されます。拡張子で判断されるっぽくて賢い。
逆に SCSS 記法で書かれた source.scss を Sass 記法に変換するには以下。
1 2 3 |
$ sass-convert source.scss target.sass |
これで Sass 記法に変換された target.sass というファイルが作成されます。簡単で助かりますね。
- – 参考リンク –
- 爆捗! WordPressテーマ作成ショートカット(3):CSSコーディングで泣かないためのSassの基礎知識と10の利点 (1/3) – @IT
- erbからSlimに、SCSS記法からSass記法に移行した理由 | nanapi TechBlog
- VimでSassのコードを変換したり整形したり – アインシュタインの電話番号
- HTML & CSS の関連記事
- 画像がはみ出るのを防ぐCSSスタイルシート指定(モバイル・スマホ対応)
- CSSをBEM/MindBEMdingの命名規則で書いてみる
- Twitter Bootstrapのデザインと挙動を気軽にテストできるBootplyが超絶便利!
- CSSでスクロールバーをデザイン(WebKitブラウザ)
- はてなブックマーク人気記事ブログパーツのデザイン変更
- Twitter Bootstrapで端末サイズ毎にHTML要素の表示・非表示を切り替え
- Bootstrap3をInternet Explorer8(IE8)に対応させる
- Twitter Bootstrap のカスタマイズをライブラリ本体に手を入れずに行う
- Sass の @extend で存在しないセレクタを指定する
- Rails + bootstrap-sass で submit ボタンに class, id を割り当てずに css を指定
- 初回公開日: 2015年10月1日
Leave Your Message!