2011-01-20 下午 - html/css/xml/xsl - html5
2011,淘宝首页又改版了,值得称道是使用了HTML5,淘宝的开发团队在前端技术上始终是走在国内最前沿。
说到HTML5,最大的问题还是IE6/7/8的保护,他们使用了Remy Sharp的IE Print Protector办法。可以在head看到代码:
<!--[if IE]>
<script src="http://a.tbcdn.cn/p/fp/2011a/html5.js" type="text/javascript"></script>
<![endif]-->
如果IE6/7/8用户禁用了js呢?淘宝的办法有两个:
- 根据向导启用js;
- 让用户进入HTML4页面。
下面代码处理:
<!--[if lte IE 8]><noscript><div class="site-nav"></noscript><![endif]-->
......
<!--[if lte IE 8]><noscript></div></noscript><![endif]-->
最后还要记得CSS中设置文档中使用到的新标签display属性为block。
section,article,aside,header,footer,nav,dialog,figure{
display:block;
}
开发实践:http://www.slideshare.net/lijing00333/2011-6516501
3 Comments »
2010-04-12 上午 - html/css/xml/xsl - html5

预览demo:html5 forms demo
必填项
很简单,添加属性 required
输入框自动获取焦点
载入页面后,第一个NAME的输入框自动获取焦点。添加属性 autofocus
文本框的输入提示
一直以来都是利用javascript的onblur、onfocus来实现一个输入框的提示信息,现在只需要添加属性 placeholder="要提示的内容"
表单验证功能
将输入框的type设置为email,即可验证是否正确的邮箱地址。
有趣的input type=”range”
可拖动的滑块,可设置一个最小值(min)和一个最大值(max),还可以设置每拖动一格数字变动的步长(step)。配合output实现当前值的显示。
<input type="range" min="10" max="100" step="10" name="a">
output写法:
<output name="result" onforminput="value=a.value" >0</output>
input type=”number”
点击上下箭头按钮实现数字的加减操作。与“可拖动的滑块”类似,可设置最小值、最大值、步长。
<input type="number" min="18" max="25" step="2" name="age">
输入框下拉提示
可自行输入,也可以直接下拉选择。
<input id="search" type="url" list="searchlist" />
<datalist id="searchlist">
<option value="http://www.google.com" label="Google" />
<option value="http://www.yahoo.com" label="Yahoo" />
<option value="http://www.bing.com" label="Bing" />
<option value="http://www.baidu.com" label="Baidu" />
</datalist>
日期选择
不需要任何脚本的支持即可实现日历控件。
<input type="date" name="birthday" />
2 Comments »
2010-03-22 下午 - html/css/xml/xsl - html5
光说HTML 5的强大了,贴几个应用,感受一下(请使用支持HTML5的浏览器)。
-
号称:An open source Flash runtime,一个JS+SVG应用。解析SWF文件,然后播放。不需要Flash插件,不可思议!但并不是所有的flash都能解析播放的。
-
酷毙了!功能强大,画图毕后还能保存一张PNG格式的图片。
-
HTML 5视频的一个强大的应用。播放器的操控很便捷,播放、暂停、拖动进度、时间显示,甚至还能够全屏播放,这里的全屏是浏览器窗口的范围,不是整个屏幕。全屏后播放器的控制条还能随鼠标的状态渐隐渐显,体验真是great!
-
最后我们再来看看伟大的YouTube,看她是如何将HTML 5付诸现实的。当然你需要有支持HTML 5的浏览器,还有H.264编码器。
HTML 5究竟离我们还有多远,我相信不会很快。直到IE9的普及,HTMl 5才能说真正意义上的敢派上“战场”!IE6这个绊脚石都还没瓦解,谈其它的,显得有点荒谬!IE6这个话题扯远了,罢了。保持那份期待还是美好的!
2 Comments »
2010-03-22 下午 - html/css/xml/xsl - html5
HTML5现在火,不火就怪了。很好,很弓虽大,哈哈!希望是个“喜剧”,而且不断的“演”下去。
先了解一下HTML5:
W3C 在 1 月 22 日发布了最新的 HTML 5 工作草案。HTML 5 工作组包括 AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera 以及数百个其他的开发商。HTML 5 中的一些新特性:嵌入音频、视频、图片的函数、客户端数据存储,以及交互式文档。其他特性包括新的页面元素,比如 <header>, <section>, <footer>, 以及 <figure>。
通过制定如何处理所有 HTML 元素以及如何从错误中恢复的精确规则,HTML 5 改进了互操作性,并减少了开发成本。
记录HTML5标签元素相对HTML4.01标签的不同处:
| 未作修整的元素此表不一一列出,查看详细表格 |
| HTML5新增标签 |
| 标签 |
描述 |
| <article> |
定义 article。 |
| <aside> |
定义页面内容之外的内容。 |
| <audio> |
定义声音内容。 |
| <canvas> |
定义图形。 |
| <command> |
定义命令按钮。 |
| <datagrid> |
定义树列表 (tree-list) 中的数据。 |
| <datalist> |
定义下拉列表。 |
| <datatemplate> |
定义数据模板。 |
| <details> |
定义元素的细节。 |
| <dialog> |
定义对话(会话)。 |
| <embed> |
定义外部交互内容或插件。 |
| <event-source> |
为服务器发送的事件定义目标。 |
| <figure> |
定义媒介内容的分组,以及它们的标题。 |
| <footer> |
定义 section 或 page 的页脚。 |
| <header> |
定义 section 或 page 的页眉。 |
| <m> |
定义有记号的文本。 |
| <meter> |
定义预定义范围内的度量。 |
| <nav> |
定义导航链接。 |
| <nest> |
定义数据模板中的嵌套点。 |
| <output> |
定义输出的一些类型。 |
| <progress> |
定义任何类型的任务的进度。 |
| <rule> |
为升级模板定义规则。 |
| <section> |
定义 section。 |
| <source> |
定义媒介源。 |
| <time> |
定义日期/时间。 |
| <video> |
定义视频。 |
| HTML5删减标签 |
| <acronym> |
不支持。定义首字母缩写。 |
| <applet> |
不支持。定义 applet。 |
| <basefont> |
不支持。请使用 CSS 代替。 |
| <big> |
不支持。定义大号文本。 |
| <center> |
不支持。定义居中的文本。 |
| <dir> |
不支持。定义目录列表。 |
| <font> |
不赞成。定义文本的字体、尺寸和颜色。 |
| <frame> |
不支持。定义子窗口(框架)。 |
| <frameset> |
不支持。定义框架的集。 |
| <isindex> |
不支持。定义单行的输入域。 |
| <noframes> |
不支持。定义 noframe 部分。 |
| <noscript> |
不支持。定义 noscript 部分。 |
| <s> |
不支持。定义加删除线的文本。 |
| <strike> |
不支持。定义加删除线的文本。 |
| <tt> |
不支持。定义打字机文本。 |
| <u> |
不支持。定义下划线文本。 |
记录HTML5标签元素相对HTML4.01属性的不同处:
| 未作修整的属性此表不一一列出,查看详细表格 |
| HTML5新增属性 |
| 属性 |
值 |
描述 |
| contenteditable |
true、
false |
设置是否允许用户编辑元素。 |
| contentextmenu |
id of a menu element |
给元素设置一个上下文菜单。 |
| draggable |
true、
false、
auto |
设置是否允许用户拖动元素。 |
| irrelevant |
true、
false |
设置元素是否相关。不显示非相关的元素。 |
| ref |
url or elementID |
引用另一个文档或本文档上另一个位置。仅在 template 属性设置时使用。 |
| registrationmark |
registration mark |
为元素设置拍照。可规定于任何 <rule> 元素的后代元素,除了 <nest> 元素。 |
| template |
url or elementID |
引用应该应用到该元素的另一个文档或本文档上另一个位置。 |
| HTML5删减属性 |
| acceskey |
a character |
设置访问一个元素的键盘快捷键。不支持。HTML4.01版本已不支持。 |
记录HTML5标签元素相对HTML4.01事件属性的不同处:
| 未作修整的事件属性此表不一一列出,查看详细表格 |
| HTML5新增事件属性 |
| 属性 |
值 |
描述 |
| onabort |
script |
发生 abort 事件时运行脚本。 |
| onbeforeonload |
script |
在元素加载前运行脚本。 |
| oncontextmenu |
script |
当菜单被触发时运行脚本。 |
| ondrag |
script |
只要脚本在被拖动就允许脚本。 |
| ondragend |
script |
在拖动操作结束时运行脚本。 |
| ondragenter |
script |
当元素被拖动到一个合法的放置目标时,执行脚本。 |
| ondragleave |
script |
当元素离开合法的放置目标时。 |
| ondragover |
script |
只要元素正在合法的放置目标上拖动时,就执行脚本。 |
| ondragstart |
script |
在拖动操作开始时执行脚本。 |
| ondrop |
script |
当元素正在被拖动时执行脚本。 |
| onerror |
script |
当元素加载的过程中出现错误时执行脚本。 |
| onmessage |
script |
当 message 事件触发时执行脚本。 |
| onmousewheel |
script |
当鼠标滚轮滚动时执行脚本。 |
| onresize |
script |
当元素调整大小时运行脚本。 |
| onscroll |
script |
当元素滚动条被滚动时执行脚本。 |
| onunload |
script |
当文档卸载时运行脚本。 |
| HTML5删减事件属性 |
| onbeforeunload |
script |
在元素未加载前运行脚本。 |
| onreset |
script |
当表单重置时执行脚本。不支持。 |
总结:HTML5提供了一系列新的元素和属性,并新增了新的视频和音频功能(<audio>、<video>),取消了一些过时的标签、属性、事件属性。强化了网页的表现性能,追加了本地数据库等Web应用功能。
推荐阅读:
- 5 Exciting Things to Look Forward to in HTML 5
- 各浏览器对css3和html5的兼容表
- 维基百科:HTML 5
- W3C:HTML 5
- Google 发布介绍 HTML 5 新特性的视频
No Comments »
2010-03-20 下午 - html/css/xml/xsl - doctype - html5
taobao的head里一些标签“瘦身”了!doctype、meta、script、style…让我好奇的主要是doctype的写法。
后来仔细一查,google,百度,口碑,支付宝,阿里巴巴都是这样。
为了解疑,在淘宝ued陈成的blog找到新首页开发PPT详解 —— HTML规范一文,再一对照Doctype和渲染模式对照表,疑惑解决了,同时也学到了不少的新知识。
记录一下:
html5 的 doctype:
html5 的其他标签:
<style></style>
<link rel="stylesheet" href="" />
这种格式,所有主流浏览器都进入标准模式。这样一来就不会出现明显的兼容事件,也就无后顾之忧。不过问题还是有的,html5 doctype与图片多余空白一文就有提到——除IE7和IE6,其他支持HTML5的浏览器都在图片与容器之间出现了多余空白,并且给出了解决方法,很赞。另,iframe也受到影响,解决方法和图片一致!
最优的解决方法:
img{vertical-align:middle} /*or bottom top and so on*/
补充:
秦歌:不仅 html5 的 doctype 会引发此类问题,还有 html4.01 Strict ,这应该是标准与准标准之间的问题。
推荐阅读:
- 给HTML文档设置XHTML Doctype是有害的
- Optimizing Optimizing HTML
No Comments »