SlideShare a Scribd company logo
1 of 32
Download to read offline
SCSS + COMPASS
入門
2013.5.18 @姫路IT系勉強会vol. 17
@spark6251 (N@N)
自己紹介
• N@N(@spark6251)
• N@N→NOaN→NOAN→ノアン
• 明石高専 電気情報工学科四年生
• プログラミングあんまりしてない
• たぶんWeb屋
進行中のお仕事
• 明石高専
内容
• SCSSの概要
• SCSSの文法
• SCSS + COMPASS
• COMPASSのコマンド
• まとめ
1. SCSSの概要
• CSSをHamlの文法で拡張したのがSass
• SassをCSSの文法で記述したのがSCSS
参考:Hamlの文法
!!!
%html
%head
%title Haml
%body
SCSS
• SCSSはRubyで実装されている
• 変数・関数・ループ・条件分岐が使える
• COMPASSで.scssの監視ができる
• Ruby 1.8.7以上
Rubyのインストール
$ sudo apt-get install libssl-dev zlib1g-
dev libreadline6-dev
$ wget ftp://ftp.ruby-
lang.org/pub/ruby/ruby-2.0-
stable.tar.gz
$ tar xfvz ruby-2.0-stable.tar.gz
$ cd ruby-2.0.0-p0
$ ./configure
$ make
$ sudo make install
インストール
$ sudo gem update ––system
$ sudo gem install sass
$ sudo gem install compass
インストール
$ sudo gem update ––system
$ sudo gem install sass
$ sudo gem install compass
WindowsでRubyのインストールができなかった
のでDebianとかで考えてます[てきとう]
2. SCSSの文法
SCSSつおい
ネスト
ul {
hoge
li {fuga}
> ul {piyo}
}
ul {hoge}
ul li {fuga}
ul > ul {piyo}
参照
a {
hoge
&:hover {fuga}
&.Class {piyo}
}
a {hoge}
a:hover {fuga}
a.Class {piyo}
変数
$main-color: #ABCDEF;
$list-font-size: 18px;
$a: 1;
$d: 1px black solid;
border: $d; =>
border: 1px black solid;
演算
$a: 6px;
$b: 7;
$c: 3px;
$a – 5 => 1px
$a – 5px => 1px
$a – 5em => error
$a / $b => 0.85714px
$a / $c => 2
挿入
$a: top;
border-#{$a}: 1px black solid; =>
border-top: 1px black solid;
#{}でくくらないとエラー
$b: 15px;
$c: 3px;
font-size: #{$b} / #{$c}; =>
Font-size: 15px / 3px;
セレクタ、プロパティで使うときは#{}でくくる
関数
@mixin f {hoge}
a {
@include f;
}
a {hoge}
引数
@mixin f($a: 10px) {
width: $a;
}
ul {
@include f;
}
li {
@include f(5px);
}
ul {
width: 10px;
}
li {
width: 5px;
}
for文
@for $i from 1 through 3 {
.item-#{$i} {
width: 2em * $i;
}
}
.item-1 {
width: 2em;
}
.item-2 {
width: 4em;
}
.item-3 {
width: 6em;
}
if文
$a: red;
p {
@if true {hoge}
@if false {fuga}
@if null {piyo}
@if $a == red {foo}
}
使うのかなこれ
p {
hoge
foo
}
3. SCSS + COMPASS
• COMPASSつおい
• .scssを監視して自動でコンパイルしよう
• COMPASSの機能を使おう
使い方
$ compass create
$ compass watch
compass createでCOMPASSが使えるように
compass watchで保存される度自動でcssファイ
ルを生成
設定を変えよう
自動でconfig.rbが生成される
いじって使いやすいようにしよう
config.rb
http_path = "/"
css_dir = "stylesheets"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"
config.rb改変1
http_path = "/"
css_dir = "css"
sass_dir = "css"
images_dir = "img"
javascripts_dir = "js"
という一例
まあCSSとSCSSのファイルは分けたほうが削除
するときとか楽
config.rb改変2
# output_style = :expanded or ...
出力ファイルの形式
:expanded そのまま
:nested ネストする
:compact セレクタと属性を一行に
:compressed 圧縮
config.rb改変3
# relative_assets = true
trueなら相対パス
falseなら絶対パス
config.rb改変4
# line_comments = false
falseなら
/* line n, style.scss */
というコメントが付かない
リリース用とかに?
$ compass compile -e production
config.rb
output_style =
(environment == :production)
? :compressed : :expanded
-e productionをつければ圧縮、付けなければそ
のままに
@import "COMPASS";
@import "COMPASS";
COMPASSのすべての機能が使える
公式サイトで内部実装が見れる
参考:Compass Reference
border-radius
.Class {
@include border-radius;
}
#Id {
@include border-radius(2px);
}
• $default-border-radius
を変更すればデフォルトの
値が変更できる
• 自動でベンダープレフィク
スを追加
• 他はリファレンス見てね☆
.Class {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
border-radius: 5px;
}
#Id {
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-o-border-radius: 2px;
-ms-border-radius: 2px;
border-radius: 2px;
}
4. COMPASSのコマンド
* = compassとする
ただの$ compass --helpの日本語化
* create - 新規COMPASSプロジェクト
* watch - .scssの監視
* clean - キャッシュ等の削除
普通に使うならこれだけで間に合う
他はhelpからの抜粋だったり内部実装を見るため
だったり
5. まとめ
SCSS + COMPASSで
楽しく、楽なCSS製作を!
御清聴ありがとうございました

More Related Content

What's hot

AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのことAWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと真吾 吉田
 
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装Sugawara Genki
 
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019Eiji Matsumoto
 
