Top Banner
CSS拡張言語 Sassの基本と機能について Minoru Hayakawa 12112日金曜日
66

About Sass

May 14, 2015

Download

Documents

Minoru Hayakawa

Slide for 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: About Sass

CSS拡張言語Sassの基本と機能について

Minoru Hayakawa

12年11月2日金曜日

Page 2: About Sass

アジェンダ• CSS拡張言語のメリットとデメリット• CSS拡張言語の種類• Sass,LESS,Stylusについて• Sassのインストール•開発にするにあたって• Sassの機能•まとめ

12年11月2日金曜日

Page 3: About Sass

CSS拡張言語を使うメリット

• メンテナンス性の向上- 冗長な記述の排除、再利用性のあるコードが書ける

• 開発効率向上- mixin,extend,関数,変数,ネスト

12年11月2日金曜日

Page 4: About Sass

• 独自記法の学習コスト• IE9のセレクタ数制限により陥りやすい(4095セレクタが制限)

• クライアント側でCSS修正がはいる場合は双方の確認が必要

CSS拡張言語を使うデメリット(注意点)

12年11月2日金曜日

Page 5: About Sass

CSS拡張言語の種類

Sass LESS Stylus

Ruby

RubyインストールSassインストール

JavaScript

JSライブラリ(クライアントサイド)LESSインストール(サーバーサイド)

Node.js

NodeインストールStylusインストール

12年11月2日金曜日

Page 6: About Sass

Why Sass?

12年11月2日金曜日

Page 7: About Sass

LESS• クライアントサイドかサーバーサイド- クライアントサイド- パフォーマンス的にどうなの?- JavaScript無効環境では使えない- サーバーサイド- LESSがインストールできるか確認する必要がある

12年11月2日金曜日

Page 8: About Sass

Stylus

