Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Speed up your web development
Search
Spin
January 10, 2012
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Speed up your web development
Spin
January 10, 2012
More Decks by Spin
See All by Spin
Django Class-based Views for Beginners
spin
2
250
Two scoops of Django - Security Best Practices
spin
0
130
The django book - Chap10 : Advanced Models
spin
1
150
Other Decks in Programming
See All in Programming
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
460
ALB ログから Trace を気合で繋げる技術
fohte
7
860
高専キャリア LT 発表内容
crysta1221
6
5.5k
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
550
ソフトウェアラスタライザ
fadis
1
780
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
300
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
370
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
720
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
400
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
170
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
890
Automating Front-end Workflow
addyosmani
1369
210k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
870
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Music & Morning Musume
bryan
47
7.4k
For a Future-Friendly Web
brad_frost
183
10k
Designing for Timeless Needs
cassininazir
1
470
Transcript
Speed up your Web Development Ushering in 2012 Speaker :
Spin Lai Date : 2012/1/10 ϋ˜˚ಂɚ
Time breakdown of modern web development ϋ˜˚ಂɚ
40% Trying to get the bastard to work in Internet
fu*king Explorer ϋ˜˚ಂɚ
15% Swearing ϋ˜˚ಂɚ
20% Trying to get the layout to work using only
CSS before giving up and using table ϋ˜˚ಂɚ
10% Making the site W3C comliant ϋ˜˚ಂɚ
10% Wishing a slow, painful death on Bill Gat*s ϋ˜˚ಂɚ
5% Actually coding/design ϋ˜˚ಂɚ
Can somebody help us, Please ? ϋ˜˚ಂɚ
Can somebody help us, Of course! ϋ˜˚ಂɚ
ZenCoding SASS/Compass Dojo ϋ˜˚ಂɚ
ZenCoding ϋ˜˚ಂɚ
ZenCoding ϋ˜˚ಂɚ
What is ZenCoding ? ϋ˜˚ಂɚ
What is ZenCoding ? Get HTML done faster ! ϋ˜˚ಂɚ
But I have code snippet plugins for my IDE. ϋ˜˚ಂɚ
Cross-platform Cross-editor CSS-like syntax ZenCoding is ... ϋ˜˚ಂɚ
It works with ... ϋ˜˚ಂɚ
<textarea> ϋ˜˚ಂɚ
And how ? ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <div id="content"> </div>
ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <div id="content"> </div>
div#content ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <div id="content"> </div>
div#content ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <ul id="navigation"> <li></li>
<li></li> <li></li> </ul> ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <ul id="navigation"> <li></li>
<li></li> <li></li> </ul> ul#navigation>li*3 ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <ul id="navigation"> <li></li>
<li></li> <li></li> </ul> ul#navigation>li*3 ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <select id="jazz" name=""
class="album"> <option value=""></option> <option value=""></option> </select> ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code select#jazz.album>option*2 <select id="jazz"
name="" class="album"> <option value=""></option> <option value=""></option> </select> ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code select#jazz.album>option*2 <select id="jazz"
name="" class="album"> <option value=""></option> <option value=""></option> </select> ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <div id="thediv"> <p
class="first"></p> <p class="second"></p> </div> ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <div id="thediv"> <p
class="first"></p> <p class="second"></p> </div> div#thediv>p.first+p.second ϋ˜˚ಂɚ
HTML [ ] [ ] Zen Code <div id="thediv"> <p
class="first"></p> <p class="second"></p> </div> div#thediv>p.first+p.second ϋ˜˚ಂɚ
DEMO ϋ˜˚ಂɚ
SASS/Compass ϋ˜˚ಂɚ
CSS/SASS/Compass ϋ˜˚ಂɚ
尛 ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
CSS / SASS / Compass ϋ˜˚ಂɚ
CSS / SASS / Compass ϋ˜˚ಂɚ
Everything is much easier ϋ˜˚ಂɚ
Everything is much easier in the beginning... ϋ˜˚ಂɚ
body { margin: 0; padding: 0; background-color: #D1E7FF; font-family: Verdana,
Arial, Helvetica, sans-serif; } div#main { margin: 0 2em 0 2em; padding: 0; background: #FFF; } div#footer { margin: 0 3em; padding: 0.5em 0; background: #FFF; height: 64px; background-image: url('images/inex_06.jpg'); } ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
When the project grows up... ϋ˜˚ಂɚ
table#tb_product_grid {width: 100%;} table#tb_product_grid td {margin: 0;padding: 0; text-align: center;}
table#tb_product_grid img{width: 350px;} table#tb_LT_realtime th.y_desc {border-right: 1px solid #999; border-bottom: 1px solid #999; background: #5A042C; color: #FFF; width: 22%;} table#tb_LT_realtime th.x_var {background: #E7E5E5; width: 13%;} table#tb_LT_realtime th.y_var {border: 1px solid #DDD; padding: 0.25em 1.5em 0.25em 0; text-align: right;} .formbutton04{ cursor:pointer; border:outset 1px #ccc; background:#999; color:#000; font-family:Verdana,sans-serif; font-weight:bold; padding: 1px 2px; background:url(images/formbg04.gif) repeat-x left top; } .btn3_mouseout { BORDER-RIGHT: #2C59AA 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #2C59AA 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; FILTER: progid:DXImageTransform.Microsoft.Gradient (GradientType=0, StartColorStr=#ffffff, EndColorStr=#C3DAF5); BORDER-LEFT: #2C59AA 1px solid; CURSOR: hand; COLOR: black; PADDING-TOP: 2px; BORDER-BOTTOM: #2C59AA 1px solid } .btn3_mouseover { BORDER-RIGHT: #2C59AA 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #2C59AA 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; FILTER: progid:DXImageTransform.Microsoft.Gradient (GradientType=0, StartColorStr=#ffffff, EndColorStr=#D7E7FA); BORDER-LEFT: #2C59AA 1px solid; CURSOR: hand; COLOR: black; PADDING-TOP: 2px; BORDER-BOTTOM: #2C59AA 1px solid } iv#display_img{ text-align: center; margin: 0 0 0 2.5em; width: 1000px; } div#img_name{ width: 1000px; height:20px; font-size: large; text-align: center; } div#img_list_name{ padding:2px; font-size: large; height: 20px; text-align: center; width: 1000px; } div#down_gif{ margin: 0.5em 0 0 2.5em; width:1000px; /* height:20px; */ text-align:right; cursor: pointer; } .ui-tabs { padding: .2em; zoom: 1; } .ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; } .ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; } .ui-tabs .ui-tabs-nav li a { float: left; text- decoration: none; padding: .5em 1em; } .ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; } .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui- tabs .ui-tabs-nav li.ui-state-disabled a, .ui- tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs- collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ .ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; } .ui-tabs .ui-tabs-hide { display: none ! important; } div.sitemap_layer_1{ border: 1px solid #B5D9EA; margin: 0.5em 0 0 28px; background: #D9F1FC; padding: 0.25em 1em 0.25em 1em; display: inline-block; *display: inline; / * This is for IE6 */ zoom: 1; / * This is for inline-block in IE */ *display: inline !important; / * This is for IE7 */ } ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
CSS / SASS / Compass ϋ˜˚ಂɚ
SASS is ... ϋ˜˚ಂɚ
NOT SuperASS SASS is ... ϋ˜˚ಂɚ
NOT SuperASS Syntatically Awsome StyleSheet SASS is ... ϋ˜˚ಂɚ
NOT SuperASS Syntatically Awsome StyleSheet SASS v3 is known as
SCSS SASS is ... ϋ˜˚ಂɚ
Okay, but what can she do? ϋ˜˚ಂɚ
Nesting Variable Mixins Inheritance and so on... ϋ˜˚ಂɚ
Nesting Variable Mixins Inheritance and so on... ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] #header { margin-bottom: 50px;
} #header h1 { font-size: 24px; color: red; } #header h1 a { display: block; } #header ul.nav li { float: left; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] #header { margin-bottom: 50px;
} #header h1 { font-size: 24px; color: red; } #header h1 a { display: block; } #header ul.nav li { float: left; } #header { margin-bottom: 50px; h1 { font-size: 24px; color: red; a { display: block; } } ul.nav { li { float:left; } } } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] #header { margin-bottom: 50px;
} #header h1 { font-size: 24px; color: red; } #header h1 a { display: block; } #header ul.nav li { float: left; } #header { margin-bottom: 50px; h1 { font-size: 24px; color: red; a { display: block; } } ul.nav { li { float:left; } } } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] #header { margin-bottom: 50px;
} #header h1 { font-size: 24px; color: red; } #header h1 a { display: block; } #header ul.nav li { float: left; } #header { margin-bottom: 50px; h1 { font-size: 24px; color: red; a { display: block; } } ul.nav { li { float:left; } } } ϋ˜˚ಂɚ
[ CSS ] #header { margin-bottom: 50px; } #header h1
{ font-size: 24px; color: red; } #header h1 a { display: block; } #header ul.nav li { float: left; } #header { margin-bottom: 50px; h1 { font-size: 24px; color: red; a { display: block; } } ul.nav { li { float:left; } } } [ SCSS ] ϋ˜˚ಂɚ
Nesting Variable Mixins Inheritance and so on... ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] a, h1, h2, h3,
h4, h5 { color: #ff9900; } #header { background: #ff9900; } .section { padding: 10px; margin-bottom: 20px; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] a, h1, h2, h3,
h4, h5 { color: #ff9900; } #header { background: #ff9900; } .section { padding: 10px; margin-bottom: 20px; } $LINK_COLOR: #FF9900; $MARGIN: 20px; a, h1, h2, h3, h4, h5 { color: $LINK_COLOR; } #header { background: $LINK_COLOR; } .section { padding: $MARGIN / 2; margin-bottom: $MARGIN; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] a, h1, h2, h3,
h4, h5 { color: #ff9900; } #header { background: #ff9900; } .section { padding: 10px; margin-bottom: 20px; } $LINK_COLOR: #FF9900; $MARGIN: 20px; a, h1, h2, h3, h4, h5 { color: $LINK_COLOR; } #header { background: $LINK_COLOR; } .section { padding: $MARGIN / 2; margin-bottom: $MARGIN; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] a, h1, h2, h3,
h4, h5 { color: #ff9900; } #header { background: #ff9900; } .section { padding: 10px; margin-bottom: 20px; } $LINK_COLOR: #FF9900; $MARGIN: 20px; a, h1, h2, h3, h4, h5 { color: $LINK_COLOR; } #header { background: $LINK_COLOR; } .section { padding: $MARGIN / 2; margin-bottom: $MARGIN; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] a, h1, h2, h3,
h4, h5 { color: #ff9900; } #header { background: #ff9900; } .section { padding: 10px; margin-bottom: 20px; } $LINK_COLOR: #FF9900; $MARGIN: 20px; a, h1, h2, h3, h4, h5 { color: $LINK_COLOR; } #header { background: $LINK_COLOR; } .section { padding: $MARGIN / 2; margin-bottom: $MARGIN; } ϋ˜˚ಂɚ
Nesting Variable Mixins Inheritance and so on... ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] #navbar li { border-top-radius:
10px; -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; } #footer { border-top-radius: 10px; -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] @mixin rounded-top { $RADIUS:
10px; border-top-radius: $RADIUS; -moz-border-radius-top: $RADIUS; -webkit-border-top-radius: $RADIUS; } #navbar li { @include rounded- top; } #footer { @include rounded-top; } #navbar li { border-top-radius: 10px; -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; } #footer { border-top-radius: 10px; -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] @mixin rounded-top { $RADIUS:
10px; border-top-radius: $RADIUS; -moz-border-radius-top: $RADIUS; -webkit-border-top-radius: $RADIUS; } #navbar li { @include rounded- top; } #footer { @include rounded-top; } #navbar li { border-top-radius: 10px; -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; } #footer { border-top-radius: 10px; -moz-border-radius-top: 10px; -webkit-border-top-radius: 10px; } ϋ˜˚ಂɚ
Nesting Variable Mixins Inheritance and so on... ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] .warn { background: yellow;
} .bad_warn { background: yellow; font-weight: bold; color: red; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] .warn { background: yellow;
} .bad_warn { @extend .warn; font-weight: bold; color: red; } .warn { background: yellow; } .bad_warn { background: yellow; font-weight: bold; color: red; } ϋ˜˚ಂɚ
[ CSS ] [ SCSS ] .warn { background: yellow;
} .bad_warn { @extend .warn; font-weight: bold; color: red; } .warn { background: yellow; } .bad_warn { background: yellow; font-weight: bold; color: red; } ϋ˜˚ಂɚ
Nesting Variable Mixins Inheritance and so on... ϋ˜˚ಂɚ
CSS / Sass / Compass ϋ˜˚ಂɚ
Powered by SASS Meta framework Code snippets Best practices Compass
is ... ϋ˜˚ಂɚ
Tell me more ! ϋ˜˚ಂɚ
Helpers Extension Project Context and lots more... ϋ˜˚ಂɚ
Helpers Extension Project Context and lots more... ϋ˜˚ಂɚ
@import "compass" .linear { @include background(linear- gradient( top left, #333,
#0C0)); } ϋ˜˚ಂɚ
@import "compass" .box { @include border-radius(8px); @include box-shadow( rgba(#CCC, 0.5)
3px 3px 5px ); } ϋ˜˚ಂɚ
Helpers Extension Project Context and lots more... ϋ˜˚ಂɚ
Helpers Extension Project Context and lots more... ϋ˜˚ಂɚ
Helpers Extension Project Context and lots more... ϋ˜˚ಂɚ
DEMO ϋ˜˚ಂɚ
Dojo ϋ˜˚ಂɚ
Dojo ϋ˜˚ಂɚ
One day ... ϋ˜˚ಂɚ
Doraemon ϋ˜˚ಂɚ
It’s easy! see... ϋ˜˚ಂɚ
It’s easy! see... ϋ˜˚ಂɚ
But I use IE9, and... ϋ˜˚ಂɚ
But I use IE9, and... ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
I use IE6, WTF... ϋ˜˚ಂɚ
I use IE6, WTF... ϋ˜˚ಂɚ
ϋ˜˚ಂɚ
God ! Help us !! ϋ˜˚ಂɚ
Dojo ? What’s that? ϋ˜˚ಂɚ
Powerful Javascript toolkit Open source BSD licensed Dojo is ...
ϋ˜˚ಂɚ
Powerful ? Show me ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
Layout Form Dialogs Tooltips Trees and lots more... ϋ˜˚ಂɚ
DEMO ϋ˜˚ಂɚ
Last , but not least... ϋ˜˚ಂɚ
IE6 must die! ϋ˜˚ಂɚ
Reference ϋ˜˚ಂɚ
ZenCoding http://code.google.com/p/zen-coding/ SASS http://sass-lang.com Compass http://compass-style.org Dojo http://dojotoolkit.org ϋ˜˚ಂɚ