Stream processing using alpakka cloud pub sub connector
Stream processing using alpakka cloud pub sub connectorStream processing using alpakka cloud pub sub connector
Stream processing using alpakka cloud pub sub connectorMasaki Toyoshima
 
綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減Tomoyuki Tochihira
 
Jaws days 2015 LT 「サーバー消してみた。」
Jaws days 2015 LT 「サーバー消してみた。」Jaws days 2015 LT 「サーバー消してみた。」
Jaws days 2015 LT 「サーバー消してみた。」Tomoharu Ito
 
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴Sugawara Genki
 

What's hot (7)

AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのことAWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
AWS re:Invent レポート:AWS使いがいますぐすべき3つのこと
 
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
 
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
 
Stream processing using alpakka cloud pub sub connector
Stream processing using alpakka cloud pub sub connectorStream processing using alpakka cloud pub sub connector
Stream processing using alpakka cloud pub sub connector
 
綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減
 
Jaws days 2015 LT 「サーバー消してみた。」
Jaws days 2015 LT 「サーバー消してみた。」Jaws days 2015 LT 「サーバー消してみた。」
Jaws days 2015 LT 「サーバー消してみた。」
 
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴
 

Viewers also liked

心理学 入門
心理学 入門心理学 入門
心理学 入門NOAN
 
正規表現 入門
正規表現 入門正規表現 入門
正規表現 入門NOAN
 
HTML5 入門
HTML5 入門HTML5 入門
HTML5 入門NOAN
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Viewers also liked (6)

心理学 入門
心理学 入門心理学 入門
心理学 入門
 
PENAWARAN PEMBUATAN KUBAH MASJID
PENAWARAN PEMBUATAN KUBAH MASJIDPENAWARAN PEMBUATAN KUBAH MASJID
PENAWARAN PEMBUATAN KUBAH MASJID
 
正規表現 入門
正規表現 入門正規表現 入門
正規表現 入門
 
HTML5 入門
HTML5 入門HTML5 入門
HTML5 入門
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar to SCSS + COMPASS 入門

イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016Sou Lab
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会Beeworks
 
compassで簡単! CSS3を手軽に利用する
compassで簡単!  CSS3を手軽に利用するcompassで簡単!  CSS3を手軽に利用する
compassで簡単! CSS3を手軽に利用するKazuya Hiruma
 
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Yoshinori Kobayashi
 
gulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについてgulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについてyo_waka
 
WebデザイナーのためのSass/Compass入門 先生:石本 光司
WebデザイナーのためのSass/Compass入門 先生:石本 光司WebデザイナーのためのSass/Compass入門 先生:石本 光司
WebデザイナーのためのSass/Compass入門 先生:石本 光司schoowebcampus
 
WebデザイナーのためのSass/Compass入門
WebデザイナーのためのSass/Compass入門WebデザイナーのためのSass/Compass入門
WebデザイナーのためのSass/Compass入門Koji Ishimoto
 
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Horiguchi Seito
 
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編Toshimichi Suekane
 
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会Yuji Nojima
 
Sass/Compassの導入と環境構築
Sass/Compassの導入と環境構築Sass/Compassの導入と環境構築
Sass/Compassの導入と環境構築Sou Lab
 
Sassを使ってみよう
Sassを使ってみようSassを使ってみよう
Sassを使ってみようGIG inc.
 
Spark Streaming + Amazon Kinesis
Spark Streaming + Amazon KinesisSpark Streaming + Amazon Kinesis
Spark Streaming + Amazon KinesisYuta Imai
 
ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方Hiroki Shibata
 
Sass
SassSass
SassSu Ga
 
Css拡張言語のコトハジメ
Css拡張言語のコトハジメCss拡張言語のコトハジメ
Css拡張言語のコトハジメregret raym
 

Similar to SCSS + COMPASS 入門 (20)

イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016
 
Sass(SCSS)について
Sass(SCSS)についてSass(SCSS)について
Sass(SCSS)について
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会
 
First sass
First sassFirst sass
First sass
 
Less - first step
Less - first stepLess - first step
Less - first step
 
compassで簡単! CSS3を手軽に利用する
compassで簡単!  CSS3を手軽に利用するcompassで簡単!  CSS3を手軽に利用する
compassで簡単! CSS3を手軽に利用する
 
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
Sassについてゼロから解説 -基本の理解だけでも効率アップ-|第14回ゼロから始めるWordPress勉強会
 
gulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについてgulp-sprockets、あるいはRailsのAssetsのビルドについて
gulp-sprockets、あるいはRailsのAssetsのビルドについて
 
実践Sass 前編
実践Sass 前編実践Sass 前編
実践Sass 前編
 
WebデザイナーのためのSass/Compass入門 先生:石本 光司
WebデザイナーのためのSass/Compass入門 先生:石本 光司WebデザイナーのためのSass/Compass入門 先生:石本 光司
WebデザイナーのためのSass/Compass入門 先生:石本 光司
 
WebデザイナーのためのSass/Compass入門
WebデザイナーのためのSass/Compass入門WebデザイナーのためのSass/Compass入門
WebデザイナーのためのSass/Compass入門
 
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>
 
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 本編
 
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
 
Sass/Compassの導入と環境構築
Sass/Compassの導入と環境構築Sass/Compassの導入と環境構築
Sass/Compassの導入と環境構築
 
Sassを使ってみよう
Sassを使ってみようSassを使ってみよう
Sassを使ってみよう
 
Spark Streaming + Amazon Kinesis
Spark Streaming + Amazon KinesisSpark Streaming + Amazon Kinesis
Spark Streaming + Amazon Kinesis
 
ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方
 
Sass
SassSass
Sass
 
Css拡張言語のコトハジメ
Css拡張言語のコトハジメCss拡張言語のコトハジメ
Css拡張言語のコトハジメ
 

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

SCSS + COMPASS 入門