SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
Sassでちょっと楽しよう
第16回 岡山Ruby, Ruby on Rails勉強会
逸見 誠(@mako_wis)
自己紹介
• 逸見 誠(へんみ まこと)
• Twitter:@mako_wis
• 株式会社クレオフーガ
• iPhoneアプリ開発担当マークアッパー(初心者)
• Jave、C#、Objective-C、Ruby
• 好きなGem:sass-rails
最近のお仕事はマークアップ
ひたすらhamlとSassの日々
案外、楽しい
なので今回のスライドには
Ruby出てきません
今日はSassの発表します
Sass使ってますか?
Sassとは?
• CSS Preprocessorの中のひとつ
• CSSの弱い部分を補うためCSSをベースに機能
を拡張したもの
• コンパイルをすることでCSSファイルに変換さ
れる
SASS?SCSS?
SASS記法とSCSS記法
• SassにはSASS記法(拡張子を.sass)と

SCSS記法(拡張子を.scss)の違いがある
• 元々の記法→SASS記法
• コーディングが簡略化
• CSSに近い記法→SCSS記法
• CSSの書き方そのままでも書ける
SASS記法
h2	
color: black	
.sub_title	
font-size: smaller	
color: #808080	
a	
font-size: smaller
SCSS記法
h2 {	
color: black;	
.sub_title {	
font-size: smaller;	
color: #808080;	
}	
!
a {	
font-size: smaller;	
}	
}
個人的にはSCSS記法推し
最悪、CSS記法でかける!
というわけで本題
Sassでちょっと楽しましょう
こんな悩みありませんか?
同じクラス名等を何回も
書かないといけない
// CSS	
p.title {	
color:#000;	
}	
!
p.title span.sub_title {	
font-size: smaller;	
color: #808080;	
}	
!
p.title .hoge {	
・・・	
}
そんな時はネスト
ネストしたスタイル
// SCSS	
p.title {	
color:#000;	
span.sub_title {	
font-size: smaller;	
color: #808080;	
}	
}	
!
// CSS	
p.title {	
color:#000;	
}	
!
p.title span.sub_title {	
font-size: smaller;	
color: #808080;	
}
まだ悩みありませんか?
同じカラーコードを
何回も書かないといけない
!
// CSS	
h1 {	
font-size: 16px;	
color: #9B111E;	
border-bottom: solid 1px #9B111E;	
}	
h2 {	
border-bottom: solid 1px #9B111E;	
}	
h3 {	
border-bottom: solid 1px #9B111E;	
}
そんな時は変数
変数
// SCSS	
$foo-font-size : 16px;	
$foo-line : 1px;	
$foo-color : #9B111E;	
$foo-border : solid $foo-line $foo-color;	
!
h1 {	
font-size: $foo-font-size;	
color: $foo-color;	
border-bottom: $foo-border;	
}	
!
h2 {	
border-bottom: $foo-border;	
}	
!
// CSS	
h1 {	
font-size: 16px;	
color: #9B111E;	
border-bottom: solid 1px #9B111E;	
}	
h2 {	
border-bottom: solid 1px #9B111E;	
}
まだありますよね?
幅の計算がめんどくさい
40px
940px
300px ? px
hoge fuga
そんな時は計算しよう
幅の計算
// SCSS	
$hogefuga-width: 940px;	
$hoge-width: 300px;	
$foge-fuga-margin:40px;	
!
.fuga {	
width: $hogefuga-width - $hoge-width - $foge-fuga-margin;	
}	
!
// CSS	
.fuga {	
width: 600px;	
}	
!
// ※細かいスタイルは省略してます。
まだまだありますよね?
同じ構成のスタイルを
何回も書かないといけない
!
// CSS	
div.hoge {	
-moz-border-radius: 5px;	
-webkit-border-radius: 5px;	
-ms-border-radius: 5px;	
border-radius: 5px;	
}	
div.huga {	
-moz-border-radius: 0.5em;	
-webkit-border-radius: 0.5em;	
-ms-border-radius: 0.5em;	
border-radius: 0.5em;	
}
そんな時にmixin
mixin
// SCSS	
@mixin border-radius($size:0.5em) { // デフォルト値を設定可	
-moz-border-radius: $size;	
-webkit-border-radius: $size;	
-ms-border-radius: $size;	
border-radius: $size;	
}	
!
div.hoge {	
@include border-radius(5px);	
}	
div.huga {	
@include border-radius;	
}	
!
// CSS	
div.hoge {	
-moz-border-radius: 5px;	
-webkit-border-radius: 5px;	
-ms-border-radius: 5px;	
border-radius: 5px;	
}	
div.huga {	
-moz-border-radius: 0.5em;	
-webkit-border-radius: 0.5em;	
-ms-border-radius: 0.5em;	
border-radius: 0.5em;	
}
他にもできることはあるけど
とりあえずは
使えるところから使ってみる
しんどくなったら意味ない
Sassでちょっと楽しよう
おわり

Contenu connexe

Tendances

やさしいSassり方
やさしいSassり方やさしいSassり方
やさしいSassり方祐磨 堀
 
WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方
WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方
WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方Kei Nomura
 
20160416 jaws days 2016 re cap
20160416 jaws days 2016 re cap20160416 jaws days 2016 re cap
20160416 jaws days 2016 re capShinya Yamada
 
Sassを使った共同作業について
Sassを使った共同作業についてSassを使った共同作業について
Sassを使った共同作業についてKanako Urabe
 
今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしないAkihiro Kuwano
 
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方Hidetaka Okamoto
 
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!Kiminori Yokoi
 

Tendances (8)

やさしいSassり方
やさしいSassり方やさしいSassり方
やさしいSassり方
 
WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方
WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方
WordCamp Kansai 2016 初心者向けこわくないWordPress日本語フォーラムの使い方
 
