SlideShare a Scribd company logo
1 of 109
Download to read offline
https://www.flickr.com/photos/stn1978/8899794454/
Beyond CSS Architecture
Hiroki Tani, HTML5 Conference, Room B
Hiroki Tani
@hiloki, Frontend Developer
https://frontendweekly.tokyo/
@cssradar @t32k @hiloki
Vertical align
.selector {
property: value;
}
.selector {
property: value;
}
.author {
…
}
Hiroki Tani
.author { ... }
.login-user { ... }
Hiroki Tani
Koji Ishimoto
.author { ... }
.login-user { ... }
.comment-author { ... }
.author,
.login-user,
.comment-author {
/* 共通のスタイル */
}
.author { ... }
.login-user { ... }
.comment-author { ... }
.author,
.login-user,
.comment-author,
.entry-item,
.bookmark,
.more-uis… { ... }
OOCSS
by Nicole Sullivan
https://www.flickr.com/photos/premshree/3444104640/
.media { ... }
.author { ... }
.login-user { ... }
Hiroki Tani
Koji Ishimoto
.media {
overflow: hidden; /* Clearfix */
margin:10px;
}
.media .bd {
overflow:hidden;
}
.media .img {
float:left;
margin-right: 10px;
}
.media .img img {
display:block;
}
.media .imgExt {
float:right; margin-left: 10px;
}
<div class=“media author">
<a class="img">
<img />
</a>
<div class="bd">
...
</div>
</div>
<div class="media author">
...
</div>
<div class=“media login-user">
...
</div>
BEM
by Yandex
https://bem.info/
Hiroki Tani
Hiroki Tani
Block
Element
Modifier
.media {
overflow: hidden;
margin:10px;
}
.media .bd {
overflow:hidden;
}
.media .img {
float:left;
margin-right: 10px;
}
.media .img img {
display:block;
}
.media .imgExt {
float:right; margin-left: 10px;
}
.media {
overflow: hidden;
margin:10px;
}
.media__body {
overflow:hidden;
}
.media__image {
float:left;
margin-right: 10px;
}
.media__image img {
display:block;
}
.media__image_extra {
float:right; margin-left: 10px;
}
<div class=“media author">
<a class="img">
<img />
</a>
<div class="bd">
...
</div>
</div>
<div class=“media author">
<a class="media__image">
<img />
</a>
<div class="media__body">
...
</div>
</div>
.media { /* 0,0,1,0 */
overflow: hidden;
margin:10px;
}
.media__body { /* 0,0,1,0 */
overflow:hidden;
}
.media__image { /* 0,0,1,0 */
float:left;
margin-right: 10px;
}
.media__image img { /* 0,0,1,1 */
display:block;
}
.media__image_extra { /* 0,0,1,0 */
float:right; margin-left: 10px;
}
<div class="media author">
<a class="media__image author__image">
<img />
</a>
<div class="media__body">
...
</div>
</div>
“
”Not all semantics need to be content-derived. Class names cannot be “unsemantic”.
Whatever names are being used: they have meaning, they have purpose.
Nicolas Gallagher
http://nicolasgallagher.com/about-html-semantics-front-end-architecture/
CSS Preprocessor
<div class="author Media">
<div class="author__image Media__image Avatar">
<img src="author.jpg">
</div>
<div class="author__body Media__body">
...
</div>
</div>
%Media {
/* Media styles... */
}
%Media__image {
/* Media image styles... */
}
%Media__body {
/* Media body styles... */
}
%Avatar {
/* Avatar styles... */
}
.author {
@extend %Media;
/* .author styles... */
}
.author-image {
@extend %Media__image;
@extend %Avatar;
/* .author-image styles... */
}
.author-body {
@extend %Media__body;
/* .author-body styles... */
}
<div class="author Media">
<div class="author-image Media__image Avatar">
<img src="author.jpg">
</div>
<div class="author-body Media__body">
...
</div>
</div>
.login-user {
@extend %Media;
/* .login-user styles... */
}
.login-user-image {
@extend %Media__image;
@extend %Avatar;
/* .login-user-image styles... */
}
.login-user-body {
@extend %Media__body;
/* .login-user-body styles... */
}
<div class="login-user">
<div class="login-user-image">
<img src="user.jpg">
</div>
<p class="login-user-name">
...
</p>
</div>
.author, .login-user { /* Media styles... */ }
.author-image, .login-user-image { /* Media image styles... */ }
.author-body, .login-user-body { /* Media body styles... */ }
.author-image, .login-user-image { /* Avatar styles... */ }
.author { /* .author styles... */ }
.author-image { /* .author-image styles... */ }
.author-body { /* .author-body styles... */ }
.login-user { /* .login-user styles... */ }
.login-user-image { /* .login-user-image styles... */ }
.login-user-body { /* .login-user-body styles... */ }
%Media
.author .login-user
%Media
.author .login-user {
@extend .author;
}
%Media
.author
.login-user
.comment-author
.entry-item
.bookmark
.more-uis
%Media
.author
.login-user
.comment-author
.entry-item
.bookmark
.more-uis
%Media
.author
.login-user
.comment-author
.entry-item
.bookmark
.more-uis
.mod_listType1 section,.mod_listType3 section,.mod_listType4
section,.mod_listType5 section,.mod_listType7 section,.mod_listType8
section{margin-bottom:1em}.mod_listType1 h1,.mod_listType3
h1,.mod_listType4 h1,.mod_listType5 h1,.mod_listType7 h1,.mod_listType8
h1{margin:0 0 .5em .5em;font-size:15px;-webkit-text-shadow:0 1px 0
rgba(255,255,255,.75);text-shadow:0 1px 0
rgba(255,255,255,.75)}.mod_listType1 ul,.mod_listType3
ul,.mod_listType4 ul,.mod_listType5 ul,.mod_listType7 ul,.mod_listType8
ul{background-color:#fff;border:1px solid
#c3c3c3;overflow:hidden;border-radius:12px}.mod_listType1 ul
li,.mod_listType3 ul li,.mod_listType4 ul li,.mod_listType5 ul
li,.mod_listType7 ul li,.mod_listType8 ul li{border-top:#C3C3C2 1px
solid;margin-top:-1px;margin-bottom:1px;font-size:16px}.mod_listType1
ul li:first-child a.disable,.mod_listType1 ul li:last-child
a.disable,.mod_listType3 ul li:first-child a.disable,.mod_listType3 ul
li:last-child a.disable,.mod_listType4 ul li:first-child
a.disable,.mod_listType4 ul li:last-child a.disable,.mod_listType5 ul
.mod_listType1 section,.mod_listType3 section,.mod_listType4
section,.mod_listType5 section,.mod_listType7 section,.mod_listType8
section{margin-bottom:1em}.mod_listType1 h1,.mod_listType3
h1,.mod_listType4 h1,.mod_listType5 h1,.mod_listType7 h1,.mod_listType8
h1{margin:0 0 .5em .5em;font-size:15px;-webkit-text-shadow:0 1px 0
rgba(255,255,255,.75);text-shadow:0 1px 0
rgba(255,255,255,.75)}.mod_listType1 ul,.mod_listType3
ul,.mod_listType4 ul,.mod_listType5 ul,.mod_listType7 ul,.mod_listType8
ul{background-color:#fff;border:1px solid
#c3c3c3;overflow:hidden;border-radius:12px}.mod_listType1 ul
li,.mod_listType3 ul li,.mod_listType4 ul li,.mod_listType5 ul
li,.mod_listType7 ul li,.mod_listType8 ul li{border-top:#C3C3C2 1px
solid;margin-top:-1px;margin-bottom:1px;font-size:16px}.mod_listType1
ul li:first-child a.disable,.mod_listType1 ul li:last-child
a.disable,.mod_listType3 ul li:first-child a.disable,.mod_listType3 ul
li:last-child a.disable,.mod_listType4 ul li:first-child
a.disable,.mod_listType4 ul li:last-child a.disable,.mod_listType5 ul
440kbgziped
https://amcss.github.io/
<!-- class -->
<a class="btn btn-primary btn-lg">
Large primary button
</a>
<!-- attribute -->
<a am-Button="primary large">
Large primary button
</a>
[am-Button] {
...
}
[am-Button~="primary"] {
...
}
[am-Button~="large"] {
...
}
See also:
CSS: Using every declaration just once
YACP
https://developers.google.com/speed/articles/optimizing-css
http://morishitter.hatenablog.com/entry/2014/12/02/000135
http://hail2u.net/blog/webdesign/oocss-drawbacks-and-gifts-of-every-declaration-just-once.html
“
”We’re not designing pages, we’re designing systems of components.
Stephen Hay
http://smacss.com/
https://github.com/hiloki/flocss
ITCSS
by Harry Roberts a.k.a. CSS Wizardly
https://www.flickr.com/photos/stn1978/8899794454/
http://itcss.io/
https://speakerdeck.com/dafed/managing-css-projects-with-itcss
Setting
Tools
Generic
Base
Objects
Components
Trumps
!"" _base.links.scss
!"" _base.page.scss
!"" _base.quotes.scss
!"" _base.type.scss
!"" _components.ads.scss
!"" ...
!"" _components.promo.scss
!"" _components.pull-quote.scss
!"" _components.site-nav.scss
!"" _components.sprites.scss
!"" _objects.wrappers.scss
!"" _settings.colors.scss
!"" _settings.global.scss
!"" _tools.aliases.scss
!"" _tools.mixins.scss
!"" _trumps.show-hide.scss
!"" _trumps.widths-responsive.scss
#"" csswizardry.scss
/**
* #SETTINGS
*/
@import "bower_components/inuit-defaults/settings.defaults";
@import "settings.global";
@import "settings.colors";
@import "bower_components/inuit-responsive-settings/settings.responsive";
/**
* #TOOLS
*/
@import "bower_components/inuit-functions/tools.functions";
@import "bower_components/inuit-mixins/tools.mixins";
@import "tools.mixins";
@import "bower_components/inuit-responsive-tools/tools.responsive";
@import "tools.aliases";
/**
* #GENERIC
*/
@import "bower_components/inuit-normalize/generic.normalize";
@import "bower_components/inuit-reset/generic.reset";
@import "bower_components/inuit-box-sizing/generic.box-sizing";
@import "bower_components/inuit-shared/generic.shared";
http://bradfrost.com/
See also:
Atomic Design
FUN CSS
http://bradfrost.com/blog/post/atomic-web-design/
http://benfrain.com/fun-css-naming-convention-explained/
Styleguide
http://ux.mailchimp.com/patterns/
http://styleguides.io/examples.html
Styleguide
Static
Styleguide
Living
Generator
http://trulia.github.io/hologram/
/*doc
---
title: Buttons
name: button
category: Base CSS
---
Button styles can be applied to any element. Typically you'll
want to
use either a `<button>` or an `<a>` element:
```html_example
<button class="btn btnDefault">Click</button>
<a class="btn btnPrimary" href="http://trulia.com">Trulia!</a>
```
*/
/*doc
---
title: Buttons
name: button
category: Base CSS
---
Button styles can be applied to any element. Typically you'll
want to
use either a `<button>` or an `<a>` element:
```html_example
<button class="btn btnDefault">Click</button>
<a class="btn btnPrimary" href="http://trulia.com">Trulia!</a>
```
*/
http://bradfrost.com/
See also:
Pattern Lab
Frontnote
http://patternlab.io/
http://frontainer.com/frontnote/
Specificity Graph
http://csswizardry.com/2014/10/the-specificity-graph/
Specificity
Location in Stylesheet
Specificity
Location in Stylesheet
ul {
margin: 0;
}
Specificity
Location in Stylesheet
.item {
border: 1px solid #999;
}
Specificity
Location in Stylesheet
.item.selected {
background: #eee;
}
Specificity
Location in Stylesheet
.heading {
font-size: 24px;
}
Specificity
Location in Stylesheet
#feature {
background: #FC0;
}
Specificity
Location in Stylesheet
#feature .heading {
color: #000;
}
http://jonassebastianohlsson.com/specificity-graph/
See also:
Specificity graph
CSS specificity graphs
http://snook.ca/archives/html_and_css/specificity-graphs
https://decadecity.net/blog/2014/11/26/css-specificity-graphs
Statistical tool
http://www.stylestats.org/
http://cssstats.com
See also:
CSS Dig
Parker
http://cssdig.com/
https://github.com/katiefenn/parker
https://developers.google.com/web/fundamentals/performance/critical-rendering-path
http://goo.gl/ycf4WU
https://developers.google.com/speed/pagespeed/insights/
http://www.smashingmagazine.com/
http://jonassebastianohlsson.com/criticalpathcssgenerator/
Before
After
http://goo.gl/9DbbVs
http://bradfrost.com/
See also:
Pentohouse
Critical
Critical CSS
https://github.com/pocketjoso/penthouse
https://github.com/addyosmani/critical
https://github.com/filamentgroup/criticalcss
http://webcomponents.org/
“ ”Every line of CSS you write is a suggestion.
Jeremy Keith
https://adactio.com/journal/7653
https://www.flickr.com/photos/pgoyette/5911926699/
Thanks
twitter.com/hiloki
github.com/hiloki

