SlideShare a Scribd company logo
1 of 25
Download to read offline
まだやれる CSS Preprocesser
HTML5ビギナーズ 2015-08-27
自己紹介
TwitterID: @Sakunyo
代々木のWeb制作会社にてフロントエンド兼マークアップエンジ
ニアしています。
主に JavaScript / CSS(SASS) / NodeJS / Git / PHP とか書き
ます。
好きなエディタは Vim と PhpStorm
Post CSS 流行ってますね。
CSS Preprocesser 入れたのは良いけど
なぜか皆つらそうじゃないですか?
旬じゃないのか CSS Preprocesser を
使った Tips の記事みかけませんよね
導入して問題解決したの?
導入しただけで上手く使われていない?
CSS Preprocesser 便利だけど
うまく使えていない...
なぜか CSS Preprocesser 使ってるのに
業務効率変わらない!!
CSS Preprocesser あるある
● ファイル構成どうすればいいの...?
● 自動化だけで満足しちゃった
● ソースコードの中にエベレストが沢山ある...
● 結局便利なCSSだよね
● CSSのガイドラインはあるけど...
● 機能沢山あって覚えられない
● Compass 便利だけどなんか違う
まだ CSS Preprocesser で消耗してるの?
CSS の気持ちになって考えて!
迷わずファイル分割する
ファイルの中身は 5 〜 300行くらいで
css
│ components
│ └ components.scss
│ └ components.form.scss
└ lib
└ require.scss
└ mixins.scss
その機能が必要か考える
Variable (変数) は使うかどうかを見極める
変数はどんどん増えます
名前の管理も増えるたびに大変になる
@color: #FFFFFF;
$color: #FFFFFF;
extend (継承)は使うかどうかを見極める
継承は優先度が複雑になる。大きなCSSほど使い
づらい。もはや難読化レベル
.foo {}
.foo-bar {
@extend .foo;
...
}
共通部品は迷わず mixin 使う
迷ったら mixin にする
mixin を普段使いする。コンポーネントと思ったら
共通のCSSを書くよりも安全
.foo (@) { … mixin … }
#header {
.foo; }
mixin に RWD の Breakpoint を集約
@mixin applyDeviceWidth1280 {
@media screen and (max-width: 1280px) {
@content; }}
.foo {
@include applyDeviceWidth1280 {
li { … } } }
mixin に スプライト画像 を集約
@mixin SpritesIconBasic {
background: url(/img/sprites/icon_basic.png);
background-size: 500px auto;
}
.foo i { @include SpritesIconBasic;
… }
mixin で名前空間を整理する 1 / 2
mixin は一箇所ですべて定義する
// mixins.component.foo.scss
@mixin ComponentFoo { … }
// mixins.component.bar.scss
@mixin ComponentBar { … }
mixin で名前空間を整理する 2 / 2
mixin を使う時は必ず include してから
// pages.home.list.scss
.home_list { @include ComponentFoo; }
// pages.sitemap.list.scss
.sitemap_list { @include ComponentBar; }
などなど...
まとめ
● ファイルはこまかく分割し Import
● 変数、継承はルールを決めて利用を制限
● 迷ったら mixin を使う
● mixin の特性を活かす
Post CSS?
まだ早い CSS Preprocesser だけで
出来る事は多いハズ...
ご静聴ありがとうございました

More Related Content

What's hot

Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Horiguchi Seito
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScripthideaki honda
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2Y Watanabe
 
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようa-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようSeiko Kuchida
 
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」Seiko Kuchida
 
a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」Seiko Kuchida
 
WordBench大阪18th
WordBench大阪18thWordBench大阪18th
WordBench大阪18thGo Imai
 
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディングDreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディングMori Kazue
 
コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意Mori Kazue
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選Horiguchi Seito
 
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎schoowebcampus
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in OkazakiEtsushi Ishii
 
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作Maboroshi.inc
 
2014.07.29 管理画面チラ見せ♡ナイト
2014.07.29 管理画面チラ見せ♡ナイト2014.07.29 管理画面チラ見せ♡ナイト
2014.07.29 管理画面チラ見せ♡ナイトpandeiro245
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点Horiguchi Seito
 
