SlideShare una empresa de Scribd logo
Architecture for CSS 
悩まないコーディングをしよう! 
OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計
ホリグチ セイト 
自己紹介 
Front-End-Engineer 
担当している業務 
html,css,jsを用いいた中規模メディアサイト, 
Webアプリケーションの開発 
趣味 
Lang-8(先週から)、漫画(いろいろ)、 
宇宙とかSFとか 
経歴 
2001 
! 
2014 
2014 
初めてWebサイトを作る。当時最もモダンな「メモ帳」なるエディターを使い、 
また「おえかき掲示板」「キリ番システム」などのリッチコンテンツを提供した。 
デザイナーからフロントエンドエンジニアに転身。 
カルタ大会やハッカソンなど、業務外の事で活躍し始める。
アジェンダ 
はじめに 
CSS設計の3大メソッド 
OOCSS 
BEM 
SMACSS 
設計で必要な3つのこと 
設計指針 
ディレクトリ構成 
スタイルガイド 
業務で実践してみてわかった7つのこと 
まとめ
~はじめに~ 
CSS設計って何それ美味しいの?
CSS設計とは 
! 
CSSをより体系立て、より構造化させることで、 
制作とメンテナンスをより容易に行うこと 
※引用1 『SMACSS: Scalable and Modular Architecture for CSS』
CSSに強い拡張性、保守性、明瞭性を持たせることが大事 
と、言われています
というわけで、今回僕がお話しさせていただくことは3つです
たくさん知ろう 
いいとこだけ取ろう 
自分なりの設計をしてみよう
CSS設計の3大メソッド
OOCSS 
BEM 
SMACSS
OOCSS
オブジェクト指向に基づいて考案された設計手法。 
米Yahoo!のNicole Sullivan氏によって考案された。 
! 
OOCSSで設計されている代表的なサイト 
! 
! 
OOCSSとは
大きな特徴は以下の2つ 
要素をContainerとContentsに切り離して考える 
要素をStructureとSkinに切り離して考える
要素をContainerとContentsに切り離して考える
要素をContainerとContentsに切り離して考える 
Container
要素をContainerとContentsに切り離して考える 
.registration
要素をContainerとContentsに切り離して考える 
Contents
要素をContainerとContentsに切り離して考える 
.text 
.input 
.heading 
.btn
要素をContainerとContentsに切り離して考える
要素をContainerとContentsに切り離して考える
要素をContainerとContentsに切り離して考える 
.registration > button{ … } というような、依存したスタイルの充て方ではなく、 
.btn{ … }というように独立させてスタイルを充てると、色々なところで使い回せる
ストラクチャーとスキンを切り離そう 
(color) 
skin 
(display,text-align,…etc) 
structure 
(width,height)
structure skin
structure skin 
.btn{ 
display: 
inline-­‐block; 
border-­‐radius: 
5px; 
text-­‐align: 
center; 
} 
.btn-­‐green{ 
background: 
green; 
} 
.btn-­‐black{ 
background: 
black; 
} 
.btn-­‐pink{ 
background: 
pink; 
} 
.btn-­‐blue{ 
background: 
blue; 
}
structure skin 
.btn{ 
display: 
inline-­‐block; 
border-­‐radius: 
5px; 
text-­‐align: 
center; 
} 
.btn-­‐large{ 
width: 
300px; 
height: 
50px; 
} 
.btn-­‐medium{ 
width: 
200px; 
height: 
40px; 
} 
.btn-­‐small{ 
width: 
100px; 
height: 
30px; 
}
structure + skin 
= 
<button 
class="btn 
btn-­‐pink 
btn-­‐medium">button</button>
structure + skin 
= 
<button 
class="btn 
btn-­‐black 
btn-­‐large">button</button>
structure + skin 
= 
<button 
class="btn 
btn-­‐green 
btn-­‐small">button</button>
BEM
html構造を明確にすることに軸を置いた設計方法。厳格な命名規則が特徴。 
ロシアのYandex社によって考案された。 
! 
BEMで設計されている代表的なサイト 
! 
! 
BEMとは
大きな特徴は以下の2つ 
要素を Block, Element, Modifierの3つに分ける 
.Block__Element_Modifierという命名ルールを用いる
Block, Element, Modifier
Block, Element, Modifier 
Block
Block, Element, Modifier 
.registration
Block, Element, Modifier 
Element
Block, Element, Modifier 
.registraion__heading 
.registraion__text 
.registraion__input 
.registraion__btn
Block, Element, Modifier 
Modifier
Block, Element, Modifier 
.registraion__btn_color_bule
MindBEMding 
BEMのエッセンスをとり入れつつ、命名ルールは 
自分たちでカスタマイズするのもあり 
CSS Wizardly 
Harry Roberts氏 
http://csswizardry.com/2013/01/mindbemding-getting-your-head 
-round-bem-syntax/
SMACSS
SMACSSとは 
OOCSS,BEMの流れを汲みつつ、著者の経験や理論も交えてドキュメントに落とし 
込まれたスタイルガイド(コーディングルール)。 
Jonathan Snook氏によって考案された。
大きな特徴 
要素をBase,Layout,Module,State,Theme 
の5つに分ける
Base 
Layout 
Module 
State 
Theme
Base 
Layout 
Module 
State 
Theme 
! 
reset.css 
helper.css 
…etc
Base 
Layout 
Module 
State 
Theme
Base 
Layout 
Module 
State 
Theme
Base 
Layout 
Module 
State 
Theme 
.tab .is-current
Base 
Layout 
Module 
State 
Theme
その他にもいろいろ 
マルチクラス推奨 
ざっくりした命名規則 
Sassでの実装方法 
などなど
設計で必要な3つのこと
設計指針 
ディレクトリ構成 
スタイルガイド
設計指針
設計指針 
コーディングを行う際に守るべき約束事。 
方針。 
コーディング中に迷いが生じたら、これを 
元に判断・解決する
設計指針 例 
SMACSSの場合 
HTMLとコンテントのセマンティックな価値を向上すること 
特定のHTML構造への依存を低減すること 
※引用1 『SMACSS: Scalable and Modular Architecture for CSS 日 
本語』
設計指針 例 
KOJI ISHIMOTO氏の場合 
絶対にCSSを増やしたくない 
class名で悩みたくない 
完璧じゃなくてもいい 
石本 光司 
@t32k 
Front-end-engineer 
サイバーエージェント所属 
JS Girl ファウンダー 
※引用2 KOJI ISHIMOTO『ぼくのかんがえたさいきょうのしーえしゅえしゅ』
ディレクトリ構成
ディレクトリ構成例(SMACSSベース) 
html scss js image
ディレクトリ構成例(SMACSSベース) 
html scss js image
ディレクトリ構成例(SMACSSベース) 
normlize.scss 
helper.scss 
header.scss 
footer.scss 
main.scss 
side.scss 
button.scss 
heading.scss 
table.scss 
form.scss 
scss 
mixin.scss 
…etc 
setting.scss 
common.scss 
base 
layout 
module
ディレクトリ構成例(SMACSSベース) 
scss 
mixin.scss 
setting.scss 
common.scss 
normlize.scss 
helper.scss 
header.scss 
footer.scss 
main.scss 
side.scss 
button.scss 
heading.scss 
table.scss 
form.scss 
…etc 
base 
layout 
module
ディレクトリ構成例(SMACSSベース) 
common.scss 
@importして1つのCSSに 
@import "normlize.scss"; 
@import “helper.scss”; 
! 
@import "header.scss"; 
@import "footer.scss"; 
@import "main.scss"; 
@import "side.scss"; 
! 
@import "button.scss"; 
@import "heading.scss"; 
@import "table.scss"; 
@import "form.scss";
ディレクトリ構成 まとめ 
カテゴライズして分けておくと管理しやすい 
SMACSSなどのスタイルガイドを参考にしよう 
(他にこんなのもあります)
スタイルガイド
スタイルガイド 
モジュールの一覧表。コンポーネント一覧と 
呼ばれることもしばしば。 
コーディングルールやカラーコードを載せる 
 となお良い。
