SlideShare a Scribd company logo
モダンなCSS設計パターンを考える

Modern CSS Architecture
Hiroki Tani

HTML5 Conference 2013
Hiroki Tani
CyberAgent, Inc.
http://frontrend.github.io/

Frontrend in Sapporo
Frontrend in Fukuoka

2013年12月7日
2013年1月
Why Architecture ?















#news h2 {
	 border-bottom: 1px solid black;
	 padding: 1em 0.5em;
	 font-size: 18px;
	 font-weight: bold;
}
#news h2 {
	 border-bottom: 1px solid black;
	 padding: 1em 0.5em;
	 font-size: 18px;
	 font-weight: bold;
}
#faq .title {
	 border-bottom: 1px solid black;
	 padding: 1em 0.5em;
	 font-size: 18px;
	 font-weight: bold;
}
#news h2 {
	 border-bottom: 1px solid black;
	 padding: 1em 0.5em;
	 font-size: 18px;
	 font-weight: bold;
}
#faq .title {
	 border-bottom: 1px solid black;
	 padding: 1em 0.5em;
	 font-size: 18px;
	 font-weight: bold;
}
#service .feature .title {
	 border: 1px solid black;
	 padding: 0.5em;
	 font-size: 16px;
}
.column_2 #inbox .list { ... }
.column_3 #inbox .list { ... }
.column_3 #inbox .list .name { ... }
.column_3 #inbox .list .name p { ...
.column_3 #inbox .list .name.reply {
.column_3 #inbox .list .name.reply a
body#top .column_3 #inbox .list.left

}
... }
{ ... }
{ ... }
!important
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
Goals of Better CSS Architecture

- Predictable
- Reusable
- Maintainable
- Scalable

予測しやすい

再利用しやすい
保守しやすい

拡張しやすい

http://enja.studiomohawk.com/2013/07/06/css-architecture/
Modular CSS
OOCSS
Nicole Sullivan

https://github.com/stubbornella/oocss/wiki
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
OOCSS
- Separate structure and skin
構造と見た目の分離

- Separate container and content
コンテナとコンテンツの分離
Media object
<div class="media">
	 <div class="media-image">
	 	 <img src="/img/seminar/15/tani.jpg">
	 </div>
	 <div class="media-body">
	 	 <p>...</p>
	 	 <ul>
	 	 	 <li><a>...</a></li>
	 	 </ul>
	 	 <p>...</p>
	 </div>
</div>
<div class="media">
	 <div class="media-image">
	 	 <img src="/img/seminar/15/tani.jpg">
	 </div>
	 <div class="media-body">
	 	 <p>...</p>
	 	 <ul>
	 	 	 <li><a>...</a></li>
	 	 </ul>
	 	 <p>...</p>
	 </div>
</div>
<div class="media">
	 <div class="media-image">
	 	 <img src="/img/seminar/15/tani.jpg">
	 </div>
	 <div class="media-body">
	 	 <p>...</p>
	 	 <ul>
	 	 	 <li><a>...</a></li>
	 	 </ul>
	 	 <p>...</p>
	 </div>
</div>
.media {
	 /* Clearfix */
}
.media-image {
	 float: left;
	 margin-right: 10px;
}
.media-image 	 img {
>
	 display: block;
}
.media-body {
	 overflow: hidden;
}
<div class="media skin-a">
	 <div class="media-image">
	 	 <img src="/img/seminar/15/tani.jpg">
	 </div>
	 <div class="media-body">
	 	 <p>...</p>
	 	 <ul>
	 	 	 <li><a>...</a></li>
	 	 </ul>
	 	 <p>...</p>
	 </div>
</div>
<div class="media skin-b">
	 <div class="media-image">
	 	 <img src="/img/seminar/15/tani.jpg">
	 </div>
	 <div class="media-body">
	 	 <p>...</p>
	 	 <ul>
	 	 	 <li><a>...</a></li>
	 	 </ul>
	 	 <p>...</p>
	 </div>
</div>
How to build modules ?
It depends.
Rule of Three
‘Refactoring’

