SlideShare a Scribd company logo
https://www.flickr.com/photos/stn1978/8899794454/
Beyond CSS Architecture
Hiroki Tani, HTML5 Conference, Room B
Hiroki Tani
@hiloki, Frontend Developer
Beyond CSS Architecture
https://frontendweekly.tokyo/
@cssradar @t32k @hiloki
Beyond CSS Architecture
Vertical align
Beyond CSS Architecture
Beyond CSS Architecture
.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>
Beyond CSS Architecture
“
”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
Beyond CSS Architecture
“
”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";
Beyond CSS Architecture
Beyond CSS Architecture
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/
Beyond CSS Architecture
Styleguide
http://ux.mailchimp.com/patterns/
http://styleguides.io/examples.html
Beyond CSS Architecture
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/
Beyond CSS Architecture
Beyond CSS Architecture
Beyond CSS Architecture
Beyond CSS Architecture
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
Beyond CSS Architecture
https://developers.google.com/web/fundamentals/performance/critical-rendering-path
http://goo.gl/ycf4WU
Beyond CSS Architecture
https://developers.google.com/speed/pagespeed/insights/
Beyond CSS Architecture
http://www.smashingmagazine.com/
Beyond CSS Architecture
Beyond CSS Architecture
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
Beyond CSS Architecture
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 (20)

Html5 ux london
Html5 ux londonHtml5 ux london
Html5 ux london
Todd Zaki Warfel
 
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
UXPA International
 
High-Quality JavaScript
High-Quality JavaScriptHigh-Quality JavaScript
High-Quality JavaScript
Marc Bächinger
 
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 development
Estelle Weyl
 
CSS in React
CSS in ReactCSS in React
CSS in React
Joe Seifi
 
Você precisa aprender Web
Você precisa aprender WebVocê precisa aprender Web
Você precisa aprender Web
Jean 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 Ugly
Joe Seifi
 
Css3
Css3Css3
Css3
Bronson Quick
 
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
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By Palash
PalashBajpai
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFM
Walter Ebert
 
ActiveDOM
ActiveDOMActiveDOM
ActiveDOM
Felix Geisendörfer
 
Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
kamar MEDDAH
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
gleddy
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSS
Zoe 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 Source
Leonardo Balter
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
Christopher Schmitt
 
The Thinking behind BEM
The Thinking behind BEMThe Thinking behind BEM
The Thinking behind BEM
Varya Stepanova
 
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
 
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
UXPA 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 development
Estelle Weyl
 
CSS in React
CSS in ReactCSS in React
CSS in React
Joe Seifi
 
Você precisa aprender Web
Você precisa aprender WebVocê precisa aprender Web
Você precisa aprender Web
Jean 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 Ugly
Joe 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 PowerPoint
Sahil Gandhi
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By Palash
PalashBajpai
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFMWordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress-Templates mit Twig erstellen - PHPUGFFM
Walter Ebert
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
gleddy
 
Highly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSSHighly Maintainable, Efficient, and Optimized CSS
Highly Maintainable, Efficient, and Optimized CSS
Zoe 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 Source
Leonardo 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
 

Viewers also liked (12)

HTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintHTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design Sprint
Yukio Andoh
 
Web of Technologies
Web of TechnologiesWeb of Technologies
Web of Technologies
dynamis
 
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
 
HTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design SprintHTML5 Conference 2015 Design Sprint
HTML5 Conference 2015 Design Sprint
Yukio Andoh
 
Web of Technologies
Web of TechnologiesWeb of Technologies
Web of Technologies
dynamis
 
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
 

Similar to Beyond CSS Architecture (20)

Html standards presentation
Html standards presentationHtml standards presentation
Html standards presentation
Tiago Cardoso
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
Netcetera
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Deepak Sharma
 
Css best practices style guide and tips
Css best practices style guide and tipsCss best practices style guide and tips
Css best practices style guide and tips
Chris Love
 
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
 
More of less (take 2)
More of less (take 2)More of less (take 2)
More of less (take 2)
Guilherme Zühlke O'Connor
 
Introducing Cascading Style Sheets
Introducing Cascading Style SheetsIntroducing Cascading Style Sheets
Introducing Cascading Style Sheets
St. Petersburg College
 
cssblocks.css.b_page{ width 930px; margin 0 auto; position.docx
cssblocks.css.b_page{ width 930px; margin 0 auto; position.docxcssblocks.css.b_page{ width 930px; margin 0 auto; position.docx
cssblocks.css.b_page{ width 930px; margin 0 auto; position.docx
faithxdunce63732
 
Accelerated Stylesheets
Accelerated StylesheetsAccelerated Stylesheets
Accelerated Stylesheets
Wynn Netherland
 
Css3
Css3Css3
Css3
Anjan Banda
 
SMACSS Workshop
SMACSS WorkshopSMACSS Workshop
SMACSS Workshop
Tim Hettler
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
hstryk
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
 
Create a landing page
Create a landing pageCreate a landing page
Create a landing page
Fabien Vauchelles
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails Apps
Netguru
 
Making Links Magical Again with CSS
Making Links Magical Again with CSSMaking Links Magical Again with CSS
Making Links Magical Again with CSS
Jenn Lukas
 
Omeka css
Omeka cssOmeka css
Omeka css
American Antiquarian Society
 
CSS- Smacss Design Rule
CSS- Smacss Design RuleCSS- Smacss Design Rule
CSS- Smacss Design Rule
皮馬 頑
 
Building Better Responsive Websites
Building Better Responsive WebsitesBuilding Better Responsive Websites
Building Better Responsive Websites
Holger Bartel
 
CSS3 Talk (PDF version)
CSS3 Talk (PDF version)CSS3 Talk (PDF version)
CSS3 Talk (PDF version)
Robyn Overstreet
 
Html standards presentation
Html standards presentationHtml standards presentation
Html standards presentation
Tiago Cardoso
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
Netcetera
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Deepak Sharma
 
Css best practices style guide and tips
Css best practices style guide and tipsCss best practices style guide and tips
Css best practices style guide and tips
Chris Love
 
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
 
cssblocks.css.b_page{ width 930px; margin 0 auto; position.docx
cssblocks.css.b_page{ width 930px; margin 0 auto; position.docxcssblocks.css.b_page{ width 930px; margin 0 auto; position.docx
cssblocks.css.b_page{ width 930px; margin 0 auto; position.docx
faithxdunce63732
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
hstryk
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
 
OOScss Architecture For Rails Apps
OOScss Architecture For Rails AppsOOScss Architecture For Rails Apps
OOScss Architecture For Rails Apps
Netguru
 
Making Links Magical Again with CSS
Making Links Magical Again with CSSMaking Links Magical Again with CSS
Making Links Magical Again with CSS
Jenn Lukas
 
CSS- Smacss Design Rule
CSS- Smacss Design RuleCSS- Smacss Design Rule
CSS- Smacss Design Rule
皮馬 頑
 
Building Better Responsive Websites
Building Better Responsive WebsitesBuilding Better Responsive Websites
Building Better Responsive Websites
Holger Bartel
 

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

Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdfSecure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Northwind Technologies
 
Scalefusion Remote Access for Apple Devices
Scalefusion Remote Access for Apple DevicesScalefusion Remote Access for Apple Devices
Scalefusion Remote Access for Apple Devices
Scalefusion
 
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjaraswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
muhammadalikhanalikh1
 
Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...
Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...
Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...
Prachi Desai
 
Internship in South western railways on software
Internship in South western railways on softwareInternship in South western railways on software
Internship in South western railways on software
abhim5889
 
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdfBoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
Ortus Solutions, Corp
 
How AI Can Improve Media Quality Testing Across Platforms (1).pptx
How AI Can Improve Media Quality Testing Across Platforms (1).pptxHow AI Can Improve Media Quality Testing Across Platforms (1).pptx
How AI Can Improve Media Quality Testing Across Platforms (1).pptx
kalichargn70th171
 
Issues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptxIssues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptx
Jalalkhan657136
 
Intranet Examples That Are Changing the Way We Work
Intranet Examples That Are Changing the Way We WorkIntranet Examples That Are Changing the Way We Work
Intranet Examples That Are Changing the Way We Work
BizPortals Solutions
 
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)How John started to like TDD (instead of hating it) (ViennaJUG, June'25)
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)
Nacho Cougil
 
Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...
Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...
Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...
officeiqai
 
Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!
PhilMeredith3
 
Design by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First DevelopmentDesign by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First Development
Par-Tec S.p.A.
 
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdf
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdfHow to Generate Financial Statements in QuickBooks Like a Pro (1).pdf
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdf
QuickBooks Training
 
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROI
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROIAutoposting.ai Sales Deck - Skyrocket your LinkedIn's ROI
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROI
Udit Goenka
 
Techdebt handling with cleancode focus and as risk taker
Techdebt handling with cleancode focus and as risk takerTechdebt handling with cleancode focus and as risk taker
Techdebt handling with cleancode focus and as risk taker
RajaNagendraKumar
 
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...
Philip Schwarz
 
How to purchase, license and subscribe to Microsoft Azure_PDF.pdf
How to purchase, license and subscribe to Microsoft Azure_PDF.pdfHow to purchase, license and subscribe to Microsoft Azure_PDF.pdf
How to purchase, license and subscribe to Microsoft Azure_PDF.pdf
victordsane
 
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONAI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
miso_uam
 
GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...
GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...
GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...
GirikHire
 
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdfSecure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Northwind Technologies
 
Scalefusion Remote Access for Apple Devices
Scalefusion Remote Access for Apple DevicesScalefusion Remote Access for Apple Devices
Scalefusion Remote Access for Apple Devices
Scalefusion
 
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjaraswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
muhammadalikhanalikh1
 
Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...
Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...
Why Indonesia’s $12.63B Alt-Lending Boom Needs Loan Servicing Automation & Re...
Prachi Desai
 
Internship in South western railways on software
Internship in South western railways on softwareInternship in South western railways on software
Internship in South western railways on software
abhim5889
 
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdfBoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
Ortus Solutions, Corp
 
How AI Can Improve Media Quality Testing Across Platforms (1).pptx
How AI Can Improve Media Quality Testing Across Platforms (1).pptxHow AI Can Improve Media Quality Testing Across Platforms (1).pptx
How AI Can Improve Media Quality Testing Across Platforms (1).pptx
kalichargn70th171
 
Issues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptxIssues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptx
Jalalkhan657136
 
Intranet Examples That Are Changing the Way We Work
Intranet Examples That Are Changing the Way We WorkIntranet Examples That Are Changing the Way We Work
Intranet Examples That Are Changing the Way We Work
BizPortals Solutions
 
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)How John started to like TDD (instead of hating it) (ViennaJUG, June'25)
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)
Nacho Cougil
 
Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...
Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...
Feeling Lost in the Blue? Exploring a New Path: AI Mental Health Counselling ...
officeiqai
 
Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!
PhilMeredith3
 
Design by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First DevelopmentDesign by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First Development
Par-Tec S.p.A.
 
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdf
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdfHow to Generate Financial Statements in QuickBooks Like a Pro (1).pdf
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdf
QuickBooks Training
 
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROI
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROIAutoposting.ai Sales Deck - Skyrocket your LinkedIn's ROI
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROI
Udit Goenka
 
Techdebt handling with cleancode focus and as risk taker
Techdebt handling with cleancode focus and as risk takerTechdebt handling with cleancode focus and as risk taker
Techdebt handling with cleancode focus and as risk taker
RajaNagendraKumar
 
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...
Philip Schwarz
 
How to purchase, license and subscribe to Microsoft Azure_PDF.pdf
How to purchase, license and subscribe to Microsoft Azure_PDF.pdfHow to purchase, license and subscribe to Microsoft Azure_PDF.pdf
How to purchase, license and subscribe to Microsoft Azure_PDF.pdf
victordsane
 
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONAI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
miso_uam
 
GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...
GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...
GirikHire Unlocking the Future of Tech Talent with AI-Powered Hiring Solution...
GirikHire
 

Beyond CSS Architecture