※引用3 Twitter『 Bootstrap』
スタイルガイド 作り方 
htmlとcssでべた書きで作る 
ジェネレーター使う
スタイルガイド 参考になるもの 
CSS フレームワーク 
コーディングルール
スタイルガイド まとめ 
コンポーネントの一覧があると保守しやすく、 
コミュニケーションコストを減らせる 
ジェネレーターを使おう
業務で実践してみてわかった 
7つのこと
設計がオリジナルすぎると残業増える
設計がオリジナルすぎると残業増える 
設計者&作業者のコミュニケーションコストが増える 
既存の手法を取り入れつつ、厳しすぎないルールを設ける 
S 
命名ルールってこの場合はどう 
なるの? 
このデータはどこに入れるべき? 
これはElement ? 
それともBlockかな? 
oh…
ベストプラクティスなんてない!
ベストプラクティスなんてない! 
時と場合による 
S 
メンバー案件の内容期限
S ベストプラクティスなんてない! 
メンバー案件の内容期限 
自分なりの設計をしてみよう
言葉の意味はしっかり定義しとく
言葉の意味はしっかり定義しとく 
ContainerとContentとか、 
BlockとElementtとか、 
Moduleとか…言い方多すぎ? 
Layoutってどこの部分? 
S
BEMは案外めんどくない
S BEMは案外めんどくない 
Dashのスニペット機能が超絶楽 
PhpStormの補完機能は強力 
.block{ 
&__element{ 
background: black; 
} 
} 
Sass 3.3̃の使うと省略できる 
.block__element{ 
background: black; 
}
OOCSSとBEMは混ぜるとちょい危険
S OOCSSとBEMは混ぜるとちょい危険 
OOCSS 
シングルクラス向きマルチクラス向き 
.registration__btn_color_pink .btn .btn_pink .btn_small
S OOCSSとBEMは混ぜるとちょい危険 
OOCSS 
.Block__Element._modifier 
.registraion__btn._color_pink
セマンティックに 
こだわりすぎるのもよくない
S セマンティックにこだわりすぎるのもよくない 
.btn-blue 
.btn-pink 
.btn-green 
.btn-default 
.btn-primary 
.btn-success 
.btn-a 
.btn-b 
.btn-c 
予測しやすい予測しづらい 
変更しづらい変更しやすい
オブジェクト指向を勉強すると 
OOCSSが楽しくなる
オブジェクト指向を勉強するとOOCSSが楽しくなる 
スーパークラスとサブクラス 
複合オブジェクト など 
S 
オススメ 
ITmedia エンタープライズ『5分で絶対に分かるオブジェクト指向』 
URL : http://www.itmedia.co.jp/im/articles/0703/06/news125.html
まとめ
たくさん知ろう 
いいとこだけ取ろう 
自分なりの設計をしてみよう
S たくさん知ろう 
OOCSS
S いいとこだけ取ろう 
OOCSS
OOCSS 
S 自分なりの設計をしてみよう 
自分や周りの環境に合わせて、最適な設計をしよう
S 参考文献 
※引用1 Jonathan Snook,斉藤祐也『SMACSS: Scalable and Modular Architecture for CSS』 
https://smacss.com/ja 
※引用2 KOJI ISHIMOTO『MOL - Designing for a Mobile World!』 
http://t32k.me/mol/log/the-perfect-css-i-thought/ 
※引用3 Twitter『 Bootstrap』 
http://getbootstrap.com/ 
谷 拓樹『Web制作者のためのCSS設計の教科書 モダンWeb開発に欠かせない「修正しやすいCSS」 
の設計手法』 
http://www.impressjapan.jp/books/1113101128 
株式会社ピクセルグリッド『Code Grid』 
https://app.codegrid.net/ 
Harry Roberts『CSS Wizardly』 
http://csswizardry.com/
ご清聴ありがとうございました!

