Top Banner
2013.01.11 AC.tech Toshiaki Sasaki(Web designer at All Connect, Inc.)
52

First sass

Jul 03, 2015

Download

Design

Toshiaki Sasaki

2013年1月11日に行った社内勉強会用スライド。『初めてのSass』的な内容です。
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: First sass

2013.01.11 AC.tech Toshiaki Sasaki(Web designer at All Connect, Inc.)

Page 2: First sass
Page 3: First sass

Sassこわくないよ

Page 4: First sass

Agenda- Sass?-記法

-導入について

-まとめ

Page 5: First sass

Sass?

Page 6: First sass

Sass is CSS Preprocessor

- CSSを拡張するメタ言語

-CSSを普通に書くよりも効率良く書くことができる

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

Page 7: First sass
Page 8: First sass

CSSの文法だけを拡張するhttp://hail2u.net/documents/sass-and-sassy-css.html

Page 9: First sass

Why CSS Preprocessor?

-効率的なCSSコーディング

-表示速度向上のアプローチ

Page 10: First sass

How to Coding

Page 11: First sass

Nesting

• Sample & Demo

Nesting

#main { margin: 0; padding: 0; .block { background: #ccc; color: #f00; font-size: 12px; }}

#main { margin: 0; padding: 0;}

#main .block { background: #ccc; color: #f00; font-size: 12px;}

style.scss style.css

入れ子でCSSを書ける

Page 12: First sass

Nesting

• Sample & Demo

Valiables

$margin-top: 40px;$fontsize12: 12px;

.sectionA { margin-top: $margin-top;}.sectionB { margin-top: $margin-top; font-size: $fontsize12;}

.sectionA { margin-top: 40px;}

style.scss style.css

変数を使うことができる

.sectionB { margin-top: 40px; font-size: 12px;}

Page 13: First sass

Nesting

• Sample & Demo

mixin

@mixin sprite { display: block; text-indent: -9999px;}

.sprite-link { @include sprite; width: 300px; height: 100px; background: #eee;}

.sprite-link { display: block; text-indent: -9999px; width: 300px; height: 100px; background: #eee;}

style.scss style.css

includeできる(セットを変数化するイメージ)

Page 14: First sass

Nesting

• Sample & Demo

mixin

@mixin radius($value) { -webkit-border-radius: $value; -moz-border-radius: $value; border-radius: $value;}

.sprite-link { @include radius(8px); background: #eee;}

.sprite-link { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; background: #eee;}

style.scss style.css

includeできる(セットを変数化するイメージ)

Page 15: First sass

Nesting

• Sample & Demo

extend

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

.sectionA{ @extend .box;}

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

style.scss style.css

セレクタの継承(再利用)

Page 16: First sass

Nesting

• Sample & Demo

Other

#main { width: 940px - 40px; margin: 0; padding: 0 20px;}

#main { width: 900px; margin: 0; padding: 0 20px;}

style.scss style.css

演算できる

Page 17: First sass

Coding is fun, again.

Nesting Valiables mixin

extend others

Page 18: First sass

Nesting@import

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

style.scss

ファイルの結合

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

_common.scss _reset.scss style.cssstyle.scss

Page 19: First sass

Nesting@import

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

style.scss

ファイルの結合

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

_common.scss _reset.scss style.cssstyle.scss

Page 20: First sass

Nesting

• Sample & Demo

compressed

#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行ですべてを書き出す

$ sass --style compressed --watch sass:css

style.scss

Page 21: First sass

good performance, good UX

@import compressed

Page 22: First sass

Install

Page 23: First sass

環境用意しないと使えないよ ┐(́∀`)┌ヤレヤレ

Page 24: First sass

Install

- Ruby- Sass

Page 25: First sass

Install

- Ruby- Sass

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

Page 26: First sass

for Windows

http://rubyinstaller.org/

Page 27: First sass

http://sass-lang.com/

Page 28: First sass

$ gem install sass

Page 29: First sass

Install

- Compass

- Ruby- Sass

← New!

Page 30: First sass

http://compass-style.org/

Page 31: First sass

$ gem update --system

$ gem install compass

Page 32: First sass

OK!Next!

Page 33: First sass

Compile

Page 34: First sass

.scss .css

css ファイルを作るためには scss ファイルをコンパイルする

Page 35: First sass

sass フォルダ内の .scss ファイルを編集するとcss フォルダへ編集した内容を反映させた css ファイルができる

$ cd project_dir

$ sass --watch scss:css

← プロジェクトのフォルダへ移動

← 監視コマンド

Page 36: First sass

めんどくさい (´・ω・`)

Page 37: First sass

sass フォルダ内の .scss ファイルを編集するとcss フォルダへ編集した内容を反映させた css ファイルができる

$ cd project_dir

$ compass w

← プロジェクトのフォルダへ移動

← 監視コマンド

Page 38: First sass

うん、めんどくさい (´・ω・`)

Page 39: First sass

そもそも黒い画面が... (´・ω:;.:...

Page 40: First sass

まぁまぁ、そんなこと言わずに...

Page 41: First sass

Nesting

• Sample & Demo

batch file

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

compass watch

for Windows

Page 42: First sass

Nesting

• Sample & Demo

config.rb

http_path = "/"css_dir = "css"sass_dir = "sass"images_dir = "image"javascripts_dir = "js"

output_style = :compressedrelative_assets = trueline_comments = false

設定用の config.rb も同じ階層に置いておく

Page 43: First sass

http://incident57.com/codekit/

Page 44: First sass

http://mhs.github.com/scout-app/

Page 45: First sass

( ‘д‘⊂彡☆))Д´) パーン

最初から言え

Page 46: First sass

コマンドに慣れておくと、なにかと良いかもね

Page 47: First sass

for Non Sasser

-別の css ファイル作って読み込む

<link rel=”stylesheet” href=”css/style.css” />

<link rel=”stylesheet” href=”css/newcontents.css” />

Page 48: First sass

まとめ

Page 49: First sass

- Sass で効率的かつ、表示速度向上を

意識したコーディングをしよう

-大丈夫、すぐ慣れる :)

まずは Nesting とか、すぐできること

から始めよう

Page 50: First sass

Enjoy coding!

Page 51: First sass

Thank you.

Toshiaki Sasaki@shirokuro331

Page 52: First sass

Nesting

• Sample & Demo

Resources

Luc Viatourhttp://www.lucnix.be/main.php

Photo Credit

Sassを覚えようhttp://css-happylife.com/archives/sass/

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/