SlideShare uma empresa Scribd logo
1 de 120
Baixar para ler offline
QCon Tokyo 2014 Conference
Modern CSS Architecture
Hiroki Tani
モダンなCSS設計パターンを考える
Hiroki Tani
Front-end Engineer
CyberAgent, Inc.
?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
Goals of Better CSS Architecture
-Predictable
-Reusable
-Maintainable
-Scalable
http://article.enja.io/articles/css-architecture.html
予測しやすい
再利用しやすい
保守しやすい
拡張しやすい
Modular CSS
OOCSS
Nicole Sullivan
https://github.com/stubbornella/oocss/wiki
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 ...
.fontSize10 {	
	 font-size: 10px	
}	
.colorRed {	
	 color: red	
}
<p class="fontSize18 colorRed">	
入力内容に誤りがあります。	
</p>
<p class="box radius10 fontSize18 colorRed">	
入力内容に誤りがあります。	
</p>
.fontSize18 {	
	 font-size: 18px	
}
.fontSize18 {	
	 font-size: 18px	
}	
!
@media only screen and (max-width : 320px) {	
	 .fontSize18 {	
	 	 font-size: 14px	
	 }	
}	
⚠
.colorRed {	
	 color: red	
}
.colorRed {	
	 color: orange;	
}
⚠
.colorRed {	
	 color: orange; /* あとで直す */	
}
⚠
⚠
?How to maintain modules
SMACSS
Jonathan Snook
http://smacss.com/ja
日本語、あります
SMACSS
-Categorization
-Naming Convention
-Decoupling CSS from HTML
カテゴライズ
命名規則
HTMLとCSSの分離
SMACSS Categories
-Base
-Layout
-Module
-State
-Theme
/* # 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;	 	
}
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;	
}
<div class="msg msg-error">	
<p>...</p>	
</div>
.msg {	
...	
}	
.msg-error {	
border: 1px solid #c0392b;	
background-color: #fe9282;	
}
<div class="msg msg-success">	
<p>...</p>	
</div>
.msg {	
...	
}	
.msg-success {	
border: 1px solid #27ae60;	
background-color: #99f3c9;	
}
<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;	
}
.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>
<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;	
}
!
.msg-error {	
border: 1px solid #c0392b;	
background-color: #fe9282;	
}
.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/
FLOCSS
-Foundation
-Layout
-Object
https://github.com/hiloki/flocss
-Component
-Project
-Utility
Front-end Styleguide
Starbucks Style Guide
http://www.starbucks.com/static/reference/styleguide/
MailChimp Pattern Library
http://ux.mailchimp.com/patterns/
Twitter Bootstrap
http://getbootstrap.com
A Pattern Apart
http://patterns.alistapart.com/
http://alistapart.com/blog/post/getting-started-with-pattern-libraries
Code Example view
http://alistapart.com/blog/post/getting-started-with-pattern-libraries
Patchwork view
Front-end Styleguide
Front-end Styleguide
Living
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/
http://d.pr/v/46BF
⚏🎬 👤👤 ⚏🎬
👤
Building Pages
Systems
Styleguide Driven Development
http://www.stubbornella.org/content/2014/04/09/style-guide-driven-development/
Developer vs Designer ?
⚏🎬 👤👤
Developer with Designer
Best Practice
Best Practices
どんなに多くの人が貢献したとしても
どのコードも一人で書いたようにする
https://github.com/necolas/idiomatic-css
- Idiomatic CSS
All code in any code-base should look like a single person
typed it, even when many people are contributing to it.
“
”
壊れない完璧な設計を求めるのではなく
壊れたときに勇気をもって修復できる設計を
“
”
- Anonymous
Thanks.
- twitter.com/hiloki
- inkdesign.jp
- slideshare.net/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/

Mais conteúdo relacionado

Mais procurados

Basics of Front End Web Dev PowerPoint
Basics of Front End Web Dev PowerPointBasics of Front End Web Dev PowerPoint
Basics of Front End Web Dev PowerPoint
Sahil Gandhi
 
Class 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddleClass 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddle
Erin M. Kidwell
 

Mais procurados (20)

Progressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryProgressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQuery
 
Html5 ux london
Html5 ux londonHtml5 ux london
Html5 ux london
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
Html5 & CSS overview
Html5 & CSS overviewHtml5 & CSS overview
Html5 & CSS overview
 
Rapid HTML Prototyping with Bootstrap - Chris Griffith
Rapid HTML Prototyping with Bootstrap - Chris GriffithRapid HTML Prototyping with Bootstrap - Chris Griffith
Rapid HTML Prototyping with Bootstrap - Chris Griffith
 
Você precisa aprender Web
Você precisa aprender WebVocê precisa aprender Web
Você precisa aprender Web
 
iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone developmentiPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
 
Xlrays online web tutorials
Xlrays online web tutorialsXlrays online web tutorials
Xlrays online web tutorials
 
LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
 
Html22
Html22Html22
Html22
 
Basics of Front End Web Dev PowerPoint
Basics of Front End Web Dev PowerPointBasics of Front End Web Dev PowerPoint
Basics of Front End Web Dev PowerPoint
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 
Slicing the web
Slicing the webSlicing the web
Slicing the web
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
Guia de-estudio-2
Guia de-estudio-2Guia de-estudio-2
Guia de-estudio-2
 
Critical Rendering Path
Critical Rendering PathCritical Rendering Path
Critical Rendering Path
 
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By Palash
 
Class 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddleClass 4 handout w css3 using j fiddle
Class 4 handout w css3 using j fiddle
 

Destaque

WebデザイナーのためのGit勉強会 ~準備編~
WebデザイナーのためのGit勉強会 ~準備編~WebデザイナーのためのGit勉強会 ~準備編~
WebデザイナーのためのGit勉強会 ~準備編~
Satoshi Ebisawa
 

Destaque (20)

Akka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldAkka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming World
 
7 key recipes for data engineering
7 key recipes for data engineering7 key recipes for data engineering
7 key recipes for data engineering
 
Preparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuriPreparing for distributed system failures using akka #ScalaMatsuri
Preparing for distributed system failures using akka #ScalaMatsuri
 
WEBデザイナーのためのエディタ入門 先生:金澤 直毅
WEBデザイナーのためのエディタ入門 先生:金澤 直毅WEBデザイナーのためのエディタ入門 先生:金澤 直毅
WEBデザイナーのためのエディタ入門 先生:金澤 直毅
 
WebデザイナーのためのGit勉強会 ~準備編~
WebデザイナーのためのGit勉強会 ~準備編~WebデザイナーのためのGit勉強会 ~準備編~
WebデザイナーのためのGit勉強会 ~準備編~
 
ゆるふわCSS3
ゆるふわCSS3 ゆるふわCSS3
ゆるふわCSS3
 
WebデザイナーによるWebデザイナーのためのマーケティング入門
WebデザイナーによるWebデザイナーのためのマーケティング入門WebデザイナーによるWebデザイナーのためのマーケティング入門
WebデザイナーによるWebデザイナーのためのマーケティング入門
 
エコなWebデザイナーになろう
エコなWebデザイナーになろうエコなWebデザイナーになろう
エコなWebデザイナーになろう
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ
 
WEBデザイナー3年目を終えて
WEBデザイナー3年目を終えてWEBデザイナー3年目を終えて
WEBデザイナー3年目を終えて
 
CSS設計のお勉強
CSS設計のお勉強CSS設計のお勉強
CSS設計のお勉強
 
サルでもできるWebデザイン:SwapSkills
サルでもできるWebデザイン:SwapSkillsサルでもできるWebデザイン:SwapSkills
サルでもできるWebデザイン:SwapSkills
 
UXデザインの上流工程の考え方とプロセス  ~リサーチからアイデア発想そしてUIデザインへ
UXデザインの上流工程の考え方とプロセス ~リサーチからアイデア発想そしてUIデザインへUXデザインの上流工程の考え方とプロセス ~リサーチからアイデア発想そしてUIデザインへ
UXデザインの上流工程の考え方とプロセス  ~リサーチからアイデア発想そしてUIデザインへ
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 
なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
 
制作会社の視点で見る デザイナーのキャリアパスとスキル
制作会社の視点で見る デザイナーのキャリアパスとスキル制作会社の視点で見る デザイナーのキャリアパスとスキル
制作会社の視点で見る デザイナーのキャリアパスとスキル
 
コーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインコーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドライン
 

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

Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Mario Heiderich
 
Class 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web designClass 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web design
Erin M. Kidwell
 
IT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarrIT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarr
Ted Carr
 
HTML CSS Best Practices
HTML CSS Best PracticesHTML CSS Best Practices
HTML CSS Best Practices
hoctudau
 

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

Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
Copy & Pest - A case-study on the clipboard, blind trust and invisible cross-...
 
Class 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web designClass 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web design
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.ppt
 
css.ppt
css.pptcss.ppt
css.ppt
 
css.ppt
css.pptcss.ppt
css.ppt
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
I pv6+at+caribbean+sector
I pv6+at+caribbean+sectorI pv6+at+caribbean+sector
I pv6+at+caribbean+sector
 
Introduction to web components
Introduction to web componentsIntroduction to web components
Introduction to web components
 
IT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarrIT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarr
 
When dynamic becomes static - the next step in web caching techniques
When dynamic becomes static - the next step in web caching techniquesWhen dynamic becomes static - the next step in web caching techniques
When dynamic becomes static - the next step in web caching techniques
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
Making Links Magical Again with CSS
Making Links Magical Again with CSSMaking Links Magical Again with CSS
Making Links Magical Again with CSS
 
HTML CSS Best Practices
HTML CSS Best PracticesHTML CSS Best Practices
HTML CSS Best Practices
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
Polytechnic 1.0 Granada
Polytechnic 1.0 GranadaPolytechnic 1.0 Granada
Polytechnic 1.0 Granada
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事
 
ACSS: Rethinking CSS Best Practices
ACSS: Rethinking CSS Best PracticesACSS: Rethinking CSS Best Practices
ACSS: Rethinking CSS Best Practices
 
Class15
Class15Class15
Class15
 

Mais de 拓樹 谷 (7)

CSS設計の理想と現実
CSS設計の理想と現実CSS設計の理想と現実
CSS設計の理想と現実
 
Why Sass?
Why Sass?Why Sass?
Why Sass?
 
メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計
 
CSS Components
CSS ComponentsCSS Components
CSS Components
 
How to Win the Heart of CSS Boys
How to Win the Heart of CSS BoysHow to Win the Heart of CSS Boys
How to Win the Heart of CSS Boys
 
High Performance Webdesign
High Performance WebdesignHigh Performance Webdesign
High Performance Webdesign
 
Thinking about CSS Architecture
Thinking about CSS ArchitectureThinking about CSS Architecture
Thinking about CSS Architecture
 

Último

➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
amitlee9823
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
eeanqy
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
nirzagarg
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
amitlee9823
 
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
amitlee9823
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
saipriyacoool
 
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
nirzagarg
 

Último (20)

Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service AvailableCall Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedWhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
 
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
 

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