Más contenido relacionado

La actualidad más candente

ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
 
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
 
ざっくり DDD 入門!!
ざっくり DDD 入門!!ざっくり DDD 入門!!
ざっくり DDD 入門!!
Yukei Wachi
 
FiNC DDD第一回勉強会
FiNC DDD第一回勉強会FiNC DDD第一回勉強会
FiNC DDD第一回勉強会
裕紀 重村
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
 
Json
JsonJson
VimExcelのご紹介
VimExcelのご紹介VimExcelのご紹介
VimExcelのご紹介
Xls Vim
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
Thomas Kanzig
 
ドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計するドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計する
増田 亨
 
CSS3 Media Queries
CSS3 Media QueriesCSS3 Media Queries
CSS3 Media Queries
Russ Weakley
 
ブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSSブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSSTakeharu Igari
 
Json
JsonJson
Document Object Model (DOM)
Document Object Model (DOM)Document Object Model (DOM)
Document Object Model (DOM)
GOPAL BASAK
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
Aricelio Souza
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
Megha V
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
Hiroya Kabata
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
Hironori Washizaki
 
大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話
井上 誠
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Sungchul Park
 

La actualidad más candente (20)

ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
 
ざっくり DDD 入門!!
ざっくり DDD 入門!!ざっくり DDD 入門!!
ざっくり DDD 入門!!
 
FiNC DDD第一回勉強会
FiNC DDD第一回勉強会FiNC DDD第一回勉強会
FiNC DDD第一回勉強会
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
Json
JsonJson
Json
 
VimExcelのご紹介
VimExcelのご紹介VimExcelのご紹介
VimExcelのご紹介
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
ドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計するドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計する
 
CSS3 Media Queries
CSS3 Media QueriesCSS3 Media Queries
CSS3 Media Queries
 
ブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSSブラウザにやさしいHTML/CSS
ブラウザにやさしいHTML/CSS
 
Json
JsonJson
Json
 
Document Object Model (DOM)
Document Object Model (DOM)Document Object Model (DOM)
Document Object Model (DOM)
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話大規模サイトにおける本当は怖いCSSの話
大規模サイトにおける本当は怖いCSSの話
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
 

Destacado

なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
Hayato Mizuno
 
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
Yoshiki Hayama
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
Seiichiro Mishiba
 
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット
Kenya Kodaira
 
メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計
拓樹 谷
 
