SlideShare una empresa de Scribd logo
1 de 47
NetEase Mail FETC. Hello, JSS! 孙极
十多年前⋯⋯
四年前⋯⋯
今天
什么是JSS?
JSS解析
Javascript Actionscript JSS解析 PHP ⋯⋯
JSS的特性
常量
CSS .mod1 { …color:#CC3300;… } .mod2 { …background:#CC3300;… } .mod3 { …border-color:#CC3300;… } .mod4 { …outline:#CC3300;… } …
JSS $color = “ #CC3300 ” ; .mod1 { …color:$color;… } .mod2 { …background:$color;… } .mod3 { …border-color:$color;… } .mod4 { …outline:$color;… } …
常量 定义常量: $string1	=	”#CCC”; $string2	=	”10px”; $number1	=	10; $number2	=	10px;
常量 使用常量: div{ color:$string1; width:$number2; }
常量 常量运算: $string1	=	”#CCC”; $string2	=	”10px”; $string1+$string2 #CCC10px
常量 常量运算: $num1	=	10px; $num2	=	20; $num1+$num2 30px
常量 常量运算: $string	=	“10px”; $num	=	20; $string+$num 10px20
函数
CSS .mod1 { ... -webkit-box-shadow:0 0 5px #999; -moz-box-shadow:0 0 5px #999; box-shadow:0 0 5px #999; ... } .mod2 { ... -webkit-box-shadow:0 0 6px #CCC; -moz-box-shadow:0 0 6px #CCC; box-shadow:0 0 6px #CCC; ... } ...
JSS $shadow($x,$y,$s,$c){ -webkit-box-shadow:$x $y $s $c; -moz-box-shadow:$x $y $s $c; box-shadow:$x $y $s $c; }
JSS $shadow($x,$y,$s,$c){ -webkit-box-shadow:$x $y $s $c; -moz-box-shadow:$x $y $s $c; box-shadow:$x $y $s $c; } .mod1 { 	… $shadow(0,0,5px,”#999”); 	… } .mod2 { 	… $shadow(0,0,8px,”#ccc”); 	… }
函数 定义函数: $func(){ 	color:#ccc; }
函数 定义函数: $func($a,$b,$c){ 	color:$a; 	background:$b; 	font-size:$c; }
函数 定义函数: $func($a=“#ccc”,$b=“#000”,$c=12px){ 	color:$a; 	background:$b; 	font-size:$c; }
函数 使用函数: div{ $func(); }
函数 使用函数: div{ $func(“#000”,$string1) }
分组
CSS tableth, table td{...}
CSS .parent>.child1, .parent>.child2{...}
CSS .link1:hover, .link1:active, .link2:hover, .link2:active{...}
JSS table  (th,td) {...}
JSS .parent>(.child1,.child2) {...}
JSS (.link1,.link2):(hover,active) {...}
封装
CSS .mod .hd{...} .mod .bd{...} .mod .bd p{...} .mod .bdtable{...} .mod .ft{...}
CSS .mod_hd{...} .mod_bd{...} .mod_bd p{...} .mod_bd table{...} .mod_ft{...}
JSS .mod[[ 	.hd{...} .bd[[ 		p{...} 	table{...} 	]] 	.ft{...} ]]
JSS .mod[[ 	_hd{...} _bd[[ 		p{...} 	table{...} 	]] 	_ft{...} ]]
Hack
CSS div{ +width:10px; -width:12px; ? }
JSS div{ -ie7-width:10px; -wk-width:15px; -!ie-width:18px; -?sunji-width:20px; ... }
继承
CSS .mod .newMod class=“mod newMod”
JSS .newMod, .mod[[ 	... ]]
JSS $mod($s){ $s{...} ($s) p{...} } $mod (“.mod,.newMod”);
Sass Less vs.
举个栗子
谢谢! classtyle.com/jss

Más contenido relacionado

Similar a 孙极-Hello, JSS! - 一种新样式语言的诞生

程式人雜誌 -- 2014 年9月號
程式人雜誌 -- 2014 年9月號程式人雜誌 -- 2014 年9月號
程式人雜誌 -- 2014 年9月號鍾誠 陳鍾誠
 
Sencha SDK Tools简介:IE6上也可以用CSS3?
Sencha SDK Tools简介:IE6上也可以用CSS3?Sencha SDK Tools简介:IE6上也可以用CSS3?
Sencha SDK Tools简介:IE6上也可以用CSS3?Frank Cheung
 
重构经验分享
重构经验分享重构经验分享
重构经验分享TenJessy
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例Kuro Hsu
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3Duran Hsieh
 
恶意网页分析实战
恶意网页分析实战恶意网页分析实战
恶意网页分析实战Huang Toby
 
史前的Ssjs——从js的asp到node js
史前的Ssjs——从js的asp到node js史前的Ssjs——从js的asp到node js
史前的Ssjs——从js的asp到node jsFrank Cheung
 
面向开发的前端性能优化
面向开发的前端性能优化面向开发的前端性能优化
面向开发的前端性能优化li qiang
 
Mongo db introduction
Mongo db introductionMongo db introduction
Mongo db introductionDai Qifeng
 
SSDB 入门基础
SSDB 入门基础SSDB 入门基础
SSDB 入门基础ideawu
 
Talking about exploit writing
Talking about exploit writingTalking about exploit writing
Talking about exploit writingsbha0909
 
不一樣的Web server... coServ
不一樣的Web server... coServ不一樣的Web server... coServ
不一樣的Web server... coServBen Lue
 

Similar a 孙极-Hello, JSS! - 一种新样式语言的诞生 (16)

程式人雜誌 -- 2014 年9月號
程式人雜誌 -- 2014 年9月號程式人雜誌 -- 2014 年9月號
程式人雜誌 -- 2014 年9月號
 
Sencha SDK Tools简介:IE6上也可以用CSS3?
Sencha SDK Tools简介:IE6上也可以用CSS3?Sencha SDK Tools简介:IE6上也可以用CSS3?
Sencha SDK Tools简介:IE6上也可以用CSS3?
 
重构经验分享
重构经验分享重构经验分享
重构经验分享
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
 
Less is more
Less is moreLess is more
Less is more
 
Less is more!?
Less is more!?Less is more!?
Less is more!?
 
3sss book
3sss book3sss book
3sss book
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
 
恶意网页分析实战
恶意网页分析实战恶意网页分析实战
恶意网页分析实战
 
史前的Ssjs——从js的asp到node js
史前的Ssjs——从js的asp到node js史前的Ssjs——从js的asp到node js
史前的Ssjs——从js的asp到node js
 
面向开发的前端性能优化
面向开发的前端性能优化面向开发的前端性能优化
面向开发的前端性能优化
 
Mongo db introduction
Mongo db introductionMongo db introduction
Mongo db introduction
 
SSDB 入门基础
SSDB 入门基础SSDB 入门基础
SSDB 入门基础
 
Talking about exploit writing
Talking about exploit writingTalking about exploit writing
Talking about exploit writing
 
不一樣的Web server... coServ
不一樣的Web server... coServ不一樣的Web server... coServ
不一樣的Web server... coServ
 
Css
CssCss
Css
 

Más de Webrebuild

构建可扩展的静态资源管理系统
构建可扩展的静态资源管理系统构建可扩展的静态资源管理系统
构建可扩展的静态资源管理系统Webrebuild
 
Script with engine
Script with engineScript with engine
Script with engineWebrebuild
 
Css3之颜色与半透明
Css3之颜色与半透明Css3之颜色与半透明
Css3之颜色与半透明Webrebuild
 
移动网站的兼容性探索
移动网站的兼容性探索移动网站的兼容性探索
移动网站的兼容性探索Webrebuild
 
陈子舜-Html5 based web app
陈子舜-Html5 based web app陈子舜-Html5 based web app
陈子舜-Html5 based web appWebrebuild
 
谭正谊-QQ邮箱HTML5移动应用
谭正谊-QQ邮箱HTML5移动应用谭正谊-QQ邮箱HTML5移动应用
谭正谊-QQ邮箱HTML5移动应用Webrebuild
 
唐俊开-Html5 mobile web app浅谈
唐俊开-Html5 mobile web app浅谈唐俊开-Html5 mobile web app浅谈
唐俊开-Html5 mobile web app浅谈Webrebuild
 
微观重构 黄婉芳
微观重构 黄婉芳微观重构 黄婉芳
微观重构 黄婉芳Webrebuild
 
年会主持 By pufen
年会主持 By pufen年会主持 By pufen
年会主持 By pufenWebrebuild
 
年会主持 By pufen
年会主持 By pufen年会主持 By pufen
年会主持 By pufenWebrebuild
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofishWebrebuild
 
重构的价值转化 By impact
重构的价值转化 By impact重构的价值转化 By impact
重构的价值转化 By impactWebrebuild
 
七年之痒Webrebuild by emu
七年之痒Webrebuild by emu七年之痒Webrebuild by emu
七年之痒Webrebuild by emuWebrebuild
 
Qmail rebuild_by_nico
Qmail rebuild_by_nicoQmail rebuild_by_nico
Qmail rebuild_by_nicoWebrebuild
 
潘杰茂_网络图像优化
潘杰茂_网络图像优化潘杰茂_网络图像优化
潘杰茂_网络图像优化Webrebuild
 
张思坚 浏览器兼容性
张思坚 浏览器兼容性张思坚 浏览器兼容性
张思坚 浏览器兼容性Webrebuild
 
飘飘 年会主持
飘飘 年会主持飘飘 年会主持
飘飘 年会主持Webrebuild
 
彪叔 [2010]webrebuild
彪叔 [2010]webrebuild彪叔 [2010]webrebuild
彪叔 [2010]webrebuildWebrebuild
 
陈军 Scrum敏捷项目管理-重构年会
陈军 Scrum敏捷项目管理-重构年会陈军 Scrum敏捷项目管理-重构年会
陈军 Scrum敏捷项目管理-重构年会Webrebuild
 
郑焕义 重温网站重构
郑焕义 重温网站重构郑焕义 重温网站重构
郑焕义 重温网站重构Webrebuild
 

Más de Webrebuild (20)

构建可扩展的静态资源管理系统
构建可扩展的静态资源管理系统构建可扩展的静态资源管理系统
构建可扩展的静态资源管理系统
 
Script with engine
Script with engineScript with engine
Script with engine
 
Css3之颜色与半透明
Css3之颜色与半透明Css3之颜色与半透明
Css3之颜色与半透明
 
移动网站的兼容性探索
移动网站的兼容性探索移动网站的兼容性探索
移动网站的兼容性探索
 
陈子舜-Html5 based web app
陈子舜-Html5 based web app陈子舜-Html5 based web app
陈子舜-Html5 based web app
 
谭正谊-QQ邮箱HTML5移动应用
谭正谊-QQ邮箱HTML5移动应用谭正谊-QQ邮箱HTML5移动应用
谭正谊-QQ邮箱HTML5移动应用
 
唐俊开-Html5 mobile web app浅谈
唐俊开-Html5 mobile web app浅谈唐俊开-Html5 mobile web app浅谈
唐俊开-Html5 mobile web app浅谈
 
微观重构 黄婉芳
微观重构 黄婉芳微观重构 黄婉芳
微观重构 黄婉芳
 
年会主持 By pufen
年会主持 By pufen年会主持 By pufen
年会主持 By pufen
 
年会主持 By pufen
年会主持 By pufen年会主持 By pufen
年会主持 By pufen
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofish
 
重构的价值转化 By impact
重构的价值转化 By impact重构的价值转化 By impact
重构的价值转化 By impact
 
七年之痒Webrebuild by emu
七年之痒Webrebuild by emu七年之痒Webrebuild by emu
七年之痒Webrebuild by emu
 
Qmail rebuild_by_nico
Qmail rebuild_by_nicoQmail rebuild_by_nico
Qmail rebuild_by_nico
 
潘杰茂_网络图像优化
潘杰茂_网络图像优化潘杰茂_网络图像优化
潘杰茂_网络图像优化
 
张思坚 浏览器兼容性
张思坚 浏览器兼容性张思坚 浏览器兼容性
张思坚 浏览器兼容性
 
飘飘 年会主持
飘飘 年会主持飘飘 年会主持
飘飘 年会主持
 
彪叔 [2010]webrebuild
彪叔 [2010]webrebuild彪叔 [2010]webrebuild
彪叔 [2010]webrebuild
 
陈军 Scrum敏捷项目管理-重构年会
陈军 Scrum敏捷项目管理-重构年会陈军 Scrum敏捷项目管理-重构年会
陈军 Scrum敏捷项目管理-重构年会
 
郑焕义 重温网站重构
郑焕义 重温网站重构郑焕义 重温网站重构
郑焕义 重温网站重构
 

孙极-Hello, JSS! - 一种新样式语言的诞生