20160416 jaws days 2016 re cap
20160416 jaws days 2016 re cap20160416 jaws days 2016 re cap
20160416 jaws days 2016 re cap
 
さくらのクラウドサービス概要資料2016年8月版
さくらのクラウドサービス概要資料2016年8月版さくらのクラウドサービス概要資料2016年8月版
さくらのクラウドサービス概要資料2016年8月版
 
Sassを使った共同作業について
Sassを使った共同作業についてSassを使った共同作業について
Sassを使った共同作業について
 
今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしない
 
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
 
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
Nginx+WordPress+AWS - NginxでWordPressを構築してみよう!
 

Similaire à Sassでちょっと楽しよう

gulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについてgulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについてyo_waka
 
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Yoshinori Kobayashi
 
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechCSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechlyca chigyo
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会Beeworks
 
イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016Sou Lab
 
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介優也 田島
 
Gumi study#15 Sass構造化
Gumi study#15 Sass構造化Gumi study#15 Sass構造化
Gumi study#15 Sass構造化Haraguchi Go
 
Sassをはじめよう!
Sassをはじめよう!Sassをはじめよう!
Sassをはじめよう!Yoshiya OKI
 
C#とRubyをつなぐ
C#とRubyをつなぐC#とRubyをつなぐ
C#とRubyをつなぐ107steps
 
compassで簡単! CSS3を手軽に利用する
compassで簡単!  CSS3を手軽に利用するcompassで簡単!  CSS3を手軽に利用する
compassで簡単! CSS3を手軽に利用するKazuya Hiruma
 
LESS楽しいれす(^q^)
LESS楽しいれす(^q^) LESS楽しいれす(^q^)
LESS楽しいれす(^q^) taiju higashi
 
Sass実践編+Compass入門
Sass実践編+Compass入門Sass実践編+Compass入門
Sass実践編+Compass入門Yoshiya OKI
 
Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~Shinichi Tomita
 
Front end develop environment
Front end develop environmentFront end develop environment
Front end develop environmentRyuto Yasugi
 
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)Shinichi Tomita
 
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Yuta Shimizu
 

Similaire à Sassでちょっと楽しよう (20)

gulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについてgulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについて
 
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
 
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechCSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会
 
Sass less
Sass lessSass less
Sass less
 
イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016
 
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
 
Gumi study#15 Sass構造化
Gumi study#15 Sass構造化Gumi study#15 Sass構造化
Gumi study#15 Sass構造化
 
Sass 超入門
Sass 超入門Sass 超入門
Sass 超入門
 
Sassをはじめよう!
Sassをはじめよう!Sassをはじめよう!
Sassをはじめよう!
 
C#とRubyをつなぐ
C#とRubyをつなぐC#とRubyをつなぐ
C#とRubyをつなぐ
 
Sass Hello World
Sass Hello WorldSass Hello World
Sass Hello World
 
compassで簡単! CSS3を手軽に利用する
compassで簡単!  CSS3を手軽に利用するcompassで簡単!  CSS3を手軽に利用する
compassで簡単! CSS3を手軽に利用する
 
LESS楽しいれす(^q^)
LESS楽しいれす(^q^) LESS楽しいれす(^q^)
LESS楽しいれす(^q^)
 
Sass実践編+Compass入門
Sass実践編+Compass入門Sass実践編+Compass入門
Sass実践編+Compass入門
 
Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~Sales Force Episode VI ~ Return of Ajax Toolkit ~
Sales Force Episode VI ~ Return of Ajax Toolkit ~
 
Front end develop environment
Front end develop environmentFront end develop environment
Front end develop environment
 
Gemの話 紹介編
Gemの話 紹介編Gemの話 紹介編
Gemの話 紹介編
 
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合)
 
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
 

Plus de Makoto Henmi

若者が勉強会に参加しない問題
若者が勉強会に参加しない問題若者が勉強会に参加しない問題
若者が勉強会に参加しない問題Makoto Henmi
 
開発フローを改善した時の昔話
開発フローを改善した時の昔話開発フローを改善した時の昔話
開発フローを改善した時の昔話Makoto Henmi
 
Joinsが使えなかった話
Joinsが使えなかった話Joinsが使えなかった話
Joinsが使えなかった話Makoto Henmi
 
RailsでKnockout.js
RailsでKnockout.jsRailsでKnockout.js
RailsでKnockout.jsMakoto Henmi
 
24時間コンテストに参加した話
24時間コンテストに参加した話24時間コンテストに参加した話
24時間コンテストに参加した話Makoto Henmi
 
紙と鉛筆で設計しよう
紙と鉛筆で設計しよう紙と鉛筆で設計しよう
紙と鉛筆で設計しようMakoto Henmi
 
岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)Makoto Henmi
 

Plus de Makoto Henmi (8)

若者が勉強会に参加しない問題
若者が勉強会に参加しない問題若者が勉強会に参加しない問題
若者が勉強会に参加しない問題
 
開発フローを改善した時の昔話
開発フローを改善した時の昔話開発フローを改善した時の昔話
開発フローを改善した時の昔話
 
Joinsが使えなかった話
Joinsが使えなかった話Joinsが使えなかった話
Joinsが使えなかった話
 
RailsでKnockout.js
RailsでKnockout.jsRailsでKnockout.js
RailsでKnockout.js
 
24時間コンテストに参加した話
24時間コンテストに参加した話24時間コンテストに参加した話
24時間コンテストに参加した話
 
紙と鉛筆で設計しよう
紙と鉛筆で設計しよう紙と鉛筆で設計しよう
紙と鉛筆で設計しよう
 
岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)
 
Rhodes
RhodesRhodes
Rhodes
 

Sassでちょっと楽しよう