It’s Beautiful
2010-03-29 下午 - html/css/xml/xsl - html5 - 优化
2010-03-27 下午 - html/css/xml/xsl - CSS3
此文提供“靓图”对照,帮助记忆再加深印象。此文仅介绍几个可以说是比较“靠谱”的属性或值,其中包括有渐变、RGBA、文本阴影、Box 阴影、圆角。
background: -webkit-gradient(linear, 0 0, 0 100%, from(red), to(blue));
webkit引擎下,5个参数值,记住每个都需要用“逗号”隔开就是了。
background: -moz-linear-gradient(top, red, blue);
Gecko引擎下,只有3个参数,linear已经放到了属性前缀中了。
background:linear-gradient(top, red, blue);
最后这个就是标准版本了,良好的前瞻是需要的。
还有几句要补充的:
如果你想设置超过2种以上的颜色渐变,那么可以这样写:
对于目前还没有支持css3的渐变的浏览器,比如IE、Opear,要记住在最前面写下一个简单的背景颜色(background-color),否则看到的将是空白。
Firefox可以使用角度来设定渐变的方向,而webkit只能使用x和y轴的坐标。
最后,回到IE:
IE不支持CSS3渐变,不过好在IE有个渐变滤镜,可以实现最简单的渐变效果:
渐变的效果可能在每个浏览器里看起来都不相同,此乃正常现象。
————————————————-分割一下————————————————-

R\G\B 分别指颜色值,a指透明度,0(透明)-1(不透明)。

只要是与颜色值有关的属性,都可以使用RGBA。
————————————————-分割一下————————————————-

x-offset(X轴距离), y-offset(Y轴距离), blur(阴影大小), color(阴影颜色)。

x-offset数值为正那么方向右,负则向左;y-offset数值正下负上。

可以为元素设置多重的阴影,中间用“逗号”隔开就行了。
————————————————-分割一下————————————————-

与文本阴影(text-shadow)写法是一致的,唯一区别在于添加了box-shadow的同时还别忘了火狐(Gecko引擎)用-moz-,Safari、Chrome等WebKit引擎则添加-webkit-。

照样也支持多重阴影,中间用“逗号”隔开。
————————————————-分割一下————————————————-

与边界、填充类似,也要区分火狐(Gecko引擎),Safari、Chrome等WebKit引擎。

四个角可以设置不同值的,但要记得-moz-与-webkit-的区别。
原文地址:The Basics of CSS3
2010-03-26 上午 - html/css/xml/xsl - CSS3 - icon - logo

预览效果:demo
上图,可不是用画图软件制作的,而是浏览器生成。惊讶吧!css3的威力,巧妙的运用了圆角边框,阴影,背景渐变…等css3新特性。赞叹之余,我也亲自的动手制作了一下,就当学习一下了。以前了解过css3,但没动手写过,发觉有些属性还真是不好记,要区分三类浏览器(Gecko 、Presto、WebKit),就越发的麻烦了。
其中不少地方的写法很新颖,充分的利用了伪类(before和after),伪类配合绝对定位,双倍边框、椭圆、三角形等写法也很受教,真真切切体会到了css3的强大,希望css3时代早日到来。
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这个话题扯远了,罢了。保持那份期待还是美好的!
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应用功能。
推荐阅读:
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 的其他标签:
这种格式,所有主流浏览器都进入标准模式。这样一来就不会出现明显的兼容事件,也就无后顾之忧。不过问题还是有的,html5 doctype与图片多余空白一文就有提到——除IE7和IE6,其他支持HTML5的浏览器都在图片与容器之间出现了多余空白,并且给出了解决方法,很赞。另,iframe也受到影响,解决方法和图片一致!
最优的解决方法:
补充:
秦歌:不仅 html5 的 doctype 会引发此类问题,还有 html4.01 Strict ,这应该是标准与准标准之间的问题。
推荐阅读:
2010-03-20 下午 - JS/Ajax/AS - event - 兼容性
javascript的事件模型有三种:netscape、IE、W3C/Safari。
事件流又分冒泡型事件和捕获型事件。主要的浏览器代表是netscape、IE7及以下版本。
DOM事件流:同时支持冒泡型事件和捕获型事件。火狐、Safari、IE8等支持DOM事件流的浏览器。
以下内容仅以IE和火狐作为代表进行对比及处理。
IE
oTarget.attachEvent("on" + sEventType, fnHandler);
oTarget.detachEvent("on" + sEventType, fnHandler);
火狐:
oTarget.addEventListener(sEventType, fnHandler, false);
oTarget.removeEventListener(sEventType, fnHandler, false);
解决方法:
IE
IE中,事件对象是window对象的一个属性event。
window.event
火狐:
DOM标准中,event对象必须作为唯一参数传给事件处理函数。
arguments[0] 或者 直接传入参数
解决方法:
注:针对火狐的方法请参考 JavaScript 获取事件对象的一个注意点
相同处:
oEvent.typeoEvent.keyCodeoEvent.shiftKey、oEvent.altKey、oEvent.ctrlKeyoEvent.clientX、oEvent.clientYoEvent.screenX、oEvent.screenY不同处:
获取目标(事件源):
IE:oEvent.srcElement
火狐:oEvent.target
获取字符代码:
IE:oEvent.keyCode
火狐:oEvent.charCode
阻止事件发生:
IE:oEvent.returnValue = false
火狐:oEvent.preventDefault()
停止事件冒泡:
IE:oEvent.cancelBubble = true
火狐:oEvent.stopPropagation()
解决方法:
最后综合起来,EventUtil对象封装起来,就很好的解决了事件的跨平台兼容了。下载:eventutil.js。
此文中涉及到的浏览器检测功能,超出了本文的范围,略过!detect.js 提供代码方便下载测试。
本文参考自《javascript高级程序设计》,详细可翻阅该书籍。
2010-03-19 下午 - html/css/xml/xsl - Browser - doctype
内容太多,copy过来也没意思,决定留个链接,以后忘了随时再跳过去阅读。好文总是让人受益匪浅的!由衷地感谢原文作者——Henri Sivonen。
原文:Activating Browser Modes with Doctype
译文:用doctype激活浏览器模式 – 感谢秦歌的翻译。
主流浏览器的引擎:Names of Browser Engines
下节准备补习:javascript事件中IE与火狐的不同之处