More Related Content

What's hot

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 GriffithUXPA International
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Marc Grabanski
 
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 developmentEstelle Weyl
 
CSS in React
CSS in ReactCSS in React
CSS in ReactJoe Seifi
 
Você precisa aprender Web
Você precisa aprender WebVocê precisa aprender Web
Você precisa aprender WebJean Carlo Emer
 
CSS in React - The Good, The Bad, and The Ugly
CSS in React - The Good, The Bad, and The UglyCSS in React - The Good, The Bad, and The Ugly
CSS in React - The Good, The Bad, and The UglyJoe Seifi
 
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 PowerPointSahil Gandhi
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By PalashPalashBajpai
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWalter Ebert
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standardsgleddy
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSZoe Gillenwater
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceLeonardo Balter
 
Bilder einbinden ist kein Thema, oder?
Bilder einbinden ist kein Thema, oder?Bilder einbinden ist kein Thema, oder?
Bilder einbinden ist kein Thema, oder?Walter Ebert
 

What's hot (20)

Html5 ux london
Html5 ux londonHtml5 ux london
Html5 ux london
 
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
 
High-Quality JavaScript
High-Quality JavaScriptHigh-Quality JavaScript
High-Quality JavaScript
 
Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)Whirlwind Tour of SVG (plus RaphaelJS)
Whirlwind Tour of SVG (plus RaphaelJS)
 
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
 