ようわからん (`・ω・´)キリッ

SassとLESSと構文が異なるので、学習コストが高い(多分)

12年11月2日金曜日

Page 9: About Sass

Sass

• ローカルの開発環境だけでコンパイル可能

• Scss記法で学習コスト低減• Compass(Sassフレームワーク)

12年11月2日金曜日

Page 10: About Sass

Sass記法

Scss記法12年11月2日金曜日

Page 11: About Sass

SassとScssの記述例(変数)

Sass(.sass) Scss(.scss)

$color: #000000;

#header width: 100%; background: $color;

$color: #000000;

#header { width: 100%; background: $color; }

12年11月2日金曜日

Page 12: About Sass

SassとScssの記述例(ネスト)

Sass Scss

table border-space: 0; th text-align: left;

table { border-space: 0; th { text-align: left; } }

12年11月2日金曜日

Page 13: About Sass

なぜScss記法か

• Sass記法よりも可読性が良い• CSSの記述をそのままSassにできる• 段階的にSassの知識を伸ばしていける

12年11月2日金曜日

Page 14: About Sass

Sassのインストール

12年11月2日金曜日

Page 15: About Sass

• Rubyをインストール(Windowsのみ)• Sassのインストール- sudo gem install sass

12年11月2日金曜日

Page 16: About Sass

開発にあたって

12年11月2日金曜日

Page 17: About Sass

CSS

_symbol.scss

base.scss

style.scss

変数やmixinを定義

基本となるスタイル定義

基本となるスタイル定義

12年11月2日金曜日

Page 18: About Sass

_symbol.scssを用意する理由

• 変数やmixinの管理をしやすくするため• 変数などはscssの上部に記述する必要があるため、参照する度にファイル内で上下に行ったり来たりを避けるため

12年11月2日金曜日

Page 19: About Sass

_symbol.scssの読み込み

CSS

_symbol.scss

base.scss

style.scss

12年11月2日金曜日

Page 20: About Sass

•@importで読み込む

_symbol.scssの読み込み

12年11月2日金曜日

Page 21: About Sass

ScssからCSSにコンパイル

12年11月2日金曜日

Page 22: About Sass

開発ディレクトリに移動

cd /Applications/MAMP/htdocs/sass/css例:

12年11月2日金曜日

Page 23: About Sass

sass --watch style.scss:style.css

※ scssを更新する度に自動でcssファイルをアップデートしてくれるので、再度このコマンドを打つ必要はない

ストップするときは、control+C

12年11月2日金曜日

Page 24: About Sass

Sassの機能

12年11月2日金曜日

Page 25: About Sass

ネスト子孫セレクタを使う場合に用いる

12年11月2日金曜日

Page 26: About Sass

12年11月2日金曜日

Page 27: About Sass

scss

12年11月2日金曜日

Page 28: About Sass

css

12年11月2日金曜日

Page 29: About Sass

&キーワード

12年11月2日金曜日

Page 30: About Sass

12年11月2日金曜日

Page 31: About Sass

•親セレクタの参照&キーワード

12年11月2日金曜日

Page 32: About Sass

• CSSプロパティのネスト記法もある

おまけ

12年11月2日金曜日

Page 33: About Sass

変数

12年11月2日金曜日

Page 34: About Sass

_symbol.scss

style.scss

12年11月2日金曜日

Page 35: About Sass

Mixinプロパティやセレクタの再利用を可能とする機能

12年11月2日金曜日

Page 36: About Sass

_symbol.scss

style.scss

@mixinで定義

@includeで指定

12年11月2日金曜日

Page 37: About Sass

_symbol.scss

style.scss

引数を与える

使う場面で引数に値を指定

style.css

12年11月2日金曜日

Page 38: About Sass

clearfix

_symbol.scss

style.scss

12年11月2日金曜日

Page 39: About Sass

style.css

clearfix

12年11月2日金曜日

Page 40: About Sass

ベンダープレフィックス

12年11月2日金曜日

Page 41: About Sass

style.scss

style.css

12年11月2日金曜日

Page 42: About Sass

Extendあるスタイルを定義したセレクタを継承させる機能

12年11月2日金曜日

Page 43: About Sass

style.scss

style.css

@extendを用いる

12年11月2日金曜日

Page 44: About Sass

Extendの注意点

12年11月2日金曜日

Page 45: About Sass

12年11月2日金曜日

Page 46: About Sass

セレクタまで継承されるので、意図しないスタイルがあてられる可能性がある

12年11月2日金曜日

Page 47: About Sass

プレースホルダーセレクタSass3.2より追加された機能

12年11月2日金曜日

Page 48: About Sass

%で指定。CSSには表示されない

12年11月2日金曜日

Page 49: About Sass

style.scss

12年11月2日金曜日

Page 50: About Sass

12年11月2日金曜日

Page 51: About Sass

Extendをまとめると

12年11月2日金曜日

Page 52: About Sass

• @extendを用いる場合、セレクタのルールを決める

- プレースホルダーセレクタを用いる- 但し、mixinと差別化をどう図るかが必要

12年11月2日金曜日

Page 53: About Sass

関数

12年11月2日金曜日

Page 54: About Sass

• percentage()style.scss

style.css

数値(px)を%に変換

12年11月2日金曜日

Page 55: About Sass

• floor() 小数点を切り捨て

style.scss

style.css

関連:round(),ceil()

12年11月2日金曜日

Page 56: About Sass

• abs() --- 絶対値を取得• quote() --- クォートする• unquote() --- クォートを取り除く• red(), green(), blue() --- RGB形式から値を抜き出す

• alpha(),opacity() --- 透明度を取得• hue(),saturation(),lightness() --- HSL形式から値を抜き出す

12年11月2日金曜日

Page 57: About Sass

• rgb() --- RGB形式に変換• hsl() --- HSL形式に変換• rgba() --- RGBA形式に変換• hsla() --- HSLA形式をRGBA形式に変換• transparentize() --- より透明• opacify() --- より不透明にする• darken() --- 輝度を下げる

12年11月2日金曜日

Page 58: About Sass

• desaturate() --- 輝度を上げる• grayscale() --- グレースケールにする• complement() --- 補色にする• invert() --- 反転色にする• mix() --- 2色の中間色を取得する• type-of() --- 値の型を取得• unit() --- 値の単位を取得

more......

12年11月2日金曜日

Page 59: About Sass

@importでCSSファイルを一つにする

最後に..........

12年11月2日金曜日

Page 60: About Sass

reset.css

base.css

font.css

CSSの@importルールはパフォーマンスの意味合いで最近は使われない、またパフォーマンスの件でも複数のCSSを指定しない傾向にある

style.css

12年11月2日金曜日

Page 61: About Sass

reset.scss

base.scss

font.scss

style.scss

Sassの@importで複数のscssをひとつのCSSとしてコンパイルさせる。複数で開発する場合は、非常に有効。

12年11月2日金曜日

Page 62: About Sass

style.scss

12年11月2日金曜日

Page 63: About Sass

style.css

12年11月2日金曜日

Page 64: About Sass

まとめ

12年11月2日金曜日

Page 65: About Sass

• Sassの場合は、Scss記法のことを指すことがほとんど

• CSSの問題を軽減し、開発効率があがる• Sassの機能をすべて理解する必要はないが・・・・

- MixinやExtendを使ってコードの再利用性を高め、メンテナンス性を上げる

- SassのフレームワークのCompassを使うことにより、より開発効率があがる

12年11月2日金曜日

Page 66: About Sass

おしまい

12年11月2日金曜日