Thinking about CSS Architecture
Thinking about CSS ArchitectureThinking about CSS Architecture
Thinking about CSS Architecture
拓樹 谷
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
拓樹 谷
 
プログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたプログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみた
Eigoro Yamamura
 
プログラマがデザインをがんばってみた
プログラマがデザインをがんばってみたプログラマがデザインをがんばってみた
プログラマがデザインをがんばってみただいすけ ふるかわ
 
Web design
Web designWeb design
Web design
kazuko kaneuchi
 
ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座
光利 吉田
 
Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法
Katsumi Tazuke
 
デザインのためのデザイン
デザインのためのデザインデザインのためのデザイン
デザインのためのデザイン
Masayuki Uetani
 
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
Ayaka Sumida
 
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえようノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
Sasaki Kouhei
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
Toshiaki Sasaki
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論tsukasa obara
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
Mariko Yamaguchi
 

Destacado (18)

なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
 
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
 
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット
 
メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計
 
Thinking about CSS Architecture
Thinking about CSS ArchitectureThinking about CSS Architecture
Thinking about CSS Architecture
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
 
プログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたプログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみた
 
プログラマがデザインをがんばってみた
プログラマがデザインをがんばってみたプログラマがデザインをがんばってみた
プログラマがデザインをがんばってみた
 
Web design
Web designWeb design
Web design
 
ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座
 
Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法
 
デザインのためのデザイン
デザインのためのデザインデザインのためのデザイン
デザインのためのデザイン
 
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
 
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえようノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
 

Similar a 悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)

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
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様
株式会社GreenHack
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
Yasuhito Yabe
 
UAスタイルシートと リセットCSS
UAスタイルシートと リセットCSSUAスタイルシートと リセットCSS
UAスタイルシートと リセットCSS
知己 久保
 
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
Yu Ito
 
CSS3がやってきた
CSS3がやってきたCSS3がやってきた
CSS3がやってきた
kousuke inamoto
 
シラサギ勉強会1201
シラサギ勉強会1201シラサギ勉強会1201
シラサギ勉強会1201
okusakazuya
 
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
知己 久保
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
Kenjiro Kubota
 
あるマークアップエンジニアの 初期制作時のテンプレ事情
あるマークアップエンジニアの初期制作時のテンプレ事情あるマークアップエンジニアの初期制作時のテンプレ事情
あるマークアップエンジニアの 初期制作時のテンプレ事情
Shingo Iwahori
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目Takashi Endo
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成Kazuki Akiyama
 
モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法
Kenji Karahashi
 
Sass 超入門
Sass 超入門Sass 超入門
Sass 超入門
Michinari Odajima
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
Horiguchi Seito
 
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
Seiko Kuchida
 
フロンエンドトレンドについて話そう
フロンエンドトレンドについて話そうフロンエンドトレンドについて話そう
フロンエンドトレンドについて話そう
Atushi Sugiyama
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会
Beeworks
 
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
schoowebcampus
 

Similar a 悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応) (20)

Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
UAスタイルシートと リセットCSS
UAスタイルシートと リセットCSSUAスタイルシートと リセットCSS
UAスタイルシートと リセットCSS
 
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
 
CSS3がやってきた
CSS3がやってきたCSS3がやってきた
CSS3がやってきた
 
シラサギ勉強会1201
シラサギ勉強会1201シラサギ勉強会1201
シラサギ勉強会1201
 
Css
CssCss
Css
 
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
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
 
あるマークアップエンジニアの 初期制作時のテンプレ事情
あるマークアップエンジニアの初期制作時のテンプレ事情あるマークアップエンジニアの初期制作時のテンプレ事情
あるマークアップエンジニアの 初期制作時のテンプレ事情
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
 
モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法
 
Sass 超入門
Sass 超入門Sass 超入門
Sass 超入門
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
 
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
 
フロンエンドトレンドについて話そう
フロンエンドトレンドについて話そうフロンエンドトレンドについて話そう
フロンエンドトレンドについて話そう
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会
 
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
 

Más de Horiguchi Seito

Lets start-react
Lets start-reactLets start-react
Lets start-react
Horiguchi Seito
 
カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話
Horiguchi Seito
 
元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学
Horiguchi Seito
 
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>
Horiguchi Seito
 
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
Horiguchi Seito
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
Horiguchi Seito
 
Cross2015自己紹介LT資料
Cross2015自己紹介LT資料Cross2015自己紹介LT資料
Cross2015自己紹介LT資料
Horiguchi Seito
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
Horiguchi Seito
 

Más de Horiguchi Seito (8)

Lets start-react
Lets start-reactLets start-react
Lets start-react
 
カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話
 
元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学
 
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>
 
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
 
Cross2015自己紹介LT資料
Cross2015自己紹介LT資料Cross2015自己紹介LT資料
Cross2015自己紹介LT資料
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
 

Último

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 

Último (7)

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 

悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)