CSS in React
CSS in ReactCSS in React
CSS in React
 
Você precisa aprender Web
Você precisa aprender WebVocê precisa aprender Web
Você precisa aprender Web
 
CSS in React - The Good, The Bad, and The Ugly
CSS in React - The Good, The Bad, and The UglyCSS in React - The Good, The Bad, and The Ugly
CSS in React - The Good, The Bad, and The Ugly
 
Css3
Css3Css3
Css3
 
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
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By Palash
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFM
 
ActiveDOM
ActiveDOMActiveDOM
ActiveDOM
 
Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSS
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open Source
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 
The Thinking behind BEM
The Thinking behind BEMThe Thinking behind BEM
The Thinking behind BEM
 
Bilder einbinden ist kein Thema, oder?
Bilder einbinden ist kein Thema, oder?Bilder einbinden ist kein Thema, oder?
Bilder einbinden ist kein Thema, oder?
 

Viewers also liked

HTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintHTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintYukio Andoh
 
Web of Technologies
Web of TechnologiesWeb of Technologies
Web of Technologiesdynamis
 
Polymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトPolymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトEiji Kitamura
 
CSS設計の理想と現実
CSS設計の理想と現実CSS設計の理想と現実
CSS設計の理想と現実拓樹 谷
 
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろうMitsuo Kawashima
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計Manabu Yasuda
 