a-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすa-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすSeiko Kuchida
 
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介優也 田島
 

What's hot (20)

JQuery入門
JQuery入門JQuery入門
JQuery入門
 
Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScript
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
 
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようa-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
 
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
 
a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」
 
WordBench大阪18th
WordBench大阪18thWordBench大阪18th
WordBench大阪18th
 
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディングDreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
 
コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
 
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(基本編 使い方と便利な機能) 先生:池田 祐太郎
 
Java script
Java scriptJava script
Java script
 
Scrummaster Lt
Scrummaster LtScrummaster Lt
Scrummaster Lt
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
 
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
 
2014.07.29 管理画面チラ見せ♡ナイト
2014.07.29 管理画面チラ見せ♡ナイト2014.07.29 管理画面チラ見せ♡ナイト
2014.07.29 管理画面チラ見せ♡ナイト
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
 
a-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすa-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなす
 
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
 

Similar to まだやれる Css preprocesser

_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_Kelly Holonic
 
WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?tokumotonahoko
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Yasuhito Yabe
 
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎schoowebcampus
 
141115 making web site
141115 making web site141115 making web site
141115 making web siteHimi Sato
 
090801 ライトニングトーク
090801 ライトニングトーク090801 ライトニングトーク
090801 ライトニングトーク雄一郎 安倍
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)Horiguchi Seito
 
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015知己 久保
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかたHiroshi Urabe
 
第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」
第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」
第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」Mitsuo Kawashima
 
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechCSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechlyca chigyo
 
12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッションKei Nakazawa
 
ビジュアルエディタ用CSSで 快適なブログライフを!
ビジュアルエディタ用CSSで 快適なブログライフを!ビジュアルエディタ用CSSで 快適なブログライフを!
ビジュアルエディタ用CSSで 快適なブログライフを!Yuma Tahara
 
ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライドSawada Makoto
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsSeiko Kuchida
 
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ー
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ーWebデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ー
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ーKite Koga
 
TwentyTwelveの子テーマつくったらハマった話
TwentyTwelveの子テーマつくったらハマった話TwentyTwelveの子テーマつくったらハマった話
TwentyTwelveの子テーマつくったらハマった話Cherry Pie Web
 
WordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールから
WordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールからWordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールから
WordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールからKitani Kimiya
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様株式会社GreenHack
 

Similar to まだやれる Css preprocesser (20)

_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_
 
WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
スマホ最適化のためのデザイン・コーディング実習 先生:池田 祐太郎
 
141115 making web site
141115 making web site141115 making web site
141115 making web site
 
090801 ライトニングトーク
090801 ライトニングトーク090801 ライトニングトーク
090801 ライトニングトーク
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた
 
第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」
第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」
第9回HTML5ビギナーズ CSSとCSS設計について学ぼう!「reset.cssとnormalize.cssについて考えていたら…」
 
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTechCSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
CSS拡張メタ言語 Sass が何者かを紹介する | SakanaTech
 
12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション
 
ビジュアルエディタ用CSSで 快適なブログライフを!
ビジュアルエディタ用CSSで 快適なブログライフを!ビジュアルエディタ用CSSで 快適なブログライフを!
ビジュアルエディタ用CSSで 快適なブログライフを!
 
CSSシークレットはどのような書籍か【映像あり】
CSSシークレットはどのような書籍か【映像あり】CSSシークレットはどのような書籍か【映像あり】
CSSシークレットはどのような書籍か【映像あり】
 
ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライド
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cms
 
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ー
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ーWebデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ー
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級・導入編 ー
 
TwentyTwelveの子テーマつくったらハマった話
TwentyTwelveの子テーマつくったらハマった話TwentyTwelveの子テーマつくったらハマった話
TwentyTwelveの子テーマつくったらハマった話
 
WordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールから
WordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールからWordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールから
WordCamp Kansai 2016 ハンズオン- -基本機能をおさらいしよう! WordPress のインストールから
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様
 

まだやれる Css preprocesser