Enviar pesquisa
Carregar
ネストを覚えた人のためのSassの便利な使い方
•
84 gostaram
•
14,084 visualizações
Hiroki Shibata
Seguir
Sassに少し慣れた人のためのSassの便利な使い方の解説。
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 96
Baixar agora
Baixar para ler offline
Recomendados
First sass
First sass
Toshiaki Sasaki
WebデザイナーのためのSass/Compass入門 先生:石本 光司
WebデザイナーのためのSass/Compass入門 先生:石本 光司
schoowebcampus
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
Yuji Nojima
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>
Horiguchi Seito
Sass/Compass講習会
Sass/Compass講習会
Beeworks
Sass 超入門
Sass 超入門
Michinari Odajima
Sassを使った共同作業について
Sassを使った共同作業について
Kanako Urabe
実践Sass 前編
実践Sass 前編
Azusa Tomita
Recomendados
First sass
First sass
Toshiaki Sasaki
WebデザイナーのためのSass/Compass入門 先生:石本 光司
WebデザイナーのためのSass/Compass入門 先生:石本 光司
schoowebcampus
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
Yuji Nojima
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>
Horiguchi Seito
Sass/Compass講習会
Sass/Compass講習会
Beeworks
Sass 超入門
Sass 超入門
Michinari Odajima
Sassを使った共同作業について
Sassを使った共同作業について
Kanako Urabe
実践Sass 前編
実践Sass 前編
Azusa Tomita
やさしいSassり方
やさしいSassり方
祐磨 堀
実践Sass 後編
実践Sass 後編
kosei27
Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法
Maboroshi.inc
Css preprocessorの始めかた
Css preprocessorの始めかた
Hiroki Shibata
Sassをはじめよう!
Sassをはじめよう!
Yoshiya OKI
CSS3 Design Recipe
CSS3 Design Recipe
Kazunari Hara
Sass(SCSS)について
Sass(SCSS)について
Kazufumi Miyamoto
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Yoshinori Kobayashi
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
Nishida Kansuke
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
Naoki Matsuda
Sass introduction (jscafe 10)
Sass introduction (jscafe 10)
Ryuma Tsukano
Sass紹介
Sass紹介
Daisuke Hirayama
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
regret raym
マークアップ講座 02 CSS
マークアップ講座 02 CSS
eiji sekiya
Less - first step
Less - first step
Kohki Nakashima
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
lyca chigyo
大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話
井上 誠
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
Mayu Kimura
HTML入門
HTML入門
sayoko miura
Sass
Sass
Su Ga
React で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考える
Yutaro Miyazaki
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
Nishida Kansuke
Mais conteúdo relacionado
Mais procurados
やさしいSassり方
やさしいSassり方
祐磨 堀
実践Sass 後編
実践Sass 後編
kosei27
Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法
Maboroshi.inc
Css preprocessorの始めかた
Css preprocessorの始めかた
Hiroki Shibata
Sassをはじめよう!
Sassをはじめよう!
Yoshiya OKI
CSS3 Design Recipe
CSS3 Design Recipe
Kazunari Hara
Sass(SCSS)について
Sass(SCSS)について
Kazufumi Miyamoto
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Yoshinori Kobayashi
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
Nishida Kansuke
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
Naoki Matsuda
Sass introduction (jscafe 10)
Sass introduction (jscafe 10)
Ryuma Tsukano
Sass紹介
Sass紹介
Daisuke Hirayama
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
regret raym
マークアップ講座 02 CSS
マークアップ講座 02 CSS
eiji sekiya
Less - first step
Less - first step
Kohki Nakashima
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
lyca chigyo
大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話
井上 誠
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
Mayu Kimura
HTML入門
HTML入門
sayoko miura
Mais procurados
(19)
やさしいSassり方
やさしいSassり方
実践Sass 後編
実践Sass 後編
Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法
Css preprocessorの始めかた
Css preprocessorの始めかた
Sassをはじめよう!
Sassをはじめよう!
CSS3 Design Recipe
CSS3 Design Recipe
Sass(SCSS)について
Sass(SCSS)について
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
マークアップエンジニア だからうれしい Fireworksの使い方あれこれ
Sass introduction (jscafe 10)
Sass introduction (jscafe 10)
Sass紹介
Sass紹介
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
マークアップ講座 02 CSS
マークアップ講座 02 CSS
Less - first step
Less - first step
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
HTML入門
HTML入門
Semelhante a ネストを覚えた人のためのSassの便利な使い方
Sass
Sass
Su Ga
React で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考える
Yutaro Miyazaki
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
Nishida Kansuke
CSS勉強会
CSS勉強会
Chisa Youzaka
compassで簡単! CSS3を手軽に利用する
compassで簡単! CSS3を手軽に利用する
Kazuya Hiruma
ロールオーバーのいろいろなやり方
ロールオーバーのいろいろなやり方
silvers ofsilvers
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
Hiroaki Wakamatsu
CSS Design and Programming
CSS Design and Programming
Taku AMANO
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Toru Yamaguchi
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
Chieko Aihara
WordBenchTokyo-20111126
WordBenchTokyo-20111126
webourgeon
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
Hayato Mizuno
今さら始めるCoffeeScript
今さら始めるCoffeeScript
Ashitaba YOSHIOKA
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ
知己 久保
SVG MANIAX Ver.2 - Mars vanilla
SVG MANIAX Ver.2 - Mars vanilla
Naoki Matsuda
Dart のコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について
Dart のコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について
Kosuke Saigusa
What's Sketch.app
What's Sketch.app
littlebustersreply
⽇本語全⽂検索
⽇本語全⽂検索
kmiyako
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
Preferred Networks
Semelhante a ネストを覚えた人のためのSassの便利な使い方
(20)
Sass
Sass
React で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考える
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
CSS勉強会
CSS勉強会
compassで簡単! CSS3を手軽に利用する
compassで簡単! CSS3を手軽に利用する
ロールオーバーのいろいろなやり方
ロールオーバーのいろいろなやり方
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
CSS Design and Programming
CSS Design and Programming
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
WordBenchTokyo-20111126
WordBenchTokyo-20111126
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
今さら始めるCoffeeScript
今さら始めるCoffeeScript
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ
SVG MANIAX Ver.2 - Mars vanilla
SVG MANIAX Ver.2 - Mars vanilla
Dart のコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について
Dart のコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について
What's Sketch.app
What's Sketch.app
⽇本語全⽂検索
⽇本語全⽂検索
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
ネストを覚えた人のためのSassの便利な使い方
1.
ネストを覚えた人のための Sassの 便利な使い方
kennymatic (CC BY 2.0)
2.
Try!
Try! flickrized (CC BY 2.0) Try!
3.
Variable
CSS Sprite Nesting + Mixin Vendor Prefix Extend
4.
ネストを覚えた人のための Sassの 便利な使い方
kennymatic (CC BY 2.0)
5.
同じ色を何回も 書くのが面倒
kennymatic (CC BY 2.0)
6.
7.
#AD253A
#AD253A #AD253A #AD253A
8.
body { background-color: #AD253A; } #globalHeader
{ #gNav { color: #AD253A; } } #main #featureList { a { h3 { color: #AD253A; } } }
9.
Where? コードが長いと 「あのカラーコード」が見つけにくい
mdanys (CC BY 2.0)
10.
いいえ 変数を使います
11.
$baseColor: #AD253A; 変数を代入 body
{ background-color: $baseColor; 変数を出力 } #globalHeader { #gNav { color: $baseColor; 変数を出力 } } #main #featureList { a { h3 { color: $baseColor; 変数を出力 } } }
12.
Variable
変数 数字や単位 e.g) 10, 10px, 3em カラーコード e.g) #FF0000, #FFFFFF 文字列 e.g) foo, border $の後ろに変数名で定義
13.
$radius: 5px; body { $radius
: 10px; .box { width: 100px; height: 100px; background-color: #000; border-radius: $radius; 10px ? } } .box2 { $radius: 20px; width: 100px; height: 100px; background-color: #999; border-radius: $radius; 20px ? }
14.
Note スタイルで代入した変数は外で使えない スタイルの外で代入したもの =グローバル変数 グローバル変数と名前に同じものを スタイルの中で代入すると、 グローバル変数が上書きされる
15.
ご利用は計画的に
anakawho (CC BY 2.0)
16.
ご利用は計画的に グローバル変数は1ファイルに まとめてインポート グローバル変数とローカル変数は 違いが分かりやすくなるように命名 変数に依存しすぎない
17.
この変数ってセレクタに 利用できないの?
procsilas (CC BY 2.0)
18.
$baseColor: #AD253A; body {
さっき background-color: $baseColor; } #globalHeader { #gNav { color: $baseColor; } } #main #featureList { ココに変数 a { h3 { color: $baseColor; } } }
19.
$course_synbol : "dog"; $course_img
: "../course/img"; #$course_synbol.box { background-image: url($course_img/title.png); } もしもし? どこからどこまでが変数なの?
20.
>>> Change detected
at 22:22:22 to: sample02.scss error _scss/sample02.scss (Line 7: Invalid CSS after "#": expected id name, was "$course_synbol....") overwrite css/sample02.css
21.
Interpolation #{$dog}でハッシュ+波括弧で囲う インターポレーション 変数と文字列を組み合わせるとき
22.
$course_synbol : "dog"; $course_img
: "../course/img"; ##{$course_synbol}.box { background-image: url(#{$course_img}/title.png); } もしもし? おk!おk!これならわかるわ!
23.
$course_synbol : "dog"; $course_img
: "../course/img"; ##{$course_synbol}.box { background-image: url(#{$course_img}/title.png); } #dog.box { background-image: url(../course/img/title.png); }
24.
ピクセル計算が めんどくさい
25.
計算できます
26.
+ → 加算 -
→ 減算 10 % 3 =1 * → 乗算 15 % 3 =0 / → 除算 % → 剰余算(あまり)
27.
ul { width: 960px
- 20px; SPACE margin: 0 10px; li { float: left; width: ((960px - 20px) - (20px * 2)) / 3; } }
28.
ul { width: 940px; margin:
0 10px; } ul li { float: left; width: 300px; }
29.
演算子の前後に スペースを入れないと
30.
ul { width: 960px
- 20px; margin: 0 10px; li { float: left; width: ((960px - 20px) - (20px * 2)) / 3; } }
31.
ul { width: 960px-20px; margin:
0 10px; li { float: left; width: ((960px-20px)-(20px*2))/3; } }
32.
ul { width: 960px-20px; margin:
0 10px; } ul li { float: left; width: 960px -20px-40px/3; }
33.
中途半端に計算 数式がそのまま出力
34.
変数も 計算できます
35.
ul { $column_gutter: 20px; width:
$main-width - 20px; margin: 0 10px; li { float: left; width: (($main_width - 20px)-($column_gutter * 2))/3; margin-right: $column_gutter; } }
36.
ul { width: 940px; margin:
0 10px; } ul li { float: left; width: 300px; margin-right: 20px; }
37.
指定した色に 微調整がしたい
jerine (CC BY 2.0)
38.
#AD253A
#AD253A #AD253A #AD253A
39.
#AD253A
ここだけ コントラスト 取って!
40.
本来なら グラフィックソフトでも いいのですが…©
Artsem Martysiuk - Fotolia.com
41.
$baseColor : #AD253A; body
{ background-color: $baseColor; } #gNav { a { color: darken($baseColor,20%); } }
42.
darken(color, amount) 指定した色を暗くする関数 color…カラーコードやカラーコードが 入っている変数 amount…暗くする度合い color: darken($baseColor,20%);
43.
$baseColor : #AD253A; body
{ background-color: $baseColor; } #gNav { a { color: darken($baseColor,20%); } }
44.
body { background-color: #ad253a; } #gNav
a { color: #59131e; }
45.
lighten(color, amout) 色を明るくする adjust-hue(color, degree) 色相の角度をずらす saturate(color,
amout) / desaturate(color, amout) 彩度を上げる・下げる mix(color1, color2) 色を合成する。 lightenより彩度が下がらないので便利
46.
File: SASS_REFERENCE http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html
47.
Note 目視で確認しないと、想像以上に 色が変わることがある 緑系はまぶしく感じやすい →調整が必要 モックで作り忘れてしまった 色指定におすすめ
48.
ご利用は計画的に
anakawho (CC BY 2.0)
49.
同じプロパティを 書くのがめんどい
np&djjewell (CC BY 2.0)
50.
#contents height:0
フ #sub { ッ #main { float:left; タ float:right; } ー } テ キ ス トが入ります。フッター テキストが入ります。
51.
.clearfix { *zoom: 1; } .clearfix:after
{ content:""; clear: both; display: block; }
52.
#contents
フ #sub { ッ #main { float:left; タ float:right; } ー } テ キ ス トが入ります。フッター テキストが入ります。
53.
#contents.clearfix
見た目に関する名前は #sub { #main { 入れたくない! float:left; float:right; } } フッターテキストが入ります。フッターテキストが入ります。
54.
#contents {
…(中略)… *zoom: 1; } .contents:after { content:""; clear: both; display: block; } これで完結?
55.
横並び
横並び in 横並び 横並び in 横並び
56.
横並び その都度clearfixを
横並び in 横並び 書くのは面倒 横並び in 横並び
57.
@mixin @include
58.
@mixin clearfix {
clearfixの中身を定義 *zoom: 1; &:after { content:""; clear: both; display: block; } } #contents { @include clearfix; clearfixを出力 background-color: #AC2539; // いろんなスタイル }
59.
#contents { *zoom: 1; background-color:
#AC2539; } #contents:after { @mixin clearfix { content: ""; *zoom: 1; &:after { clear: both; content:""; clear: both; display: block; display: block; } } } #contents { @include clearfix; background-color: #AC2539; // いろんなスタイル }
60.
@mixin @include 変数やCSSのプロパティと値をセットに したものを定義するために使うもの セレクタや疑似セレクタも出力 定義するとき→@mixin 名前
{}; 出力するとき→@include 名前; 引数でカスタマイズが可能(次回解説)
61.
Sass/Compassで よく使うモノが 知りたい
Walt Stoneburner (CC BY 2.0)
62.
画像系 image-width
sprite-map image-height sprite-position image-url sprite-file
63.
256px
256px panda.png .panda { width: image-width("panda.png"); /* 256px */ height: image-height("panda.png"); /* 256px */ background-image: image-url("panda.png"); /* url('../img/panda.png?1359267669') */ } Iconsmaster - http://www.iconsmaster.com/
64.
CSS系 box-sizing
transform opacity transition
65.
.box { @include box-sizing("border-box"); /* -webkit-box-sizing:
border-box; -moz-box-sizing: border-box; box-sizing: border-box; */ } .box { @include opacity(0.5); /* filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); opacity: 0.5; */ }
66.
Compassは@mixinの 塊
67.
68.
69.
70.
71.
72.
73.
74.
どうしても分からなかったら、 CSSを書けばいいじゃない
頑張りすぎないこと。
75.
似てるスタイルを スマートにしたい
TRÈS BIEN (CC BY 2.0)
76.
.clearfix { *zoom: 1; &:after
{ content:""; clear: both; display: block; } } #contents { @extend .clearfix; クラスclearfixを拡張 background-color: #AC2539; }
77.
.clearfix, #contents { *zoom:
1; } .clearfix:after, #contents:after { content: ""; clear: both; display: block; } #contents { background-color: #AC2539; }
78.
@extend extendしたセレクタを元のセレクタに つなげて記述する .clearfix, #contents 定義したセレクタの疑似セレクタや子要素も 同じようにつながる .clearfix, #contents
{ } .clearfix:after, #contents:after { }
79.
@extend 呼び出したセレクタでは、独自に定義した スタイルだけを記述する #contents { background-color: #AC2539; }
80.
81.
.box1 { float: left; width:
300px; margin: 10px 15px; padding: 15px; background-color: #EEEEEE; box-shadow: 0 1px 4px rgba(0,0,0,.3); border-radius: 4px; h1 { margin-bottom: 15px; color: $baseColor; font-size: 25px; font-weight: bold; } p { color: #444444; font-size: 13px; } }
82.
.box2 { @extend .box1; h1
{ color: #111; } } .box3 { @extend .box1; background-color: $baseColor; h1 { color: #FFF; } p { color: #FFF; } }
83.
.box1, .box2, .box3
{ …(略)… } .box1 h1, .box2 h1, .box3 h1 { margin-bottom: 15px; color: #ac2539; font-size: 25px; font-weight: bold; } .box1 p, .box2 p, .box3 p { color: #444444; font-size: 13px; } .box2 h1 { color: #111; } .box3 { background-color: #ac2539; } .box3 h1 { color: #FFF; } .box3 p { color: #FFF; }
84.
基本スタイルから 少しズレたものを 作るときに便利
85.
でも 亜種10スタイル となったら…
86.
.box1, .box2, .box3,
.box4, .box5, .box6, .box7, .box8, .box9, .box10 { float: left; width: 300px; } うわっ… …(略)… .box1 h1, .box2 h1, .box3 h1, .box4 h1, .box5 h1, .box6 h1, .box7 私のセレクタ h1, .box8 h1, .box9 h1, .box10 h1 { margin-bottom: 15px; 多すぎ…? color: #ac2539; …(略)… } .box1 p, .box2 p, .box3 p, .box4 p, .box5 p, .box6 p, .box7 p, .box8 p, .box9 p, .box10 p { color: #444444; font-size: 13px; }
87.
IE 9以下に存在するセレクター数制限にはまった http://less.carbonfairy.org/post/18072493708
88.
IE 9以下では1つのCSSファイル当たり 4,095個までしかセレクターを認識しな い。4,096個以上は無視される。
89.
ご利用は計画的に
anakawho (CC BY 2.0)
90.
@extendの使用条件の考察
深い階層で使 うとセレクタ が極端に長く 呼び出すセレクタ 先の例だと#contents なる @include →ネストの階層が浅いもの したら 逆にコードが 定義されるセレクタ 先の例だと.clearfix 増える! →プロパティの数が多すぎるとき サイト全体でextendする回数とプロパティの数を 想定してmixinと使い分けると良さそう
91.
まとめ
92.
Sass / Compassは便利 書いたコードが CSSでどうなっているか パーツを組み上げたら確認
93.
大事なことなので
4回言いました。 ご利用は計画的に anakawho (CC BY 2.0)
94.
Thank you
kennymatic (CC BY 2.0)
95.
Sassの勉強に オススメ!
96.
Sass入門 ∼より効率的なCSSコーディング 上村光星,富田梓,對馬慶子,山田敬美 著 2012年 技術評論社 https://gihyo.jp/dp/ebook/2012/978-4-7741-5123-6
Baixar agora