Webライティング11のルール
Webライティング11のルールWebライティング11のルール
Webライティング11のルールTsutomu Sogitani
 
課題を導き出す魔法のシートの作り方
課題を導き出す魔法のシートの作り方課題を導き出す魔法のシートの作り方
課題を導き出す魔法のシートの作り方Yasuhisa Hasegawa
 
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方Ayaka Sumida
 
人と向き合うプロトタイピング
人と向き合うプロトタイピング人と向き合うプロトタイピング
人と向き合うプロトタイピングwariemon
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?Minoru Yokomichi
 
コーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインコーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインHiroyuki Makishita
 

Viewers also liked (12)

HTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintHTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design Sprint
 
Web of Technologies
Web of TechnologiesWeb of Technologies
Web of Technologies
 
Polymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトPolymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイト
 
CSS設計の理想と現実
CSS設計の理想と現実CSS設計の理想と現実
CSS設計の理想と現実
 
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計
 
Webライティング11のルール
Webライティング11のルールWebライティング11のルール
Webライティング11のルール
 
課題を導き出す魔法のシートの作り方
課題を導き出す魔法のシートの作り方課題を導き出す魔法のシートの作り方
課題を導き出す魔法のシートの作り方
 
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
 
人と向き合うプロトタイピング
人と向き合うプロトタイピング人と向き合うプロトタイピング
人と向き合うプロトタイピング
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
 
コーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインコーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドライン
 

Similar to Beyond CSS Architecture

建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版Joseph Chiang
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyDenise Jacobs
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Erin M. Kidwell
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS TroubleshootingDenise Jacobs
 
Introduction of Html/css/js
Introduction of Html/css/jsIntroduction of Html/css/js
Introduction of Html/css/jsKnoldus Inc.
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is nowGonzalo Cordero
 
Be nice to your designers
Be nice to your designersBe nice to your designers
Be nice to your designersPai-Cheng Tao
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptraghavanp4
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibautThibaut Baillet
 
分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军裕波 周
 
Lect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptxLect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptxzainm7032
 
ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4imdurgesh
 
Front End Good Practices
Front End Good PracticesFront End Good Practices
Front End Good PracticesHernan Mammana
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksNathan Smith
 
CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?Denise Jacobs
 

Similar to Beyond CSS Architecture (20)

建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
html5_css3
html5_css3html5_css3
html5_css3
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
Introduction of Html/css/js
Introduction of Html/css/jsIntroduction of Html/css/js
Introduction of Html/css/js
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is now
 
Be nice to your designers
Be nice to your designersBe nice to your designers
Be nice to your designers
 
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
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibaut
 
LSM实践
LSM实践LSM实践
LSM实践
 
分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军分层语义化模板实践 ---- 张克军
分层语义化模板实践 ---- 张克军
 
Lect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptxLect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptx
 
ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
 
Site optimization
Site optimizationSite optimization
Site optimization
 
Front End Good Practices
Front End Good PracticesFront End Good Practices
Front End Good Practices
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + Fireworks
 
CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?
 

More from 拓樹 谷

メンテナブルでありつづけるための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拓樹 谷
 

More from 拓樹 谷 (6)

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
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Beyond CSS Architecture