2013.01.11 AC.tech Toshiaki Sasaki(Web designer at All Connect, Inc.)
First sass
Sass
こわくないよ
Agenda
- Sass?
- 記法
- 導入について
- まとめ
Sass ?
Sass is CSS Preprocessor

- CSSを拡張するメタ言語
“
    メタ言語とは、ある言語について何らかの記述をするための言語である。
    それだけでは具体的な利用に関する目的をもっておらず、特定のルールを加える
    ことで具体的な応用として利用可能となる。  -Wikipedia



- CSSを普通に書くよりも効率良く
    書くことができる
First sass
CSSの文法 だけを拡張する
   http://hail2u.net/documents/sass-and-sassy-css.html
Why CSS Preprocessor?

- 効率的なCSSコーディング
- 表示速度向上のアプローチ
How to Coding
Nesting                  Nesting
                入れ子でCSSを書ける



• Sample & Demo
          style.scss                   style.css

 #main {                      #main {
   margin: 0;                   margin: 0;
   padding: 0;                  padding: 0;
   .block {                   }
     background: #ccc;
     color: #f00;             #main .block {
     font-size: 12px;           background: #ccc;
   }                            color: #f00;
 }                              font-size: 12px;
                              }
Valiables               Nesting
                  変数を使うことができる



• Sample & Demo
          style.scss                   style.css

 $margin-top: 40px;           .sectionA {
 $fontsize12: 12px;             margin-top: 40px;
                              }
 .sectionA {
   margin-top: $margin-top;   .sectionB {
 }                              margin-top: 40px;
 .sectionB {                    font-size: 12px;
   margin-top: $margin-top;   }
   font-size: $fontsize12;
 }
mixin                      Nesting
           includeできる(セットを変数化するイメージ)



• Sample & Demo
          style.scss                     style.css

 @mixin sprite {                .sprite-link {
   display: block;                display: block;
   text-indent: -9999px;          text-indent: -9999px;
 }                                width: 300px;
                                  height: 100px;
 .sprite-link {                   background: #eee;
   @include sprite;             }
   width: 300px;
   height: 100px;
   background: #eee;
 }
mixin                      Nesting
            includeできる(セットを変数化するイメージ)



• Sample & Demo
           style.scss                         style.css

 @mixin radius($value) {            .sprite-link {
   -webkit-border-radius: $value;    -webkit-border-radius: 8px;
   -moz-border-radius: $value;        -moz-border-radius: 8px;
   border-radius: $value;             border-radius: 8px;
 }                                    background: #eee;
                                    }
 .sprite-link {
   @include radius(8px);
   background: #eee;
 }
extend                 Nesting
             セレクタの継承(再利用)



• Sample & Demo
          style.scss                style.css

 .box {                     .box, .sectionA {
   margin: 0;                 margin: 0;
   padding: 0;                padding: 0;
   background: #eee;          background: #eee;
 }                          }

 .sectionA{
   @extend .box;
 }
Other       演算できる         Nesting
• Sample & Demo
          style.scss                    style.css

 #main {                       #main {
   width: 940px - 40px;          width: 900px;
   margin: 0;                    margin: 0;
   padding: 0 20px;              padding: 0 20px;
 }                             }
Coding is fun, again.

Nesting            Valiables            mixin




          extend               others
@import          ファイルの結合       Nesting
                                style.scss

 @import "common";
 @import "reset";



複数の scss ファイルを読み込み、1つの css ファイルとして書き出す




  _common.scss   _reset.scss    style.scss   style.css
@import          ファイルの結合       Nesting
                                style.scss

 @import "common";
 @import "reset";