http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)
3, 6
3, 6, 9, 12, 15 ...
3, 6, 12, 24, 48 ...
3, 6, 9
3, 6, 9, 12, 15 ...
モダンなCSS設計パターンを考える
.fontSize10 {
	 font-size: 10px
}
.colorRed {
	 color: red
}
<p class="fontSize18 colorRed">
入力内容に誤りがあります。
</p>
<p class="box radius10 fontSize18 colorRed">
入力内容に誤りがあります。
</p>
.colorRed {
	 color: red
}
.colorRed {
	 color: orange;
}

⚠
.colorRed {
	 color: orange; /* あとで直す */
}

⚠
.fontSize18 {
	 font-size: 18px
}
.fontSize18 {
	 font-size: 18px
}
@media only screen and (max-width : 320px) {
	 .fontSize18 {
	 	 font-size: 14px
	 }
}

⚠
.radius6 {
	 border-radius:
}
.radius10 {
	 border-radius:
}
.radius12 {
	 border-radius:
}
.radius14 {
	 border-radius:
}

6px;

10px;

12px;

14px;

⚠
How to maintain modules ?
SMACSS
Jonathan Snook

http://smacss.com/ja
日本語、あります

SMACSS
Jonathan Snook

http://smacss.com/ja
SMACSS
- Categorization
カテゴライズ

- Naming Convention
命名規則

