SlideShare a Scribd company logo
Speed up your Web
Development
Ushering in 2012
Speaker : Spin Lai
Date : 2012/1/10
2012年1月10日星期二
Time breakdown of modern
web development
2012年1月10日星期二
40%
Trying to get the bastard to work in
Internet fu*king Explorer
2012年1月10日星期二
15%
Swearing
2012年1月10日星期二
20%
Trying to get the layout to work using
only CSS before giving up and using table
2012年1月10日星期二
10%
Making the site W3C comliant
2012年1月10日星期二
10%
Wishing a slow, painful death on Bill Gat*s
2012年1月10日星期二
5%
Actually coding/design
2012年1月10日星期二
Can somebody help us,
Please ?
2012年1月10日星期二
Can somebody help us,
Of course!
2012年1月10日星期二
ZenCoding
SASS/Compass
Dojo
2012年1月10日星期二
ZenCoding
2012年1月10日星期二
ZenCoding
2012年1月10日星期二
What is ZenCoding ?
2012年1月10日星期二
What is ZenCoding ?
Get HTML
done faster !
2012年1月10日星期二
But I have code snippet
plugins for my IDE.
2012年1月10日星期二
Cross-platform
Cross-editor
CSS-like syntax
ZenCoding is ...
2012年1月10日星期二
It works with ...
2012年1月10日星期二
<textarea>
2012年1月10日星期二
And how ?
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<div id="content">
</div>
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<div id="content">
</div>
div#content
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<div id="content">
</div>
div#content
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<ul id="navigation">
<li></li>
<li></li>
<li></li>
</ul>
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<ul id="navigation">
<li></li>
<li></li>
<li></li>
</ul>
ul#navigation>li*3
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<ul id="navigation">
<li></li>
<li></li>
<li></li>
</ul>
ul#navigation>li*3
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<select id="jazz" name="" class="album">
<option value=""></option>
<option value=""></option>
</select>
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
select#jazz.album>option*2
<select id="jazz" name="" class="album">
<option value=""></option>
<option value=""></option>
</select>
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
select#jazz.album>option*2
<select id="jazz" name="" class="album">
<option value=""></option>
<option value=""></option>
</select>
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<div id="thediv">
<p class="first"></p>
<p class="second"></p>
</div>
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<div id="thediv">
<p class="first"></p>
<p class="second"></p>
</div>
div#thediv>p.first+p.second
2012年1月10日星期二
HTML[ ]
[ ]Zen Code
<div id="thediv">
<p class="first"></p>
<p class="second"></p>
</div>
div#thediv>p.first+p.second
2012年1月10日星期二
DEMO
2012年1月10日星期二
SASS/Compass
2012年1月10日星期二
CSS/SASS/Compass
2012年1月10日星期二
尛
2012年1月10日星期二
2012年1月10日星期二
CSS / SASS / Compass
2012年1月10日星期二
CSS / SASS / Compass
2012年1月10日星期二
Everything is much easier
2012年1月10日星期二
Everything is much easier
in the
beginning...
2012年1月10日星期二
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');
}
2012年1月10日星期二
2012年1月10日星期二
When the project grows up...
2012年1月10日星期二
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 groupseems obsolete, but required to overcome bug inOpera applying cursor: text overall if definedelsewhere... */
.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 */
}
2012年1月10日星期二
2012年1月10日星期二
2012年1月10日星期二
2012年1月10日星期二
CSS / SASS / Compass
2012年1月10日星期二
SASS is ...
2012年1月10日星期二
NOT SuperASS
SASS is ...
2012年1月10日星期二
NOT SuperASS
Syntatically Awsome StyleSheet
SASS is ...
2012年1月10日星期二
NOT SuperASS
Syntatically Awsome StyleSheet
SASS v3 is known as SCSS
SASS is ...
2012年1月10日星期二
Okay, but what can she do?
2012年1月10日星期二
Nesting
Variable
Mixins
Inheritance
and so on...
2012年1月10日星期二
Nesting
Variable
Mixins
Inheritance
and so on...
2012年1月10日星期二
[ CSS ] [ SCSS ]
#header {
margin-bottom: 50px;
}
#header h1 {
font-size: 24px;
color: red;
}
#header h1 a {
display: block;
}
#header ul.nav li {
float: left;
}
2012年1月10日星期二
[ 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; }
}
}
2012年1月10日星期二
[ 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; }
}
}
2012年1月10日星期二
[ 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; }
}
}
2012年1月10日星期二
[ 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 ]
2012年1月10日星期二
Nesting
Variable
Mixins
Inheritance
and so on...
2012年1月10日星期二
[ CSS ] [ SCSS ]
a, h1, h2, h3, h4, h5 {
color: #ff9900;
}
#header {
background: #ff9900;
}
.section {
padding: 10px;
margin-bottom: 20px;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
Nesting
Variable
Mixins
Inheritance
and so on...
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
Nesting
Variable
Mixins
Inheritance
and so on...
2012年1月10日星期二
[ CSS ] [ SCSS ]
.warn {
background: yellow;
}
.bad_warn {
background: yellow;
font-weight: bold;
color: red;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
[ 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;
}
2012年1月10日星期二
Nesting
Variable
Mixins
Inheritance
and so on...
2012年1月10日星期二
CSS / Sass / Compass
2012年1月10日星期二
Powered by SASS
Meta framework
Code snippets
Best practices
Compass is ...
2012年1月10日星期二
Tell me more !
2012年1月10日星期二
Helpers
Extension
Project Context
and lots more...
2012年1月10日星期二
Helpers
Extension
Project Context
and lots more...
2012年1月10日星期二
@import "compass"
.linear {
@include background(linear-
gradient(
top left, #333, #0C0));
}
2012年1月10日星期二
@import "compass"
.box {
@include border-radius(8px);
@include box-shadow(
rgba(#CCC, 0.5) 3px 3px 5px
);
}
2012年1月10日星期二
Helpers
Extension
Project Context
and lots more...
2012年1月10日星期二
Helpers
Extension
Project Context
and lots more...
2012年1月10日星期二
Helpers
Extension
Project Context
and lots more...
2012年1月10日星期二
DEMO
2012年1月10日星期二
Dojo
2012年1月10日星期二
Dojo
2012年1月10日星期二
One day ...
2012年1月10日星期二
Doraemon
2012年1月10日星期二
It’s easy! see...
2012年1月10日星期二
It’s easy! see...
2012年1月10日星期二
But I use IE9, and...
2012年1月10日星期二
But I use IE9, and...
2012年1月10日星期二
2012年1月10日星期二
2012年1月10日星期二
I use IE6, WTF...
2012年1月10日星期二
I use IE6, WTF...
2012年1月10日星期二
2012年1月10日星期二
God !
Help us !!
2012年1月10日星期二
Dojo ? What’s that?
2012年1月10日星期二
Powerful Javascript toolkit
Open source
BSD licensed
Dojo is ...
2012年1月10日星期二
Powerful ? Show me
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
Layout
Form
Dialogs
Tooltips
Trees
and lots more...
2012年1月10日星期二
DEMO
2012年1月10日星期二
Last ,
but not
least...
2012年1月10日星期二
IE6 must die!
2012年1月10日星期二
Reference
2012年1月10日星期二
ZenCoding
http://code.google.com/p/zen-coding/
SASS
http://sass-lang.com
Compass
http://compass-style.org
Dojo
http://dojotoolkit.org
2012年1月10日星期二

More Related Content

PDF
a hands on guide to django
KEY
Lighting talk on django-social-auth
KEY
The One Way
PPT
Daniel and the Lions
PPTX
Microsoft MCSA- Joining Client Machines To The Domain!
PDF
程式人雜誌 -- 2014 年9月號
PDF
Div+Css布局入门教程
PPT
十步学会用Css+Div建站
a hands on guide to django
Lighting talk on django-social-auth
The One Way
Daniel and the Lions
Microsoft MCSA- Joining Client Machines To The Domain!
程式人雜誌 -- 2014 年9月號
Div+Css布局入门教程
十步学会用Css+Div建站

Similar to Speed up your web development (15)

PPT
Denver CMS Expo Creating CSS template
PPT
Creating CSS Template with Barrie North
PPTX
CSS 分享 (2) CSS 基本概念與語法
PPT
揭秘Html5和Css3
PPT
揭秘Html5和Css3 ---- 鲁超伍
PPT
Html5css3 go.yeefe.com
PPT
2010 01-07周五分享 前端的那些事儿-小米猪
PDF
D2分享:让前端开发更高效
PDF
高效率的、可维护的Css
PDF
[译]Efficient, maintainable CSS
PPT
CSS 菜鳥救星
PPT
网页设计及制作(Div+css)
PPT
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
PPTX
HTML5 介绍
 
PDF
深入剖析浏览器
Denver CMS Expo Creating CSS template
Creating CSS Template with Barrie North
CSS 分享 (2) CSS 基本概念與語法
揭秘Html5和Css3
揭秘Html5和Css3 ---- 鲁超伍
Html5css3 go.yeefe.com
2010 01-07周五分享 前端的那些事儿-小米猪
D2分享:让前端开发更高效
高效率的、可维护的Css
[译]Efficient, maintainable CSS
CSS 菜鳥救星
网页设计及制作(Div+css)
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
HTML5 介绍
 
深入剖析浏览器
Ad

More from Spin Lai (6)

PDF
Django User Management & Social Authentication
PDF
Django class based views for beginners
PDF
Bdd for legacy system
PDF
Two scoops of Django - Security Best Practices
PDF
Hitcon2013 overview
PDF
The django book - Chap10 : Advanced Models
Django User Management & Social Authentication
Django class based views for beginners
Bdd for legacy system
Two scoops of Django - Security Best Practices
Hitcon2013 overview
The django book - Chap10 : Advanced Models
Ad

Speed up your web development