読み込ませる scss ファイルには、css ファイルとして書き出させない
ためアンダーバーをつける(ex. _common.scss、_reset.scss




  _common.scss   _reset.scss    style.scss   style.css
compressed            圧縮Nesting
• Sample & compressed --watch sass:css
  $ sass --style Demo



                           style.scss

  #main {margin: 0;padding: 0;} #main .block {background:
  #ccc;color: #f00;font-size: 12px;}.sprite-link {display:
  block;text-indent: -9999px;width: 300px;height:
  100px;background: #eee;}



改行やスペースを削除して1行ですべてを書き出す
good performance, good UX


     @import   compressed
Install
環境用意しないと使えないよ
   ┐(́ `)┌ヤレヤレ
Install

- Ruby
- Sass
Install

- Ruby   ← Mac OS だと最初から入ってる




- Sass
fo
                              rW
                                in
                                  do
                                     w
                                       s




http://rubyinstaller.org/
http://sass-lang.com/
$ gem install sass
Install

- Ruby
- Sass
- Compass   ← New!
http://compass-style.org/
$ gem update --system
$ gem install compass
OK!Next!
Compile
.scss        .css

css ファイルを作るためには scss ファイルをコンパイルする
$ cd project_dir   ← プロジェクトのフォルダへ移動



$ sass --watch scss:css    ← 監視コマンド




sass フォルダ内の .scss ファイルを編集すると
css フォルダへ編集した内容を反映させた css ファイルができる
めんどくさい (´・ω・`)
$ cd project_dir   ← プロジェクトのフォルダへ移動



$ compass w    ← 監視コマンド




sass フォルダ内の .scss ファイルを編集すると
css フォルダへ編集した内容を反映させた css ファイルができる
うん、めんどくさい (´・ω・`)
そもそも黒い画面が... (´・ω:;.:...
まぁまぁ、そんなこと言わずに...
fo
                                       rW
                                         in
batch file          Nesting                 do
                                              w
                                                s


• Samplewatch
  compass & Demo



上記を書いて「compass_start.bat」という名前で保存。
sass フォルダと同じ階層に置いておく。
scss ファイルを編集する前に、compass_start.bat ファイルを
ダブルクリックすることで、自動的に監視が始まる。
コマンドプロンプトを起動して、監視コマンドを自分で入力しなくてもよ
くなるので楽だね :)
config.rb                  Nesting
• Sample=& Demo
  http_path "/"
 css_dir = "css"
 sass_dir = "sass"
 images_dir = "image"
 javascripts_dir = "js"

 output_style = :compressed
 relative_assets = true
 line_comments = false



設定用の config.rb も同じ階層に置いておく
http://incident57.com/codekit/
http://mhs.github.com/scout-app/
最初から言え
( ‘д‘⊂彡☆))Д´) パーン
コマンドに慣れておくと、なにかと良いかもね
for Non Sasser
- 別の css ファイル作って読み込む
<link rel=”stylesheet” href=”css/style.css” />
<link rel=”stylesheet” href=”css/newcontents.css” />
まとめ
- Sass で効率的かつ、表示速度向上を
意識したコーディングをしよう

- 大丈夫、すぐ慣れる :)
まずは Nesting とか、すぐできること

から始めよう
Enjoy coding!
Thank you.
 Toshiaki Sasaki
  @shirokuro331
Resources                        Nesting
Sassを覚えよう
http://css-happylife.com/archives/sass/
• Sample & Demo
SassをWindowsにインストールする
http://taiju.hatenablog.com/entry/20110607/1307413721

Sassられ指南
http://www.slideshare.net/taiju/sass-8218412

Compassを使ってSassのCSS出力を手軽にしよう
http://www.skyward-design.net/blog/archives/000118.html

Sass徹底解説∼SassがもたらすCSSのパラダイムシフト
http://cssnite.jp/afterdark/cpi/vol01/


Photo Credit
Luc Viatour
http://www.lucnix.be/main.php

More Related Content

PDF
WebデザイナーのためのSass/Compass入門 先生:石本 光司
PDF
Sass 超入門
PDF
ネストを覚えた人のためのSassの便利な使い方
PDF
Sass/Compass講習会
PDF
今日から使える! Sass/compass ゆるめ勉強会
PDF
Sassをはじめからていねいに<概要−基礎編>
PDF
Sassを使った共同作業について
ZIP
実践Sass 前編
WebデザイナーのためのSass/Compass入門 先生:石本 光司
Sass 超入門
ネストを覚えた人のためのSassの便利な使い方
Sass/Compass講習会
今日から使える! Sass/compass ゆるめ勉強会
Sassをはじめからていねいに<概要−基礎編>
Sassを使った共同作業について
実践Sass 前編

What's hot (20)

PDF
やさしいSassり方
PDF
Sass/Compass よくあるトラブルと 解決方法・回避方法
PDF
Sassをはじめよう!
ZIP
実践Sass 後編
PDF
Css preprocessorの始めかた
PPTX
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
PPTX
第10回勉強会 CSS設計について
PPTX
Sass紹介
PDF
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
PPTX
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
PPTX
SMACSS入門
PDF
CSS設計のお勉強
PDF
⑰jQueryをおぼえよう!その3
PPTX
css基本。
PPTX
LESSについて
PDF
CSS3 Design Recipe
PDF
About Sass
PDF
大阪Node学園八時限目 「コーディングのためのless - 基礎編 -」
PDF
今必要なCSSアーキテクチャ
PDF
大規模サイトにおける本当は怖いCSSの話
やさしいSassり方
Sass/Compass よくあるトラブルと 解決方法・回避方法
Sassをはじめよう!
実践Sass 後編
Css preprocessorの始めかた
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
第10回勉強会 CSS設計について
Sass紹介
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
SMACSS入門
CSS設計のお勉強
⑰jQueryをおぼえよう!その3
css基本。
LESSについて
CSS3 Design Recipe
About Sass
大阪Node学園八時限目 「コーディングのためのless - 基礎編 -」
今必要なCSSアーキテクチャ
大規模サイトにおける本当は怖いCSSの話
Ad

Similar to First sass (20)

PDF
WebデザイナーのためのSass/Compass入門
PDF
Sass(SCSS)について
KEY
compassで簡単! CSS3を手軽に利用する
PDF
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
PDF
Sass introduction (jscafe 10)
PDF
Css拡張言語のコトハジメ
PDF
マークアップ講座 02 CSS
PDF
Sass
PDF
CSS3の最新事情
PDF
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
PDF
Sassを導入したはなし
PDF
Sassを使ってみよう
PDF
SCSS + COMPASS 入門
PDF
HTML/CSSを効率的にする メタ言語とツールのアレコレ
PDF
「LESS」ことはじめ
PDF
Css
PDF
メディア芸術基礎 Ⅰ 第4回:CSS入門 情報の形を視覚化する
PDF
FoundationのSassを使いはじめた人と使いたいと考えている人へ
PDF
情報編集(Web) 第5回:CSS入門 情報の形を視覚化する
PDF
Sass/Compassの導入と環境構築
WebデザイナーのためのSass/Compass入門
Sass(SCSS)について
compassで簡単! CSS3を手軽に利用する
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
Sass introduction (jscafe 10)
Css拡張言語のコトハジメ
マークアップ講座 02 CSS
Sass
CSS3の最新事情
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
Sassを導入したはなし
Sassを使ってみよう
SCSS + COMPASS 入門
HTML/CSSを効率的にする メタ言語とツールのアレコレ
「LESS」ことはじめ
Css
メディア芸術基礎 Ⅰ 第4回:CSS入門 情報の形を視覚化する
FoundationのSassを使いはじめた人と使いたいと考えている人へ
情報編集(Web) 第5回:CSS入門 情報の形を視覚化する
Sass/Compassの導入と環境構築
Ad

More from Toshiaki Sasaki (8)

PDF
ぼくがやってるぷろじぇくとまねじめんと
PDF
Performance up Web Design
PDF
Tips of Design
PDF
ルビー( ´∀`)人(´∀` )ルビー
PDF
Webデザインのセオリーを学ぼう
KEY
Hello Google+
PDF
デザイナー視点のWordPress WordCrub Fukui 2011.1.29
PDF
Progressionのススメ
ぼくがやってるぷろじぇくとまねじめんと
Performance up Web Design
Tips of Design
ルビー( ´∀`)人(´∀` )ルビー
Webデザインのセオリーを学ぼう
Hello Google+
デザイナー視点のWordPress WordCrub Fukui 2011.1.29
Progressionのススメ

First sass

  • 1. 2013.01.11 AC.tech Toshiaki Sasaki(Web designer at All Connect, Inc.)
  • 4. Agenda - Sass? - 記法 - 導入について - まとめ
  • 6. Sass is CSS Preprocessor - CSSを拡張するメタ言語 “ メタ言語とは、ある言語について何らかの記述をするための言語である。 それだけでは具体的な利用に関する目的をもっておらず、特定のルールを加える ことで具体的な応用として利用可能となる。  -Wikipedia - CSSを普通に書くよりも効率良く 書くことができる
  • 8. CSSの文法 だけを拡張する http://hail2u.net/documents/sass-and-sassy-css.html
  • 9. Why CSS Preprocessor? - 効率的なCSSコーディング - 表示速度向上のアプローチ
  • 11. Nesting Nesting 入れ子でCSSを書ける • Sample & Demo style.scss style.css #main { #main { margin: 0; margin: 0; padding: 0; padding: 0; .block { } background: #ccc; color: #f00; #main .block { font-size: 12px; background: #ccc; } color: #f00; } font-size: 12px; }
  • 12. Valiables Nesting 変数を使うことができる • Sample & Demo style.scss style.css $margin-top: 40px; .sectionA { $fontsize12: 12px; margin-top: 40px; } .sectionA { margin-top: $margin-top; .sectionB { } margin-top: 40px; .sectionB { font-size: 12px; margin-top: $margin-top; } font-size: $fontsize12; }
  • 13. mixin Nesting includeできる(セットを変数化するイメージ) • Sample & Demo style.scss style.css @mixin sprite { .sprite-link { display: block; display: block; text-indent: -9999px; text-indent: -9999px; } width: 300px; height: 100px; .sprite-link { background: #eee; @include sprite; } width: 300px; height: 100px; background: #eee; }
  • 14. mixin Nesting includeできる(セットを変数化するイメージ) • Sample & Demo style.scss style.css @mixin radius($value) { .sprite-link { -webkit-border-radius: $value; -webkit-border-radius: 8px; -moz-border-radius: $value; -moz-border-radius: 8px; border-radius: $value; border-radius: 8px; } background: #eee; } .sprite-link { @include radius(8px); background: #eee; }
  • 15. extend Nesting セレクタの継承(再利用) • Sample & Demo style.scss style.css .box { .box, .sectionA { margin: 0; margin: 0; padding: 0; padding: 0; background: #eee; background: #eee; } } .sectionA{ @extend .box; }
  • 16. Other 演算できる Nesting • Sample & Demo style.scss style.css #main { #main { width: 940px - 40px; width: 900px; margin: 0; margin: 0; padding: 0 20px; padding: 0 20px; } }
  • 17. Coding is fun, again. Nesting Valiables mixin extend others
  • 18. @import ファイルの結合 Nesting style.scss @import "common"; @import "reset"; 複数の scss ファイルを読み込み、1つの css ファイルとして書き出す _common.scss _reset.scss style.scss style.css
  • 19. @import ファイルの結合 Nesting style.scss @import "common"; @import "reset"; 読み込ませる scss ファイルには、css ファイルとして書き出させない ためアンダーバーをつける(ex. _common.scss、_reset.scss _common.scss _reset.scss style.scss style.css
  • 20. compressed 圧縮Nesting • Sample & compressed --watch sass:css $ sass --style Demo style.scss #main {margin: 0;padding: 0;} #main .block {background: #ccc;color: #f00;font-size: 12px;}.sprite-link {display: block;text-indent: -9999px;width: 300px;height: 100px;background: #eee;} 改行やスペースを削除して1行ですべてを書き出す
  • 21. good performance, good UX @import compressed
  • 23. 環境用意しないと使えないよ ┐(́ `)┌ヤレヤレ
  • 25. Install - Ruby ← Mac OS だと最初から入ってる - Sass
  • 26. fo rW in do w s http://rubyinstaller.org/
  • 29. Install - Ruby - Sass - Compass ← New!
  • 31. $ gem update --system $ gem install compass
  • 34. .scss .css css ファイルを作るためには scss ファイルをコンパイルする
  • 35. $ cd project_dir ← プロジェクトのフォルダへ移動 $ sass --watch scss:css ← 監視コマンド sass フォルダ内の .scss ファイルを編集すると css フォルダへ編集した内容を反映させた css ファイルができる
  • 37. $ cd project_dir ← プロジェクトのフォルダへ移動 $ compass w ← 監視コマンド sass フォルダ内の .scss ファイルを編集すると css フォルダへ編集した内容を反映させた css ファイルができる
  • 41. fo rW in batch file Nesting do w s • Samplewatch compass & Demo 上記を書いて「compass_start.bat」という名前で保存。 sass フォルダと同じ階層に置いておく。 scss ファイルを編集する前に、compass_start.bat ファイルを ダブルクリックすることで、自動的に監視が始まる。 コマンドプロンプトを起動して、監視コマンドを自分で入力しなくてもよ くなるので楽だね :)
  • 42. config.rb Nesting • Sample=& Demo http_path "/" css_dir = "css" sass_dir = "sass" images_dir = "image" javascripts_dir = "js" output_style = :compressed relative_assets = true line_comments = false 設定用の config.rb も同じ階層に置いておく
  • 47. for Non Sasser - 別の css ファイル作って読み込む <link rel=”stylesheet” href=”css/style.css” /> <link rel=”stylesheet” href=”css/newcontents.css” />
  • 49. - Sass で効率的かつ、表示速度向上を 意識したコーディングをしよう - 大丈夫、すぐ慣れる :) まずは Nesting とか、すぐできること から始めよう
  • 51. Thank you. Toshiaki Sasaki @shirokuro331
  • 52. Resources Nesting Sassを覚えよう http://css-happylife.com/archives/sass/ • Sample & Demo SassをWindowsにインストールする http://taiju.hatenablog.com/entry/20110607/1307413721 Sassられ指南 http://www.slideshare.net/taiju/sass-8218412 Compassを使ってSassのCSS出力を手軽にしよう http://www.skyward-design.net/blog/archives/000118.html Sass徹底解説∼SassがもたらすCSSのパラダイムシフト http://cssnite.jp/afterdark/cpi/vol01/ Photo Credit Luc Viatour http://www.lucnix.be/main.php