- Decoupling CSS from HTML
HTMLとCSSの分離
SMACSS Categories
- Base
- Layout
- State
- Theme
- Module
/* # Base */
body, form {
margin: 0;
padding: 0;
}
a {
color: #039;
}
a:hover {
color: #03F;
}
/* # Layout */
#header {
width: 960px;
margin: auto;
}
.l-article {
border: solid #CCC;
border-width: 1px 0 0;
}
.l-grid {
margin: 0;
padding: 0;
list-style-type: none;
}
.l-grid > li {
display: inline-block;
margin: 0 0 10px 10px;
}
/* # State */
.is-hidden {
	 display: none;
}
.is-error {
	 font-weight: bold;
	 color: red;
}
.is-tab-active {
	 border-bottom-color: transparent;
}
/* # Theme */
/* ## Spring Theme CSS */
.theme-header {
	 background-image: url("/theme/spring/
header.png");
}
.theme-border {
	 1px solid pink;	
}
モダンなCSS設計パターンを考える
Message-box
http://cdpn.io/hKBkm
<div class="msg">
<p>...</p>
</div>
.msg {
display: block;
border: 1px solid #cccccc;
border-radius: 8px;
padding: 1em;
background-color: #efefef;
color: #333333;
}
モダンなCSS設計パターンを考える
<div class="msg msg-error">
<p>...</p>
</div>
.msg {
...
}
.msg-error {
border: 1px solid #c0392b;
background-color: #fe9282;
}
モダンなCSS設計パターンを考える
<div class="msg msg-success">
<p>...</p>
</div>
.msg {
...
}
.msg-success {
border: 1px solid #27ae60;
background-color: #99f3c9;
}
モダンなCSS設計パターンを考える
<div class="msg msg-error">
<h2>...</h2>
<p>...</p>
</div>
<div class="msg msg-error">
<h2>...</h2>
<p>...</p>
</div>
.msg h2 {
font-size: inherit;
font-weight: bold;
}
.msg p {
margin-top: 0.6em;
}
モダンなCSS設計パターンを考える
.msg h2 {
font-size: inherit;
font-weight: bold;
}
.msg ul,
.msg p {
margin-top: 0.6em;
}
.msg h2 {
font-size: inherit;
font-weight: bold;
}
.msg ul,
.msg p {
margin-top: 0.6em;
}

⚠
<div class="msg msg-error">
<h2 class="msg-title">
...
</h2>
<ul class="msg-body">
<li>...</li>
<li>...</li>
</ul>
</div>
.msg-title {
font-size: inherit;
font-weight: bold;
}
.msg-body {
margin-top: 0.6em;
}
<div class="msg msg-error">
<p class="msg-title">
...
</p>
<ul class="msg-body">
<li>...</li>
<li>...</li>
</ul>
</div>
モダンなCSS設計パターンを考える
<div class="msg msg-error">
<h2 class="msg-title">
<i class="msg-title-icon ico ico-label ico-alert"></i>
...
</h2>
<ul class="msg-body">
<li>...</li>
<li>...</li>
</ul>
</div>
.msg-title-icon {
vertical-align: -0.3em;
}
.ico {
display: inline-block;
}
.ico-alert {
background-image: url(...);
width: 24px;
height: 24px;
}
.ico-label {
margin-right: 0.3em;
}
%ico {
display: inline-block;
}
%ico-alert {
background-image: url(...);
width: 24px;
height: 24px;
}
%ico-label {
margin-right: 0.3em;
}
.msg-error-icon {
vertical-align: -0.3em;
@extend %ico;
@extend %ico-alert;
@extend %ico-label;
}
モダンなCSS設計パターンを考える

.msg-error {
border: 1px solid #c0392b;
background-color: #fe9282;
}
モダンなCSS設計パターンを考える

.msg-title {
font-size: inherit;
font-weight: bold;
}
.msg-body {
margin-top: 0.6em;
}
.msg {
...
}
.msg-error {
border: 1px solid #c0392b;
background-color: #fe9282;
}
.msg-title {
font-size: inherit;
font-weight: bold;
}
BEM
Yandex

http://bem.info/
BEM stands for ...
- Block
- Element
- Modifier
Block
Element
Modifier
.block {
	 ...
}
.block__element {
	 ...
}
.block_modifier {
	 ...
}
.block__element_modifier {
	 ...
}
.nav {
	 ...
}
.nav__item {
	 ...
}
.nav_segmented {
	 ...
}
.nav__item_segmented {
	 ...
}
.nav {
	 ...
}
.nav__item {
	 ...
}
.nav--segmented {
	 ...
}
.nav__item--segmented {
	 ...
}
http://enja.studiomohawk.com/2012/03/20/about-html-semantics-and-front-end-architecture/
.msg {
...
}
.msg--error {
border: 1px solid #c0392b;
background-color: #fe9282;
}
.msg__title {
font-size: inherit;
font-weight: bold;
}
.msg__body {
margin-top: 0.6em;
}
.msg__title-icon {
vertical-align: -0.3em;
}
MCSS
- Base
- Project
- cosmetic

http://operatino.github.io/MCSS/en/
inuit.css
- Base
- Generic
- Objects

http://inuitcss.com/
SUIT
- Utilities
- Components

https://github.com/suitcss/suit
モダンなCSS設計パターンを考える
Front-end Styleguide
Starbucks Style Guide
http://www.starbucks.com/static/reference/styleguide/
Pattern Primer
http://patternprimer.adactio.com/
MailChimp Pattern Library
http://ux.mailchimp.com/patterns/
Twitter Bootstrap
http://getbootstrap.com
モダンなCSS設計パターンを考える
KSS
http://warpspire.com/kss/styleguides/
Kalei
http://kaleistyleguide.com/
StyleDocco
http://jacobrask.github.io/styledocco/
//
// # 見出し
//
// 説明文を書きます。マークダウン形式です。
//
// ```
// <button type="button" class="btn btn-default">
//
``` で囲んだ部分にデモのHTMLを記述します。
// </button>
// ```
.btn {
display: inline-block;
...
&:hover,
&:focus {
color: @btn-default-color;
text-decoration: none;
}
}
$ styledocco -n "ProjectName" css/
$ styledocco -n "ProjectName" -o "mydocs"
$ styledocco -n "ProjectName" --preprocessor "lessc" less/
モダンなCSS設計パターンを考える
Building Pages

🎬⚏
👤 👤


Building Pages

🎬⚏
👤 👤



🎬⚏






👤
Building Pages
Systems



🎬⚏



🎬⚏
👤 👤





👤
Developer vs Designer ?
🎬⚏
👤 👤


🎬⚏
👤 👤






🎬⚏
👤 👤







🎬⚏
👤 👤





 

🎬⚏
👤 👤





 








🎬⚏
👤 👤

 










🎬⚏
👤 👤

 


Developer with Designer
Best Practice
Best Practices
“

どんなに多くの人が貢献したとしても
どのコードも一人で書いたようにする
All code in any code-base should look like a single person
typed it, even when many people are contributing to it.

”
- Idiomatic CSS

https://github.com/necolas/idiomatic-css
“

壊れない完璧な設計を求めるのではなく
壊れたときに勇気をもって修復できる設計を
- Anonymous

”
Thanks.
- twitter.com/hiloki
- inkdesign.jp
- html5experts.jp/hiloki/
Photo credit
-

http://www.flickr.com/photos/bpotstra/3490333174/sizes/l/
http://www.flickr.com/photos/bettybroadbent/3704523854/sizes/o/
http://www.flickr.com/photos/drewmaughan/8209503226/sizes/l/
http://www.flickr.com/photos/biodork/6849406792/
http://www.flickr.com/photos/43266097@N03/9444574320/sizes/l/
http://www.flickr.com/photos/90585146@N08/8234225693/sizes/l/
http://www.flickr.com/photos/lwr/6778863776/sizes/l/
http://www.flickr.com/photos/jezpage/4696962046/
http://www.flickr.com/photos/april-mo/8485249298/sizes/l/
http://www.flickr.com/photos/4st4roth/2366615948/
http://www.flickr.com/photos/sharman/4570412801/sizes/l/
http://www.flickr.com/photos/kaptainkobold/3771497484/
http://www.flickr.com/photos/laurie_pink/2549598674/sizes/l/
http://www.flickr.com/photos/dansdata/3266946102/
http://www.flickr.com/photos/ochre_jelly/6839227477/sizes/l/
http://www.flickr.com/photos/in-duce/2232109985/sizes/o/
http://www.flickr.com/photos/pgoyette/5911926699/sizes/z/
http://www.flickr.com/photos/conradoplg/10091603396/sizes/l/
http://www.flickr.com/photos/kaptainkobold/4441509147/sizes/l/

More Related Content

What's hot (20)

PDF
The Backside of the Class (CSS Day 2015)
Stephen Hay
 
TXT
Dorothea orem-theory
Ramlah12041991
 
DOC
I pv6+at+caribbean+sector
max Firmin
 
TXT
Html22
passkalilo
 
TXT
Guia de-estudio-2
59vallebenito
 
PDF
Class 4 handout w css3 using j fiddle
Erin M. Kidwell
 
PDF
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Esteve Castells
 
PDF
Haml, Sass & Compass
László Bácsi
 
PDF
A More Perfect Union with CSS
Christopher Schmitt
 
TXT
Capitulo 3-enegia-y-conservacion-de-masas
wanda i sanchez trinidad
 
PDF
Introducing YUI
Christian Heilmann
 
KEY
Plone Interactivity
Eric Steele
 
PDF
LessCSS Presentation @ April 2015 GTALUG Meeting
Myles Braithwaite
 
PDF
WordCamp Bari 2019
Stefano Minoia
 
PDF
Nanoformats
rozario
 
PPTX
Hardcore HTML
PDX Web & Design
 
PDF
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Patrick Lauke
 
TXT
Espacios en-tu-vida
epacheco1
 
PDF
10 Things Web Designers tend to forget when doing SEO
Timon Hartung
 
PDF
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
Timon Hartung
 
The Backside of the Class (CSS Day 2015)
Stephen Hay
 
Dorothea orem-theory
Ramlah12041991
 
I pv6+at+caribbean+sector
max Firmin
 
Html22
passkalilo
 
Guia de-estudio-2
59vallebenito
 
Class 4 handout w css3 using j fiddle
Erin M. Kidwell
 
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Esteve Castells
 
Haml, Sass & Compass
László Bácsi
 
A More Perfect Union with CSS
Christopher Schmitt
 
Capitulo 3-enegia-y-conservacion-de-masas
wanda i sanchez trinidad
 
Introducing YUI
Christian Heilmann
 
Plone Interactivity
Eric Steele
 
LessCSS Presentation @ April 2015 GTALUG Meeting
Myles Braithwaite
 
WordCamp Bari 2019
Stefano Minoia
 
Nanoformats
rozario
 
Hardcore HTML
PDX Web & Design
 
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Patrick Lauke
 
Espacios en-tu-vida
epacheco1
 
10 Things Web Designers tend to forget when doing SEO
Timon Hartung
 
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
Timon Hartung
 

Similar to モダンなCSS設計パターンを考える (20)

PPTX
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
PDF
Introduction to web components
Marc Bächinger
 
PDF
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Mario Heiderich
 
PDF
Critical Rendering Path
BarbaraFellner1
 
PDF
ACSS: Rethinking CSS Best Practices
Renato Iwashima
 
PDF
Rapid HTML Prototyping with Bootstrap - Chris Griffith
UXPA International
 
KEY
Slow kinda sucks
Tim Wright
 
PDF
Class 4 handout two column layout w mobile web design
Erin M. Kidwell
 
PDF
Build Better Responsive websites. Hrvoje Jurišić
MeetMagentoNY2014
 
PDF
SMACSS Workshop
Tim Hettler
 
PDF
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
ODP
When dynamic becomes static - the next step in web caching techniques
Wim Godden
 
PPT
css.ppt
DakshPratapSingh1
 
PPT
css.ppt
Sana903754
 
PPT
HTML Web Devlopment presentation css.ppt
raghavanp4
 
PDF
HTML CSS Best Practices
hoctudau
 
PDF
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
beyond tellerrand
 
TXT
TURN YOUR CELL PHONE FROM A LIABILITY INTO AN ASSET!
Coulawrence
 
PDF
Polymer - El fin a tus problemas con el FrontEnd
Israel Blancas
 
PDF
Polytechnic 1.0 Granada
Israel Blancas
 
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
Introduction to web components
Marc Bächinger
 
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Mario Heiderich
 
Critical Rendering Path
BarbaraFellner1
 
ACSS: Rethinking CSS Best Practices
Renato Iwashima
 
Rapid HTML Prototyping with Bootstrap - Chris Griffith
UXPA International
 
Slow kinda sucks
Tim Wright
 
Class 4 handout two column layout w mobile web design
Erin M. Kidwell
 
Build Better Responsive websites. Hrvoje Jurišić
MeetMagentoNY2014
 
SMACSS Workshop
Tim Hettler
 
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
When dynamic becomes static - the next step in web caching techniques
Wim Godden
 
css.ppt
Sana903754
 
HTML Web Devlopment presentation css.ppt
raghavanp4
 
HTML CSS Best Practices
hoctudau
 
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
beyond tellerrand
 
TURN YOUR CELL PHONE FROM A LIABILITY INTO AN ASSET!
Coulawrence
 
Polymer - El fin a tus problemas con el FrontEnd
Israel Blancas
 
Polytechnic 1.0 Granada
Israel Blancas
 
Ad

More from 拓樹 谷 (6)

PDF
CSS設計の理想と現実
拓樹 谷
 
PDF
Why Sass?
拓樹 谷
 
PDF
メンテナブルでありつづけるためのCSS設計
拓樹 谷
 
PDF
CSS Components
拓樹 谷
 
PDF
How to Win the Heart of CSS Boys
拓樹 谷
 
PDF
Thinking about CSS Architecture
拓樹 谷
 
CSS設計の理想と現実
拓樹 谷
 
Why Sass?
拓樹 谷
 
メンテナブルでありつづけるためのCSS設計
拓樹 谷
 
CSS Components
拓樹 谷
 
How to Win the Heart of CSS Boys
拓樹 谷
 
Thinking about CSS Architecture
拓樹 谷
 
Ad

Recently uploaded (20)

PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Français Patch Tuesday - Juillet
Ivanti
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 

モダンなCSS設計パターンを考える