Beyond the CSS Architecture Components CSS
CSS Components
-
Author
-
-
View
477
-
Download
0
Embed Size (px)
DESCRIPTION
2014-06-21 Frontrend in Nagoya w/ HTML5 NAGOYA
Text of CSS Components
- Beyond the CSS Architecture Components CSS
- Front-end Engineer Hiroki Tani github.com/hiloki
twitter.com/hiloki inkdesign.jp
- CSS Mark-up
- CSS Mark-up Designer
- CSS Mark-up Designer Engineer
- CSS
- Easy .text { color: red; }
- Hard too #main .article { ... } #main .article .title { ... }
#main .breaking .title { ... } #header #logo img { ... } #header
li#logoTop { ... } #header li#logoTop:after { .article-header
.datetime s ul.member-list li.member a .widget p,.widget ul { ... }
#sidebar .widget { ... } #sidebar li a.register{} body.landing
#main sectio #slider #slider-control > di
- CSS Architecture
- http://codepen.io/hiloki/full/dnGeB
-
- .speaker { overow: hidden; /* Clearx */ padding: 20px;
background-color: #fff; } .speaker .image { oat: left;
margin-right: 15px; } .speaker .image > img { border-radius:
60px; } .speaker .inner { overow: hidden; }
-
- .book { overow: hidden; /* Clearx */ padding: 20px;
background-color: #9DBCB8; color: #FFF; } .book .cover { oat: left;
margin-right: 20px; } .book .inner { overow: hidden; } .book .title
{ ... } ...
-
- .event > a { display: block; } .event .thumbnail { oat:
left; margin-right: 15px; } .event .inner { overow: hidden; }
-
- /* Media */ .media { overow: hidden; /* Clearx */ }
.media__image { oat: left; margin-right: 15px; } .media__body {
overow: hidden; }
- .speaker { overow: hidden; /* Clearx */ padding: 20px;
background-color: #fff; } .speaker .image { oat: left;
margin-right: 15px; } .speaker .image > img { border-radius:
60px; } .speaker .inner { overow: hidden; } .speaker { overow:
hidden; /* Clearx */ padding: 20px; background-color: #fff; }
.speaker .image { oat: left; margin-right: 15px; } .speaker .image
> img { border-radius: 60px; } .speaker .inner { overow: hidden;
}
- .speaker { overow: hidden; /* Clearx */ padding: 20px;
background-color: #fff; } .speaker .image { oat: left;
margin-right: 15px; } .speaker .image > img { border-radius:
60px; } .speaker .inner { overow: hidden; }
- .book { overow: hidden; /* Clearx */ padding: 20px;
background-color: #9DBCB8; color: #FFF; } .book .cover { oat: left;
margin-right: 20px; } .book .inner { overow: hidden; } .book .title
{ ... } ...
- .event > a { display: block; } .event .thumbnail { oat:
left; margin-right: 15px; } .event .inner { overow: hidden; }
-
- .book { padding: 20px; background-color: #9DBCB8; color: #FFF;
} .book__cover { margin-right: 20px; } .book__title { ... }
...
- OOCSS Nicole Sullivan @stubbornella
- OOCSS SMACSS BEM MCSS FLOCSS
- CSS Components
- = encapsulation Components
- Not perfect Components
-
- #pickup .book__name { color: #111; font-size: 2em; } !
.book__name { margin-bottom: 10px; line-height: 1.3; font-weight:
bold; font-size: 1.2em; }
- #pickup .book__name { color: #111; font-size: 2em; } !
.book__name { margin-bottom: 10px; line-height: 1.3; font-weight:
bold; font-size: 1.2em; background-color: #333; padding: 6px;
}
- #pickup .book__name { color: #111; font-size: 2em;
background-color: #FFF; padding: 0; } ! .book__name {
margin-bottom: 10px; line-height: 1.3; font-weight: bold;
font-size: 1.2em; background-color: #333; padding: 6px; }
- Components
- Sharable Maintainable Easily-controlled
- Components Web
- Web Components Templates Shadow DOM HTML Imports - - - - Custom
Elements
- Templates
- Custom Elements ! ! !
- Custom Elements var element = Object.create(
HTMLElement.prototype ); document.registerElement( 'my-alert', {
prototype: element } );
- Shadow DOM // element.createdCallback = function() { var
template = document.querySelector('#my-media- template'); ! //
templateDocumentFragmentcontent var content = template.content; !
// Shadow RootcontentShadowDOM var shadowRoot =
this.createShadowRoot(); shadowRoot.appendChild(
document.importNode(content, true) ); };
- Shadow DOM // element.createdCallback = function() { var
template = document.querySelector('#my-media- template'); ! //
templateDocumentFragmentcontent var content = template.content; !
// Shadow RootcontentShadowDOM var shadowRoot =
this.createShadowRoot(); shadowRoot.appendChild(
document.importNode(content, true) ); }; = encapsulation
- HTML Imports
- Web Components - - - - Templates Shadow DOM HTML Imports Custom
Elements
- http://codepen.io/hiloki/full/obFui
-
...
...
/* */ .media { display: block; overow: hidden; /* Clearx */
color: indianred; } /* */ .media { display: block; overow: hidden;
/* Clearx */ color: indianred; } /* */ .media { display: block;
overow: hidden; /* Clearx */ color: indianred; } /* */ .media {
display: block; overow: hidden; /* Clearx */ color: skyblue; } /*
*/ .media { display: block; overow: hidden; /* Clearx */ color:
skyblue; } /* */ .media { display: block; overow: hidden; /* Clearx
*/ color: skyblue; } ::shadow /* */ .speaker::shadow .media {
display: block; overow: hidden; /* Clearx */ background-image:
url(orion.jpg); background-size: cover; } /* */ .speaker::shadow
.media { display: block; overow: hidden; /* Clearx */
background-image: url(orion.jpg); background-size: cover; } Shadow
DOM = encapsulation Custom Elements Shadow DOM = encapsulation
Custom Elements Shadow DOM = encapsulation Custom Elements
Shadow DOM = encapsulation Custom Elements ! ! ! ! ! ! ! ! ! ! !
! ! ! ! ! Shadow DOM = encapsulation Custom Elements ! ! ! ! ! ! !
! ! ! ! ! ! ! ! ! !
Shadow DOM = encapsulation Custom Elements ! ! ! ! ! ! ! ! ! ! !
! ! ! ! ! Shadow DOM = encapsulation Custom Elements ! ! ! ! ! ! !
! ! ! ! ! ! ! ! ! !
! Shadow DOM = encapsulation Custom Elements HTML5 Rocks
http://www.html5rocks.com/ Polymer http://www.polymer-project.org/
X-Tag http://www.x-tags.org/ In future Polymer designer
https://github.com/Polymer/designer Designer Builder Component
Component Designer Builder Component Component Component Designer.
Be a Thank you. github.com/hiloki twitter.com/hiloki inkdesign.jp
https://www.ickr.com/photos/premshree/3444104640/ - - - -
https://www.ickr.com/photos/ltdemartinet/8331549172/
https://www.ickr.com/photos/horiavarlan/4839454263/
https://www.ickr.com/photos/drewmaughan/8209503226/ Photos: