<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[Rainweb前端开发技术博客-专注于web前端开发，专注于用户体验]]></title>
<link>http://www.rainweb.cn/</link>
<description><![CDATA[]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[Rainweb@163.com(Rainweb)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>Rainweb前端开发技术博客-专注于web前端开发，专注于用户体验</title>
	<url>http://www.rainweb.cn/images/logos.gif</url>
	<link>http://www.rainweb.cn/</link>
	<description>Rainweb前端开发技术博客-专注于web前端开发，专注于用户体验</description>
</image>

			<item>
			<link>http://www.rainweb.cn/article/CSS3-radius.html</link>
			<title><![CDATA[CSS3—圆形遮罩效果]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[DIV+CSS+HTML]]></category>
			<pubDate>Tue,27 Dec 2011 14:32:11 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=342</guid>
		<description><![CDATA[<h3>一、效果直击</h3>
<p><a target="_blank" href="http://www.rainweb.cn/javascript/css3-radius/css3-radius.html"><span style="background-color: Yellow;"><span style="color: rgb(255, 153, 0);">CSS3下的圆形遮罩效果demo</span></span></a></p>
<p>因为是使用纯洁的CSS3实现，因此，IE6~8浏览器又一次光荣获得&ldquo;打酱油&rdquo;的称号！</p>
<p><a href="http://www.rainweb.cn/www.rainweb.cn/javascript/css3-radius/css3-radius.html"><img alt="" src="http://www.rainweb.cn/javascript/css3-radius/1.png" /></a></p>
<p>鼠标经过年轻的张含韵小姐身体的任一部位，然后&mdash;&mdash;</p>
<p><img alt="" src="http://www.rainweb.cn/javascript/css3-radius/2.png" /></p>
<p>在Chrome浏览器下，或许是受到&ldquo;菊花&rdquo;的感应，其圆形呈开放的菊花状，效果很闪那！！</p>
<p><input type="image" src="http://www.rainweb.cn/javascript/css3-radius/3.png" /></p>
<h3>二、小小原理</h3>
<p>虽说效果离不开CSS3，但，最最关键的核心属性是CSS <code>border</code>属性，偌大的半透明边框属性（demo中边框宽度512像素），边框颜色为<code>rgba</code>黑色半透明，然后<code>50%</code>圆角。</p>
<p>相关CSS代码如下：</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol start="1" class="dp-css">
    <li class="alt"><span><span>.test_cover&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:&nbsp;</span><span class="string">100px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">height</span><span>:&nbsp;</span><span class="string">100px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">border</span><span>:&nbsp;</span><span class="string">512px</span><span>&nbsp;</span><span class="string">solid</span><span>&nbsp;rgba(0,&nbsp;0,&nbsp;0,&nbsp;.35);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">border</span><span>-radius:&nbsp;50%;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*&nbsp;定位&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">position</span><span>:&nbsp;</span><span class="string">absolute</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">left</span><span>:&nbsp;-</span><span class="string">325px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">top</span><span>:&nbsp;-</span><span class="string">465px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>很简单吧，然后父标签来个尺寸限制，溢出隐藏就完事大吉了。具体细节可参见demo页面的代码展示。</p>
<h3>三、实际应用</h3>
<p>由于本效果是CSS驱动的，因此对于PC浏览器，目前还无法投入实际应用，但是，如果针对Android或是iphone、ipad等设备开发页面，该技术就可以有实际的应用了。</p>
<p>应用背景如下：<br />
当我们退出一款新的产品的时候，所有的用户都是new user，他们面对一个新颖陌生的产品，肯定会有一些不熟悉的地方，此时，一个善意的引导与说明就很有必要。既可以展示产品的优点，又方便用户上手操作。</p>
<p>此时，我们可以尝试使用遮罩效果（可以将用户的注意力focus在一点上）来做引导提示，体验会很舒服。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/json-4.html</link>
			<title><![CDATA[记录json点滴（四）]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[JavaScript]]></category>
			<pubDate>Wed,16 Nov 2011 13:27:35 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=341</guid>
		<description><![CDATA[<p>将后台程序(如php)发送过来的json数据转化为javascript的数组或者对象的方法十分简单，代码如下：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="comment">//&nbsp;假设后台发送的json数据为&nbsp;'{a:2,b:1}'&nbsp;存储于str中</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;data&nbsp;=&nbsp;eval(&nbsp;</span><span class="string">'('</span><span>&nbsp;+&nbsp;str&nbsp;+&nbsp;</span><span class="string">')'</span><span>&nbsp;);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>然而想将一个javascript对象转化为json格式的字符串却并不那么简单，特别是对象的属性值递归包含一个对象时(如 var obj={a:[2,3],b:{m:[3,4],n:2} } ),那么有没有什么方法将obj转化为json格式的字符串呢？</p>
<p>当然你可以自己写一个函数，递归遍历一个对象并将其转化为json格式的字符串，对于大部分人来说这有些困难并容易出错。幸好已经有人做好了这件事情，你只用包含一段javascript代码即可。</p>
<p><a target="_blank" href="http://www.rainweb.cn/javascript/json2.js">json2.js</a></p>
<p>使用方法：</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>&lt;!doctype&nbsp;html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="tag">&lt;</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;json2.js&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>var&nbsp;<span class="attribute">obj</span><span>={a:[2,3],b:{m:[3,4],n:2}&nbsp;};&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>var&nbsp;<span class="attribute">jsonStr</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">JSON</span><span>.stringify(&nbsp;obj&nbsp;);&nbsp;&nbsp;</span></span></li>
    <li><span>alert(jsonStr);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>//将显示&nbsp;{&quot;a&quot;:[2,3],&quot;b&quot;:{&quot;m&quot;:[3,4],&quot;n&quot;:2}}&nbsp;&nbsp;</span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>假如有两个变量，我要将a转换成字符串，将b转换成JSON对象：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;a={</span><span class="string">&quot;name&quot;</span><span>:</span><span class="string">&quot;tom&quot;</span><span>,</span><span class="string">&quot;sex&quot;</span><span>:</span><span class="string">&quot;男&quot;</span><span>,</span><span class="string">&quot;age&quot;</span><span>:</span><span class="string">&quot;24&quot;</span><span>};&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;b=</span><span class="string">'{&quot;name&quot;:&quot;Mike&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;29&quot;}'</span><span>;&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>在Firefox，chrome，opera，safari，ie9，ie8等高级浏览器直接可以用JSON对象的stringify()和 parse()方法。JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式；</p>
<p>上面的转换可以这么写：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;a={</span><span class="string">&quot;name&quot;</span><span>:</span><span class="string">&quot;tom&quot;</span><span>,</span><span class="string">&quot;sex&quot;</span><span>:</span><span class="string">&quot;男&quot;</span><span>,</span><span class="string">&quot;age&quot;</span><span>:</span><span class="string">&quot;24&quot;</span><span>};&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;b=</span><span class="string">'{&quot;name&quot;:&quot;Mike&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;29&quot;}'</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;aToStr=JSON.stringify(a);&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;bToObj=JSON.parse(b);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>alert(<span class="keyword">typeof</span><span>(aToStr));&nbsp;&nbsp;</span><span class="comment">//string</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>alert(<span class="keyword">typeof</span><span>(bToObj));&nbsp;&nbsp;</span><span class="comment">//object</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<h4>JSON.stringify()</h4>
<p>ie8(兼容模式),ie7和ie6没有JSON对象，不过http://www.json.org/提供了一个json.js,这样ie8(兼 容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法；你可以在https://github.com /douglascrockford/JSON-js上获取到这个js，一般现在用json2.js。ie8(兼容模式),ie7和ie6可以使用 eval()将字符串转为JSON对象：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;c=</span><span class="string">'{&quot;name&quot;:&quot;Mike&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;29&quot;}'</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;cToObj=eval(</span><span class="string">&quot;(&quot;</span><span>+c+</span><span class="string">&quot;)&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>alert(<span class="keyword">typeof</span><span>(cToObj));&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json )，接受一个标准格式的 JSON  字符串，并返回解析后的 JavaScript  （JSON）对象。当然如果有兴趣可以自己封装一个jQuery扩展，jQuery.stringifyJSON(obj)将JSON转为字符串。</p>
<p>JSON.stringify(jsonobj)，本来是最简便的方法，可是存在浏览器兼容问题（仅适用于IE8+，Chrome 1+，FF 3+）。下面再介绍一个方法：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;O2String&nbsp;=&nbsp;</span><span class="keyword">function</span><span>&nbsp;(O)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//return&nbsp;JSON.stringify(jsonobj);</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;S&nbsp;=&nbsp;[];&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;J&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(Object.prototype.toString.apply(O)&nbsp;===&nbsp;</span><span class="string">'[object&nbsp;Array]'</span><span>)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;O.length;&nbsp;i++)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S.push(O2String(O[i]));&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;J&nbsp;=&nbsp;<span class="string">'['</span><span>&nbsp;+&nbsp;S.join(</span><span class="string">','</span><span>)&nbsp;+&nbsp;</span><span class="string">']'</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(Object.prototype.toString.apply(O)&nbsp;===&nbsp;</span><span class="string">'[object&nbsp;Date]'</span><span>)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;J&nbsp;=&nbsp;<span class="string">&quot;new&nbsp;Date(&quot;</span><span>&nbsp;+&nbsp;O.getTime()&nbsp;+&nbsp;</span><span class="string">&quot;)&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(Object.prototype.toString.apply(O)&nbsp;===&nbsp;</span><span class="string">'[object&nbsp;RegExp]'</span><span>&nbsp;||&nbsp;Object.prototype.toString.apply(O)&nbsp;===&nbsp;</span><span class="string">'[object&nbsp;Function]'</span><span>)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;J&nbsp;=&nbsp;O.toString();&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(Object.prototype.toString.apply(O)&nbsp;===&nbsp;</span><span class="string">'[object&nbsp;Object]'</span><span>)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i&nbsp;</span><span class="keyword">in</span><span>&nbsp;O)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O[i]&nbsp;=&nbsp;<span class="keyword">typeof</span><span>&nbsp;(O[i])&nbsp;==&nbsp;</span><span class="string">'string'</span><span>&nbsp;?&nbsp;</span><span class="string">'&quot;'</span><span>&nbsp;+&nbsp;O[i]&nbsp;+&nbsp;</span><span class="string">'&quot;'</span><span>&nbsp;:&nbsp;(</span><span class="keyword">typeof</span><span>&nbsp;(O[i])&nbsp;===&nbsp;</span><span class="string">'object'</span><span>&nbsp;?&nbsp;O2String(O[i])&nbsp;:&nbsp;O[i]);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S.push(i&nbsp;+&nbsp;<span class="string">':'</span><span>&nbsp;+&nbsp;O[i]);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;J&nbsp;=&nbsp;<span class="string">'{'</span><span>&nbsp;+&nbsp;S.join(</span><span class="string">','</span><span>)&nbsp;+&nbsp;</span><span class="string">'}'</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;J;&nbsp;&nbsp;</span></span></li>
    <li><span>};&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>使用方法也很简单：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;jsonStr&nbsp;=&nbsp;O2String(&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Page&quot;</span><span>:&nbsp;</span><span class="string">&quot;plan&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Custom&quot;</span><span>:&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemName&quot;</span><span>:&nbsp;</span><span class="string">&quot;CustomLabel1&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemContent&quot;</span><span>:&nbsp;1,&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;IsItem&quot;</span><span>:&nbsp;</span><span class="keyword">true</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemDate&quot;</span><span>:&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(1320774905467),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemReg&quot;</span><span>:&nbsp;/[\w]*?/gi,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemFunc&quot;</span><span>:&nbsp;</span><span class="keyword">function</span><span>&nbsp;()&nbsp;{&nbsp;alert(</span><span class="string">&quot;ItemFunc&quot;</span><span>);&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemName&quot;</span><span>:&nbsp;</span><span class="string">&quot;CustomLabel1&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemContent&quot;</span><span>:&nbsp;1,&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;IsItem&quot;</span><span>:&nbsp;</span><span class="keyword">true</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemDate&quot;</span><span>:&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(1320774905467),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemReg&quot;</span><span>:&nbsp;/[\w]*?/gi,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemFunc&quot;</span><span>:&nbsp;</span><span class="keyword">function</span><span>&nbsp;()&nbsp;{&nbsp;alert(</span><span class="string">&quot;ItemFunc&quot;</span><span>);&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Page&quot;</span><span>:&nbsp;</span><span class="string">&quot;project&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Custom&quot;</span><span>:&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemName&quot;</span><span>:&nbsp;</span><span class="string">&quot;CustomLabel2&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemContent&quot;</span><span>:&nbsp;2,&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;IsItem&quot;</span><span>:&nbsp;</span><span class="keyword">false</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemDate&quot;</span><span>:&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(1320774905467),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemReg&quot;</span><span>:&nbsp;/[\w]*?/gi,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemFunc&quot;</span><span>:&nbsp;</span><span class="keyword">function</span><span>&nbsp;()&nbsp;{&nbsp;alert(</span><span class="string">&quot;ItemFunc&quot;</span><span>);&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemName&quot;</span><span>:&nbsp;</span><span class="string">&quot;CustomLabel2&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemContent&quot;</span><span>:&nbsp;2,&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;IsItem&quot;</span><span>:&nbsp;</span><span class="keyword">false</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemDate&quot;</span><span>:&nbsp;</span><span class="keyword">new</span><span>&nbsp;Date(1320774905467),&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemReg&quot;</span><span>:&nbsp;/[\w]*?/gi,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;ItemFunc&quot;</span><span>:&nbsp;</span><span class="keyword">function</span><span>&nbsp;()&nbsp;{&nbsp;alert(</span><span class="string">&quot;ItemFunc&quot;</span><span>);&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(jsonStr);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;jsonObj&nbsp;=&nbsp;eval(</span><span class="string">&quot;(&quot;</span><span>&nbsp;+&nbsp;jsonStr&nbsp;+&nbsp;</span><span class="string">&quot;)&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>alert(jsonObj.length);&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/transparent-bg.html</link>
			<title><![CDATA[层的半透明实现方案]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[DIV+CSS+HTML]]></category>
			<pubDate>Mon,31 Oct 2011 16:15:15 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=340</guid>
		<description><![CDATA[<h3><span style="color: rgb(255, 153, 0);">一、使用 <code>opacity</code> + <code>Alpha Filter</code></span><code><br />
</code></h3>
<p>看起来手挺简单的吧？嗯。挺简单的&hellip; 希望你能很方便实现这个方案！其实见到这个的时候，我们的第一想法当然是 background +  opacity，在不支持 opacity 的 IE 使用 filter 的 alpha 滤镜来实现。然后，我们得到这样的效果：</p>
<p><img src="http://www.rainweb.cn/download.asp?id=142" alt="" style="width: 241px; height: 166px;" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span>.opacity{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:</span><span class="colors">#000</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;opacity:0.3;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;filter:&nbsp;alpha(opacity=30);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>无一例外，最外层，最内层和文字，都被设置了 opacity（alpha 也是使用 opacity ） 。当然，我们可以给各层设置 opacity 变回来。但这是多麻烦的事(不信试一下)。</p>
<h3><span style="color: rgb(255, 102, 0);">二、最佳实践：<code>rgba色彩</code> + <code>Gradient Filter</code></span><code><br />
</code></h3>
<p>其实我们可以选用 background-color: rgba() 来实现，同样可以实现透明效果，并且只应用于当前元素，不继承。而 IE 的  filter  有很多滤镜效果。其中的渐变滤镜，只要变通一下，就可以实现我们想要的效果，并且这个滤镜不会被下级元素继承，这样元素的内容就不会被虚化。代码如下：</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span class="comment">/*</span>&nbsp;</span></li>
    <li><span><span class="comment">&nbsp;*&nbsp;filter&nbsp;渐变滤镜详细用法，[参见这里]</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;StartColorStr&nbsp;和&nbsp;EndColorStr:</span>&nbsp;</span></li>
    <li><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;#4c000000&nbsp;是&nbsp;30%&nbsp;透明度的&nbsp;#000000&nbsp;的意思</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;组成:&nbsp;#&nbsp;+&nbsp;透明度&nbsp;+&nbsp;颜色</span>&nbsp;</span></li>
    <li><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;算法:&nbsp;Math.floor(0.6&nbsp;*&nbsp;255).toString(16);</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>.rgba{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:rgba(0,&nbsp;0,&nbsp;0,&nbsp;0.3);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,&nbsp;StartColorStr=<span class="string">'#4c000000'</span><span>,&nbsp;EndColorStr=</span><span class="string">'#4c000000'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;不过，我们得到的效果是这样的，IE9 的透明度竟然有 60%!! 这显然不是我们想法的。原因是：IE9 也支持 filter，使得 filter 的结果和 background-color 叠加，所以是 60%。具体参见 DEMO 和示例图:</p>
<p><img src="http://www.rainweb.cn/download.asp?id=143" alt="" /></p>
<p>那么我们可以利用IE HACK，单独把 IE9 的 filter 变成透明度为 0 即可。高级浏览器大部分支持 :root 伪类，但不支持 filter 属性，而 IE 只有 IE9 支持，所以我们可以这样写。代码如下：</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span>:root&nbsp;.rgba{&nbsp;&nbsp;&nbsp;&nbsp;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,&nbsp;StartColorStr=</span><span class="string">'#00000000'</span><span>,&nbsp;EndColorStr=</span><span class="string">'#00000000'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;当然，第二种方法可以应用于 background，也可应用于 border 上。</p>
<p><a target="_blank" href="http://www.rainweb.cn/javascript/transparent-bg.html"><span style="font-family: 微软雅黑;"><span style="color: rgb(255, 102, 0);"><span style="font-size: 16px;">整体的代码可参见DEMO。</span></span></span></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/javascript-tag-could.html</link>
			<title><![CDATA[javascript实现标签云]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[JavaScript]]></category>
			<pubDate>Fri,21 Oct 2011 23:15:55 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=339</guid>
		<description><![CDATA[<p>这是一个效果图</p>
<p><img alt="" src="http://www.rainweb.cn/download.asp?id=141" /></p>
<p><span style="font-size: 16px;"><span style="color: rgb(51, 102, 255);">原理：随机取色，随机字体大小</span></span></p>
<p>实现：</p>
<p>1、随机方法：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;rand(num){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;parseInt(Math.random()*num+1);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>2、随机取色：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;randomcolor(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;str=Math.ceil(Math.random()*16777215).toString(16);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(str.length&lt;6){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=<span class="string">&quot;0&quot;</span><span>+str;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;str;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>3、循环dom</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>for(&nbsp;</span><span class="attribute">len</span><span>=</span><span class="attribute-value">obj</span><span>.length,</span><span class="attribute">i</span><span>=</span><span class="attribute-value">len</span><span>;i--;){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.style.left</span><span>=</span><span class="attribute-value">rand</span><span>(600)+&quot;px&quot;;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.style.top</span><span>=</span><span class="attribute-value">rand</span><span>(400)+&quot;px&quot;;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.className</span><span>=</span><span class="attribute-value">&quot;color&quot;</span><span>+rand(5);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.style.zIndex</span><span>=</span><span class="attribute-value">rand</span><span>(5);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.style.fontSize</span><span>=</span><span class="attribute-value">rand</span><span>(12)+12+&quot;px&quot;;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;obj[i]<span class="attribute">.style.background</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span>+randomcolor();&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.style.color</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span>+randomcolor();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.onmouseover</span><span>=</span><span class="attribute-value">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">this.style.background</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span>+randomcolor();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[i]<span class="attribute">.onmouseout</span><span>=</span><span class="attribute-value">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">this.style.background</span><span>=</span><span class="attribute-value">&quot;none&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>4、dom结构</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;wrap&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>web标准学习</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>css</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>javascript</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>html5</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>canvas</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>video</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>audio</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>jQuery</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>jQuerymobile</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>flash</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>firefox</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>chrome</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>opera</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>IE9</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>css3.0</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>andriod</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>apple</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>google</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>jobs</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<p><span style="color: rgb(255, 0, 0);"><span style="background-color: rgb(255, 255, 255);"><span style="font-size: 16px;">这里是实际效果【刷新当前页面，查看变化】</span></span></span></p>
<p>&nbsp;</p>
<div id="wrap">&nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">web标准学习</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">css</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">javascript</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">html5</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">canvas</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">video</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">audio</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">jQuery</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">jQuerymobile</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">flash</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">firefox</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">chrome</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">opera</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">IE9</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">css3.0</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">andriod</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">apple</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">google</a> &nbsp; &nbsp;<a href="http://www.rainweb.cn/javascript;">jobs</a> &nbsp;&nbsp;</div>
<p><style type="text/css">
a{ 
	text-decoration:none
}
#wrap{
	width:400px;
	margin:auto
}
</style> &nbsp;&nbsp;<script type="text/javascript">
   
      var obox=document.getElementById("wrap");
      var obj=obox.getElementsByTagName("a");
      //随机方法
      function rand(num){
       return parseInt(Math.random()*num+1);
      }
      //随机颜色值
      function randomcolor(){
        var str=Math.ceil(Math.random()*16777215).toString(16);
        if(str.length<6){
          str="0"+str;
        }
        return str;
      }
      //循环
      for( len=obj.length,i=len;i--;){
        obj[i].style.left=rand(600)+"px";
        obj[i].style.top=rand(400)+"px";
        obj[i].className="color"+rand(5);
        obj[i].style.zIndex=rand(5);
        obj[i].style.fontSize=rand(12)+12+"px";
       // obj[i].style.background="#"+randomcolor();
        obj[i].style.color="#"+randomcolor();
        obj[i].onmouseover=function(){
          this.style.background="#"+randomcolor();
        }
		obj[i].onmouseout=function(){
          this.style.background="none";
        }
      }
    
  </script></p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/align-middle.html</link>
			<title><![CDATA[有关垂直居中]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[DIV+CSS+HTML]]></category>
			<pubDate>Thu,13 Oct 2011 22:04:02 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=338</guid>
		<description><![CDATA[<p><span style="font-size: 14px;">前端实现页面垂直居中的几种思路：</span></p>
<h3><span style="color: rgb(255, 102, 0);"><span style="font-size: 14px;">一、利用 position 和负边距</span></span></h3>
<p><span style="font-size: 14px;">利用绝对定位，让元素的顶部与居中线对齐，再让元素上移 50% 的高度。这个应该不难理解。原理可以用下图来做一个可视化说明：</span></p>
<p><span style="font-size: 14px;"><img src="http://www.rainweb.cn/download.asp?id=139" alt="" /></span></p>
<div class="codeText">
<div class="codeHead"><span style="font-size: 14px;">CSS代码</span></div>
<ol class="dp-css" start="1">
    <li class="alt"><span style="font-size: 14px;"><span class="comment">/*&nbsp;代码实现：</span>&nbsp;</span></li>
    <li><span style="font-size: 14px;"><span class="comment">&nbsp;*&nbsp;设定宽度和高度，父节点为&nbsp;position:relative;&nbsp;CSS是这样写的:</span>&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;"><span class="comment">&nbsp;*/</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">.selector&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">position</span>:<span class="string">absolute</span>;<span class="string">top</span>:50%;。&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">margin-top</span>:-元素自身高度的一半;&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><span style="font-size: 14px;">&nbsp;</span></p>
<h3><span style="color: rgb(255, 102, 0);"><span style="font-size: 14px;">二、使用 <code>&lt;table /&gt;</code></span></span></h3>
<p><span style="font-size: 14px;"><code>&lt;table /&gt;</code> 真是各种好用，她是各种布局、居中的法宝。垂直居中对其来说，也是非常简单的事。table cells 的 vertical-align:middle 就可以直接解决。所以实现起也来只要这样一行代码：</span></p>
<div class="codeText">
<div class="codeHead"><span style="font-size: 14px;">CSS代码</span></div>
<ol class="dp-css" start="1">
    <li class="alt"><span style="font-size: 14px;">td{&nbsp;<span class="keyword">vertical-align</span>:<span class="string">middle</span>;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><span style="font-size: 14px;">&nbsp;</span></p>
<h3><span style="font-size: 14px;"><span style="color: rgb(255, 102, 0);">三、通用解决方案</span></span></h3>
<p><span style="font-size: 14px;">使用第一方案的问题是，通常我们需要垂直居中的元素高度都是不确实的。这里我们需要用 JS 来实现高度的计算，再实现负边；而第二种方案的局限在于只应用于 <code>&lt;table /&gt;</code>。其实是，我们可能综合这两种方法，来做一个 Hack。</span></p>
<p><span style="font-size: 14px;">像我们知道的，在 CSS2.1 中，任何元素都可以使用 display:table / display:table-cell来实现与 table 一样的功能。那么，只要支持 display:table 的浏览器，已经可以轻松解决，只要这样写代码：</span></p>
<div class="codeText">
<div class="codeHead"><span style="font-size: 14px;">XML/HTML代码</span></div>
<ol class="dp-xml" start="1">
    <li class="alt"><span style="font-size: 14px;"><span class="comments">&lt;!--&nbsp;DOM&nbsp;结构&nbsp;--&gt;</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">div</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">p</span><span class="tag">&gt;</span>content<span class="tag">&lt;/</span><span class="tag-name">p</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;"><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">/*&nbsp;CSS&nbsp;实现&nbsp;*/&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">div&nbsp;{&nbsp;display:table;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">p{&nbsp;display:table-cell;&nbsp;vertical-align:middle;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><span style="font-size: 14px;">&nbsp;</span></p>
<p><span style="font-size: 14px;">但问题是，这种方法在 IE6/7 是不能实现的，因为他们不支持 display:table 这个特性。那有没有办法不计算高度，利用第一种方案来实现垂直居中呢？其实也未尝不可。看看下面这个 DOM 结构和图示：</span></p>
<div class="codeText">
<div class="codeHead"><span style="font-size: 14px;">XML/HTML代码</span></div>
<ol class="dp-xml" start="1">
    <li class="alt"><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">div</span>&nbsp;<span class="attribute">class</span>=<span class="attribute-value">&quot;wrap&quot;</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">div</span>&nbsp;<span class="attribute">class</span>=<span class="attribute-value">&quot;hack&quot;</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">div</span>&nbsp;<span class="attribute">class</span>=<span class="attribute-value">&quot;cnt&quot;</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;"><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><span style="font-size: 14px;">&nbsp;</span></p>
<p><span style="font-size: 14px;"><img src="http://www.rainweb.cn/download.asp?id=140" alt="" /></span></p>
<p><span style="font-size: 14px;">其实我们只要加多一层。内 .hack 层 top:50%; 再让 .cnt 层相对自身向上提50%。如上图所示。</span></p>
<p><span style="font-size: 14px;">&nbsp;</span></p>
<div class="codeText">
<div class="codeHead"><span style="font-size: 14px;">CSS代码</span></div>
<ol class="dp-css" start="1">
    <li class="alt"><span style="font-size: 14px;"><span class="comment">/*&nbsp;CSS&nbsp;部分的代码实现：整体代码参见上述&nbsp;demo*/</span>&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">.wrap{&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span>:<span class="string">500px</span>;<span class="keyword">height</span>:<span class="string">300px</span>;<span class="keyword">border</span>:<span class="string">3px</span>&nbsp;<span class="string">solid</span>&nbsp;<span class="colors">#ddd</span>;<span class="keyword">margin</span>:0&nbsp;<span class="string">auto</span>;<span class="keyword">padding</span>:<span class="string">20px</span>;<span class="keyword">display</span>:table;&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;*<span class="keyword">position</span>:<span class="string">relative</span>;&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">}&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">.hack{&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">display</span>:<span class="string">table-cell</span>;<span class="keyword">vertical-align</span>:<span class="string">middle</span>;&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;*<span class="keyword">position</span>:<span class="string">absolute</span>;*<span class="string">top</span>:50%;&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">}&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">.cnt{&nbsp;&nbsp;</span></li>
    <li class="alt"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;*<span class="keyword">position</span>:<span class="string">relative</span>;*<span class="string">top</span>:-50%;&nbsp;&nbsp;</span></li>
    <li><span style="font-size: 14px;">}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><span style="font-size: 14px;">&nbsp;</span></p>
<h1><a href="http://www.rainweb.cn/javascript/align-middle.html" target="_blank"><span style="font-size: 16px;"><span style="color: rgb(255, 0, 255);">查看demo演示</span></span><span style="font-size: 16px;"><span style="color: rgb(255, 0, 255);">查看demo演示</span></span><span style="font-size: 16px;"><span style="color: rgb(255, 0, 255);">查看demo演示</span></span></a></h1>
<p><span style="font-size: 14px;"><br />
</span></p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/js-template-mustache.html</link>
			<title><![CDATA[javascript 模板系统—mustache]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[JavaScript]]></category>
			<pubDate>Mon,26 Sep 2011 22:21:52 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=337</guid>
		<description><![CDATA[<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">最近在做一个自定义表单的项目，由于各种原因，需使用<span title="javascript. template">前台javascript模板，</span>上网google了一下，javascript模板方面的介绍不是很多，不像extjs等框架已经有很成熟的模板系统了，最近微软也发布了一个基于jquery的模板插件（</span></span><a target="_blank" href="http://github.com/nje/jquery-tmpl"><span style="color: rgb(255, 102, 0);"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">http://github.com/nje/jquery-tmpl</span></span></span></a><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">），基本用法类似，这些模板都定义了自己专用的模板语言。同事介绍了一个mustache.js的模板类，与大家分享下。</span></span></p>
<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">据作者写道</span></span><a href="http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html" rel="nofollow"><span style="color: rgb(255, 102, 0);"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">Twitter</span></span></span></a><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">也使用了这个模板类，国内腾讯也有自己的js模板类，请看</span></span><a target="_blank" href="http://qun.qq.com/air/"><span style="color: rgb(255, 102, 0);"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">QQ群空间</span></span></span></a><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">源码。</span></span></p>
<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">下面介绍一下最基本的使用方法：</span></span></p>
<div class="codeText">
<div class="codeHead"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">JavaScript代码</span></span></div>
<ol class="dp-c" start="1">
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="keyword">var</span>&nbsp;view&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;title:&nbsp;<span class="string">&quot;Joe&quot;</span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;calc:&nbsp;<span class="keyword">function</span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;2&nbsp;+&nbsp;4;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="keyword">var</span>&nbsp;template&nbsp;=&nbsp;<span class="string">&quot;{{title}}&nbsp;spends&nbsp;{{calc}}&quot;</span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="keyword">var</span>&nbsp;html&nbsp;=&nbsp;Mustache.to_html(template,&nbsp;view);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"> </span></span></p>
<p>template 是一串带有mustache专属标签的字符串，html是通过模板引擎转化后输出的字符串（这里的输出结果是：<span style="color: rgb(255, 102, 0);">Joe spends 6</span>），view就是想要输出的模版的一些属性。</p>
<p><span style="font-size: 14px;"> </span></p>
<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;</span></span></p>
<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">接下来讲一个比较通用的例子：</span></span></p>
<div class="codeText">
<div class="codeHead"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">XML/HTML代码</span></span></div>
<ol class="dp-xml" start="1">
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">h1</span><span class="tag">&gt;</span>{{header}}<span class="tag">&lt;/</span><span class="tag-name">h1</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{{#bug}}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{{/bug}}&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{{#items}}&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;{{#first}}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">strong</span><span class="tag">&gt;</span>{{name}}<span class="tag">&lt;/</span><span class="tag-name">strong</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;{{/first}}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;{{#link}}&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span>&nbsp;<span class="attribute">href</span>=<span class="attribute-value">&quot;{{url}}&quot;</span><span class="tag">&gt;</span>{{name}}<span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;{{/link}}&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{{/items}}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{{#empty}}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">p</span><span class="tag">&gt;</span>The&nbsp;list&nbsp;is&nbsp;empty.<span class="tag">&lt;/</span><span class="tag-name">p</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{{/empty}}&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<div class="codeText">
<div class="codeHead"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">JavaScript代码</span></span></div>
<ol class="dp-c" start="1">
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">{&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;<span class="string">&quot;header&quot;</span>:&nbsp;<span class="string">&quot;Colors&quot;</span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;<span class="string">&quot;items&quot;</span>:&nbsp;[&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<span class="string">&quot;name&quot;</span>:&nbsp;<span class="string">&quot;red&quot;</span>,&nbsp;<span class="string">&quot;first&quot;</span>:&nbsp;<span class="keyword">true</span>,&nbsp;<span class="string">&quot;url&quot;</span>:&nbsp;<span class="string">&quot;#Red&quot;</span>},&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<span class="string">&quot;name&quot;</span>:&nbsp;<span class="string">&quot;green&quot;</span>,&nbsp;<span class="string">&quot;link&quot;</span>:&nbsp;<span class="keyword">true</span>,&nbsp;<span class="string">&quot;url&quot;</span>:&nbsp;<span class="string">&quot;#Green&quot;</span>},&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<span class="string">&quot;name&quot;</span>:&nbsp;<span class="string">&quot;blue&quot;</span>,&nbsp;<span class="string">&quot;link&quot;</span>:&nbsp;<span class="keyword">true</span>,&nbsp;<span class="string">&quot;url&quot;</span>:&nbsp;<span class="string">&quot;#Blue&quot;</span>}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;],&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">&nbsp;&nbsp;<span class="string">&quot;empty&quot;</span>:&nbsp;<span class="keyword">false</span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">}&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">输出的结果：</span></span></p>
<div class="codeText">
<div class="codeHead"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;">XML/HTML代码</span></span></div>
<ol class="dp-xml" start="1">
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">h1</span><span class="tag">&gt;</span>Colors<span class="tag">&lt;/</span><span class="tag-name">h1</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">strong</span><span class="tag">&gt;</span>red<span class="tag">&lt;/</span><span class="tag-name">strong</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span>&nbsp;<span class="attribute">href</span>=<span class="attribute-value">&quot;#Green&quot;</span><span class="tag">&gt;</span>green<span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
    <li><span style="font-family: 微软雅黑;"><span style="font-size: 14px;"><span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span>&nbsp;<span class="attribute">href</span>=<span class="attribute-value">&quot;#Blue&quot;</span><span class="tag">&gt;</span>blue<span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><span style="font-family: 微软雅黑;text-align:center"><span style="font-size: 14px;">&nbsp;</span></span></p>
<h2><a target="_blank" href="http://www.rainweb.cn/javascript/mustache.js/mustache.html"></a></h2>
<h2><a target="_blank" href="http://www.rainweb.cn/javascript/mustache.js/mustache.html"><span style="color: rgb(255, 102, 0);"><span style="background-color: rgb(255, 255, 255);"><span style="font-size: 16px;"><span style="font-family: 微软雅黑;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看演示demo</span></span></span></span></a></h2>
<h2><a target="_blank" href="http://www.rainweb.cn/javascript/mustache.js/mustache.html"></a></h2>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/7-new-techniques-every-web-developer-should-know.html</link>
			<title><![CDATA[Web 开发者需要了解的七项新技术]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[前端资讯]]></category>
			<pubDate>Wed,21 Sep 2011 13:35:27 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=335</guid>
		<description><![CDATA[<p>Web 开发者需要经常更新他们的知识，学习新的技术，如果他们还想继续在 Web 开发领域混并混得还不错的话。下面将为你展示 7 项新的Web开发技术，作为一个Web开发人员，你需要了解、熟悉并学会的技术。</p>
<h2>CSS3 media queries</h2>
<p>目前，大量的智能手机设备的涌现，同时各种不同尺寸屏幕的设备，如平板电脑之类的出现，对Web开发带来了前所未有的挑战，如何让 Web  页面能适应各种尺寸的屏幕让很多 Web 开发人员相当的纠结。幸运的是 CSS3 规范可帮我们轻松的解决此事，你可以根据不同尺寸的屏幕定义不同的  CSS 样式。</p>
<p>例如，下面的代码只在屏幕显示区域大小为 767px 的时候才有效：</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span>@media&nbsp;</span><span class="string">screen</span><span>&nbsp;and&nbsp;(</span><span class="keyword">max-width</span><span>:</span><span class="string">767px</span><span>){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="colors">#contai</span><span>ner{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:</span><span class="string">320px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;header&nbsp;h1<span class="colors">#logo</span><span>&nbsp;a{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:</span><span class="string">320px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">height</span><span>:</span><span class="string">44px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:</span><span class="string">url</span><span>(image-</span><span class="string">small</span><span>.jpg)&nbsp;</span><span class="string">no-repeat</span><span>&nbsp;0&nbsp;0;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p><strong>更详细的信息请阅读: <a href="http://www.catswhocode.com/blog/create-an-adaptable-website-layout-with-css3-media-queries">Create an adaptable website layout with CSS3 media queries</a></strong></p>
<h2>Font resizing with REMs</h2>
<p>CSS3 引入新的字体尺寸单位 rem (root rm)</p>
<p>em 单位是相对于父节点的 font-size ，会有一些组合的问题，而 rem 是相对于根节点（或者是 html 节点），意思就是说你可以在 html 节点定义一个单独的字体大小，然后所有其他元素使用 rem 相对于这个字体的百分比进行设置。</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span>html&nbsp;{&nbsp;</span><span class="keyword">font-size</span><span>:&nbsp;62.5%;&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li><span>body&nbsp;{&nbsp;<span class="keyword">font-size</span><span>:&nbsp;1.4rem;&nbsp;}&nbsp;</span><span class="comment">/*&nbsp;=14px&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>h1&nbsp;&nbsp;&nbsp;{&nbsp;<span class="keyword">font-size</span><span>:&nbsp;2.4rem;&nbsp;}&nbsp;</span><span class="comment">/*&nbsp;=24px&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><strong>更多关于 rem 的内容请看: <a href="http://snook.ca/archives/html_and_css/font-size-with-rem">Font resizing with REMs</a></strong></p>
<h2>Cache pages for offline usage</h2>
<p>HTML5  引入了一个强大的特性：离线缓存。该特性可让你告诉浏览器缓存某些页面，使得用户可以在离线的情况下再次访问该页面。</p>
<p>要缓存页面非常简单，首先在你网站的 .htaccess 文件中添加如下一行：</p>
<pre style="margin-left: 2em;">
AddType text/cache-manifest .manifest
</pre>
<p>然后你可创建一个文件如 offline.manifest ，包含如下内容：</p>
<pre style="margin-left: 2em;">
CACHE MANIFEST

CACHE
index.html
style.css
image.jpg
</pre>
<p>最后，在 html 节点中增加：</p>
<pre style="margin-left: 2em;">
&lt;html manifest=&quot;/offline.manifest&quot;&gt;
</pre>
<p>就这么多。<br />
<strong>详情阅读: <a href="http://www.catswhocode.com/blog/how-to-create-offline-html5-web-apps-in-5-easy-steps">How to create offline HTML5 web apps in 5 easy steps</a></strong></p>
<h2>Server-side JavaScript</h2>
<p>JavaScript 现在已经是非常流行的Web客户端编程语言了，但JavaScript也越来越多的出现在服务器端了，通过强大的 JavaScript 服务器端环境：<a href="http://www.oschina.net/p/jaxer">Jaxer</a>, <a href="http://www.oschina.net/p/nodejs">Node.js</a> and <a href="http://narwhaljs.org/">Narwhal</a>.</p>
<p>下面代码显示如何用 Node.js 创建一个简单的 Hello World 程序</p>
<pre style="margin-left: 2em;">
var sys = require(&quot;sys&quot;);
sys.puts(&quot;Hello World!&quot;);
</pre>
<p><strong>更详细内容请阅读: <a href="http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js/">Learning Server-Side JavaScript with Node.js</a></strong></p>
<h2>HTML5 drag &amp; drop</h2>
<p>HTML5 让网页上的拖放变得非常简单，我们只需要简单的定义 draggable=&quot;true&quot; 属性即可，如下所示：</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;columns&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;column&quot;</span><span>&nbsp;</span><span class="attribute">draggable</span><span>=</span><span class="attribute-value">&quot;true&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">header</span><span class="tag">&gt;</span><span>A</span><span class="tag">&lt;/</span><span class="tag-name">header</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;column&quot;</span><span>&nbsp;</span><span class="attribute">draggable</span><span>=</span><span class="attribute-value">&quot;true&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">header</span><span class="tag">&gt;</span><span>B</span><span class="tag">&lt;/</span><span class="tag-name">header</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;column&quot;</span><span>&nbsp;</span><span class="attribute">draggable</span><span>=</span><span class="attribute-value">&quot;true&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">header</span><span class="tag">&gt;</span><span>C</span><span class="tag">&lt;/</span><span class="tag-name">header</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>有了这些 draggable=true 的元素，我们只需要编写一些简单的 JavaScript 代码来处理拖放，这里不再详细描述处理过程，如果你感兴趣，可以阅读<a target="_blank" href="http://www.html5rocks.com/en/tutorials/dnd/basics/">这里</a>。</p>
<p>提示：如果你希望阻止可拖放元素被选中，可使用以下 CSS 规则：</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span>[draggable]&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;-moz-user-select:&nbsp;<span class="string">none</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;-khtml-user-select:&nbsp;<span class="string">none</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;-webkit-user-select:&nbsp;<span class="string">none</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;user-select:&nbsp;<span class="string">none</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><strong>More info: <a href="http://www.useragentman.com/blog/2010/01/10/cross-browser-html5-drag-and-drop/">Cross Browser HTML5 Drag and Drop</a></strong></p>
<h2>Forms, the HTML5 way</h2>
<p>HTML5 规范在表单定义方面引入很多新特性，包含很多新的表单组件，例如日期选择、数字调整、使用正则表达式对输入框进行验证等等（email、tel、link）</p>
<p>下面代码显示了一些新的表单元素：</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">form</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;range-slider&quot;</span><span class="tag">&gt;</span><span>Slider</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;range&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;range-slider&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;range-slider&quot;</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;slider&quot;</span><span>&nbsp;</span><span class="attribute">min</span><span>=</span><span class="attribute-value">&quot;0&quot;</span><span>&nbsp;</span><span class="attribute">max</span><span>=</span><span class="attribute-value">&quot;20&quot;</span><span>&nbsp;</span><span class="attribute">step</span><span>=</span><span class="attribute-value">&quot;1&quot;</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;0&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;numeric-spinner&quot;</span><span class="tag">&gt;</span><span>Numeric&nbsp;spinner</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;number&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;numeric-spinner&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;numeric-spinner&quot;</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;2&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;date-picker&quot;</span><span class="tag">&gt;</span><span>Date&nbsp;picker</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;date&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;date-picker&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;date-picker&quot;</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;2010-10-06&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;color-picker&quot;</span><span class="tag">&gt;</span><span>Color&nbsp;picker</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;color&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;color-picker&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;color-picker&quot;</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;ff0000&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;text-field&quot;</span><span class="tag">&gt;</span><span>Text&nbsp;field&nbsp;with&nbsp;placeholder</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;text-field&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;text-field&quot;</span><span>&nbsp;</span><span class="attribute">placeholder</span><span>=</span><span class="attribute-value">&quot;Insert&nbsp;your&nbsp;text&nbsp;here&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;url-field&quot;</span><span class="tag">&gt;</span><span>Url&nbsp;field</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;url&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;url-field&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;url-field&quot;</span><span>&nbsp;</span><span class="attribute">placeholder</span><span>=</span><span class="attribute-value">&quot;http://net.tutsplus.com/&quot;</span><span>&nbsp;required</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">&quot;email-field&quot;</span><span class="tag">&gt;</span><span>Email&nbsp;field</span><span class="tag">&lt;/</span><span class="tag-name">label</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;email&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;email-field&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;email-field&quot;</span><span>&nbsp;</span><span class="attribute">placeholder</span><span>=</span><span class="attribute-value">&quot;contact@ghinda.net&quot;</span><span>&nbsp;required</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">button</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;submit&quot;</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;ui-button&nbsp;ui-widget&nbsp;ui-state-default&nbsp;ui-corner-all&nbsp;ui-button-text-only&quot;</span><span>&nbsp;</span><span class="attribute">role</span><span>=</span><span class="attribute-value">&quot;button&quot;</span><span>&nbsp;</span><span class="attribute">aria-disabled</span><span>=</span><span class="attribute-value">&quot;false&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">span</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;ui-button-text&quot;</span><span class="tag">&gt;</span><span>Submit&nbsp;form</span><span class="tag">&lt;/</span><span class="tag-name">span</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">button</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">form</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><strong>More info: <a href="http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-cross-browser-html5-forms/">How to Build Cross-Browser HTML5 Forms</a></strong></p>
<h2>CSS animations</h2>
<p>很多现在的浏览器都支持 CSS 动画，是的，CSS 已经允许你创建一些简单的动画，而无需 JavaScript 的支持。</p>
<p>下面代码显示如何让背景色改变：</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol class="dp-css" start="1">
    <li class="alt"><span><span class="colors">#logo</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">margin</span><span>:&nbsp;</span><span class="string">15px</span><span>&nbsp;</span><span class="string">15px</span><span>&nbsp;0&nbsp;</span><span class="string">15px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">red</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">float</span><span>:&nbsp;</span><span class="string">left</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*&nbsp;Firefox&nbsp;4+&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-moz-animation-name:&nbsp;colour-change;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;-moz-animation-timing-function:&nbsp;linear;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-moz-animation-iteration-count:&nbsp;infinite;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;-moz-animation-duration:&nbsp;30s;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*&nbsp;Webkit&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-webkit-animation-name:&nbsp;colour-change;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;-webkit-animation-timing-function:&nbsp;linear;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-webkit-animation-iteration-count:&nbsp;infinite;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;-webkit-animation-duration:&nbsp;30s;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>@-moz-keyframes&nbsp;colour-change&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;0%&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">red</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;33%&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">green</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;66%&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">blue</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>@-webkit-keyframes&nbsp;colour-change&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;0%&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">red</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;33%&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">green</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;66%&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:&nbsp;</span><span class="string">blue</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><span style="text-decoration: underline;">原文地址：http://www.oschina.net/news/21533/7-new-techniques-every-web-developer-should-know</span></p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/jQuery-live-die.html</link>
			<title><![CDATA[jQuery中的die()与live()]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[Jquery]]></category>
			<pubDate>Mon,19 Sep 2011 13:50:57 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=334</guid>
		<description><![CDATA[<p><img alt="" src="http://rainweb.cn/download.asp?id=138" /></p>
<p>原文地址：http://www.alfajango.com/blog/exploring-jquery-live-and-die/</p>
<p>作者和大多数的开发人员都知道jQuery的.live()函数，知道它是做什么用的，但是不知道它是怎么样工作的，使用起来也不得心应手，甚至也没听说过.die()(去掉bind事件)。即使你能熟悉这些，但你能意识到.die() 的问题所在吗？</p>
<h2>什么是 .live()？</h2>
<p>函数的.live()类似.bind(),除此之外,它允许你绑定事件DOM元素现在和动态生成出来的dom节点,你可以绑定的事件不存在的元素。</p>
<p>比方说当用户在点击链接时及想提示他们正在离开站点。</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(document).ready(&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).click(&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(<span class="string">&quot;You&nbsp;are&nbsp;now&nbsp;leaving&nbsp;this&nbsp;site&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li><span>});&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>注意，.click()仅仅是个实现更一般.bind()的简单方法，下面和上面的代码相当于上面的实现。</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(document).ready(&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).bind(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(<span class="string">&quot;You&nbsp;are&nbsp;now&nbsp;leaving&nbsp;this&nbsp;site&quot;</span><span>);&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>});&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>现在通过javascript添加一个链接到页面：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(</span><span class="string">'body'</span><span>).append(</span><span class="string">'&lt;div&gt;&lt;a&nbsp;href=&quot;#&quot;&gt;Check&nbsp;it&nbsp;out!&lt;/a&gt;&lt;/div&gt;'</span><span>);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>这时候当用户点击链接时，你的click()函数是没有被绑定的，因为当你绑定事件的时候，这个链接的dom元素还不存在，这时候你需要.live()</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(document).ready(&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).live(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(<span class="string">&quot;You&nbsp;are&nbsp;now&nbsp;leaving&nbsp;this&nbsp;site&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li><span>});&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>这样，你在链接上绑定的事件可以正常工作了。</p>
<h2><strong><strong><span style="font-size: 16px;">.live() 如何工作的？</span></strong></strong></h2>
<p>.live()犀利的地方就是它不是讲你的事件绑在你选择的element元素上面，而是将事件绑定在dom树的根节点上面（例子中是$(document)），通过在你的元素选择器作为一个参数。</p>
<p>当你点击一个元素时，click事件就会在DOM树上往上传递，直至到达根节点。这个.click()事件的触发器已经在根节点 被.live()创建。这个触发方法将首先检测被点击的目标看是否和.live()调用的选择器相匹配。所以上面的例子中，会检查点击的元素是否 和$('a').live()中的$('a')相匹配，如果匹配，那么绑定的方法就会执行了。</p>
<p>因为不管你在根节点内点击了什么，根节点的.click()事件都会被触发，当你点击加入到根节点的任何元素时这个检查都会发生。</p>
<h2><strong><span style="font-size: 16px;">所有.live() 都可以.die()</span></strong></h2>
<p>如果你知道.bind()，那么你肯定知道.unbind()。那么.die()和.live()就是类似的关系了。为了接触上面的绑定（不希望用户点击链接时弹出对话框），我们这么做：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span class="string">'a'</span><span>).die();&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>//更具体点，如果还有其他的事件被绑定且需要保留，例如hover或其他，可以只解除click事件绑定。&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).die(</span><span class="string">'click'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>//再具体些，如果已经定义了方法名，可以解除绑定指定的方法。&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;specialAlert&nbsp;=&nbsp;<span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(<span class="string">&quot;You&nbsp;are&nbsp;now&nbsp;leaving&nbsp;this&nbsp;site&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(&nbsp;<span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).live(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;specialAlert&nbsp;);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).live(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;someOtherFunction&nbsp;);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp; <br />
    </span></li>
    <li class="alt"><span>&nbsp; <span class="comment">//&nbsp;then&nbsp;somewhere&nbsp;else,&nbsp;we&nbsp;could&nbsp;unbind&nbsp;only&nbsp;the&nbsp;first&nbsp;binding</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp; $(<span class="string">'a'</span><span>).die(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;specialAlert&nbsp;);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><strong><span style="font-size: 16px;">关于 .die()的问题</span></strong></p>
<p>使用这些函数时，.die()方法会有一个缺点。只可以使用.live()方法中用到的元素选择器，例如，不可以像下面这样写：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(document).ready(&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;$(<span class="string">'a'</span><span>).live(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(<span class="string">&quot;You&nbsp;are&nbsp;now&nbsp;leaving&nbsp;this&nbsp;site&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;});&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span></li>
    <li><span><span class="comment">//&nbsp;it&nbsp;would&nbsp;be&nbsp;nice&nbsp;if&nbsp;we&nbsp;could&nbsp;then&nbsp;choose&nbsp;specific&nbsp;elements</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;<span class="comment">//&nbsp;&nbsp;&nbsp;to&nbsp;unbind,&nbsp;but&nbsp;this&nbsp;will&nbsp;do&nbsp;nothing</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;$(<span class="string">'a.no-alert'</span><span>).die();&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>.die()事件看起来好像是匹配到了目标选择权并解除了.live()的绑定，但事实上，$<span class="br0">(</span><span class="st0">'a.no-alert'</span><span class="br0">)并不存在绑定，所以jquery找不到任何绑定去去掉，就不会起作用了。</span></p>
<p>更糟的是下面这个:</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(document).ready(&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a,form'</span><span>).live(&nbsp;</span><span class="string">'click'</span><span>,&nbsp;</span><span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(<span class="string">&quot;You&nbsp;are&nbsp;going&nbsp;to&nbsp;a&nbsp;different&nbsp;page&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li><span>});&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="comment">//&nbsp;NEITHER&nbsp;of&nbsp;these&nbsp;will&nbsp;work</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>$(<span class="string">'a'</span><span>).die();&nbsp;&nbsp;</span></span></li>
    <li><span>$(<span class="string">'form'</span><span>).die();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="comment">//&nbsp;ONLY&nbsp;this&nbsp;will&nbsp;work</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>$(<span class="string">'a,form'</span><span>).die();&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<h2><strong><span style="font-size: 16px;">如何修复 .die()</span></strong></h2>
<p>在我下篇文章中，我将会建议一种.die()执行的新方法，它可以提供一个向后兼容的语气的行为。或许我有时间的话会去建议jQuery核心开发团 队在下一个release中接受我的建议并进行修改，希望多一点我刚写的这些方法，包括可选的context参数，允许自定义事件附加的节点，而不是根节 点。</p>
<p>如果想得到更多的信息和例子，可以查查jQuery&nbsp;<a href="http://api.jquery.com/live/">.live()</a>&nbsp;and&nbsp;<a href="http://api.jquery.com/die/">.die()</a>.的文档</p>
<p>同时注意下&nbsp;<a href="http://api.jquery.com/delegate/">.delegate()</a>&nbsp;和<a href="http://api.jquery.com/undelegate/">.undelegate()</a>，他们可以替代.live()和.die()，它们联系很紧密。</p>
<h1><a target="_blank" href="http://rainweb.cn/article/324.html"><span style="background-color: rgb(255, 102, 0);"><span style="font-size: 20px;">相关文章：</span></span></a><a title="作者:rainweb 日期:2011-07-01" href="http://www.rainweb.cn/../../article/324.html" target="_blank"><span style="background-color: rgb(255, 102, 0);">jQuery中的bind()、.live()、.delegate()</span></a></h1>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/mouse-selection-weibo.html</link>
			<title><![CDATA[鼠标选中的文字分享到微博]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[Jquery]]></category>
			<pubDate>Wed,14 Sep 2011 11:12:13 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=333</guid>
		<description><![CDATA[<p>腾讯新闻、新浪新闻有一个常见功能，就是当鼠标选中一段文字时会浮现一个小图片，点击这个图片可以把选中内容发送到微博，原理很简单，先获得鼠标选 中文字，然后调用博客中提供的页面，把文字作为参数传过去就OK了。【有个小问题就是，选中的文字有特殊字符会报错，需要过滤一下】</p>
<p>分三步走：</p>
<p>1、文字的选中</p>
<p>区分<code class="plain">document.selection和</code><code class="plain">window.getSelection();</code></p>
<p>document.selection只有IE支持，而对于window.getSelection()，查了一些资料：FireFox和&nbsp; Safari支持，都不是标准语法，但我在 opera与chrom里都测试通过。原来网上的好多也不靠谱，自己测试才是王道。</p>
<p>其中selection 对象代表了当前激活选中区，即高亮文本块，或文档中用户可执行某些操作的其它元素。selection&nbsp;&nbsp; 对象的典型用途是作为用户的输入，以便识别正在对文档的哪一部分正在处理，或者作为某一操作的结果输出给用户。</p>
<p>监听实现文字选中代码：</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">if</span><span>&nbsp;(document.selection)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;document.selection.createRange().text;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span><span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(window.getSelection())&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;window.getSelection();&nbsp;&nbsp;</span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>2、tip显示</p>
<p>对于tip的显示不做多解释，这没什么可说的，即鼠标选中后弹出tip提示</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;bowen&nbsp;=&nbsp;</span><span class="string">&quot;发送到新浪微博&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;tooltip&nbsp;=&nbsp;</span><span class="string">&quot;&lt;div&nbsp;id='tooltip'&nbsp;class='tooltip'&gt;&lt;span&nbsp;onclick=ask('&quot;</span><span>+r+</span><span class="string">&quot;')&gt;&quot;</span><span>&nbsp;+&nbsp;bowen&nbsp;+&nbsp;</span><span class="string">&quot;&lt;/span&gt;&lt;/div&gt;&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>$(<span class="string">&quot;body&quot;</span><span>).append(tooltip);&nbsp;&nbsp;</span></span></li>
    <li><span>$(<span class="string">&quot;#tooltip&quot;</span><span>).css({&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;top&quot;</span><span>:&nbsp;(e.pageY&nbsp;+&nbsp;y)&nbsp;+&nbsp;</span><span class="string">&quot;px&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;left&quot;</span><span>:&nbsp;(e.pageX&nbsp;+&nbsp;x)&nbsp;+&nbsp;</span><span class="string">&quot;px&quot;</span><span>,&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;position&quot;</span><span>:&nbsp;</span><span class="string">&quot;absolute&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>}).show(<span class="string">&quot;fast&quot;</span><span>).mouseout(</span><span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="keyword">this</span><span>).remove();&nbsp;&nbsp;</span></span></li>
    <li><span>});&nbsp;&nbsp;</span></li>
</ol>
</div>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol start="1" class="dp-css">
    <li class="alt"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.tooltip&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:</span><span class="string">120px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">height</span><span>:</span><span class="string">23px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">line-height</span><span>:</span><span class="string">23px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="colors">#CCCCCC</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">cursor</span><span>:</span><span class="string">pointer</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.tooltip&nbsp;span&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">color</span><span>:&nbsp;</span><span class="colors">#333333</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">display</span><span>:&nbsp;</span><span class="string">block</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">font-size</span><span>:&nbsp;</span><span class="string">12px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">font-weight</span><span>:&nbsp;</span><span class="string">bold</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text-indent</span><span>:&nbsp;</span><span class="string">10px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>3、选中的文字作为参数提交给微博提供的接口</p>
<p>这里以新浪微博做例子：</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>function&nbsp;ask(r)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute-value">r</span><span>=r.replace(/\s/g,&quot;&quot;);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="attribute-value">r</span><span>=r.replace(/\n/g,&quot;&quot;);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(r&nbsp;!=&nbsp;&quot;&quot;)&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">window.location.href</span><span>=</span><span class="attribute-value">&quot;http://v.t.sina.com.cn/share/share.php?searchPic=false&amp;title=&quot;</span><span>+r+&quot;&amp;</span><span class="attribute">url</span><span>=</span><span class="attribute-value">http</span><span>://www.rainweb.cn&quot;;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p><span style="color: rgb(255, 102, 0);"><span style="background-color: rgb(255, 255, 255);"><span style="font-family: 微软雅黑;"><span style="font-size: 16px;">查看实例</span></span></span></span></p>
<p>

<script type="text/javascript">
    jQuery(function () {
        jQuery("#blogContent").mouseup(function (e) {
            var x = 10;
            var y = 10;
            var r = "";
            if (document.selection) {
                r = document.selection.createRange().text;
            }
            else if (window.getSelection()) {
                r = window.getSelection();
            }
            if (r!= "") {
                var bowen = "发送到新浪微博";
                var tooltip = "<div id='tooltip' class='tooltip'><span onclick=ask('"+r+"')>" + bowen + "</span></div>";
                jQuery("body").append(tooltip);
                jQuery("#tooltip").css({
                    "top": (e.pageY + y) + "px",
                    "left": (e.pageX + x) + "px",
                    "position": "absolute"
                }).show("fast").mouseout(function(){
                         jQuery(this).remove();
                });
            }
        });
    })

    function ask(r) {
        r=r.replace(/\s/g,"");
        r=r.replace(/\n/g,"");
        if (r != "") {
            window.location.href="http://v.t.sina.com.cn/share/share.php?searchPic=false&title="+r+"&url=http://www.rainweb.cn";
        }
    }
</script>
<style type="text/css">
.tooltip {
	width:120px;
	height:23px;
	line-height:23px;
	background-color:#CCCCCC;
	cursor:pointer;
}
.tooltip span {
	color: #333333;
	display: block;
	font-size: 12px;
	font-weight: bold;
	text-indent: 10px;
}
</style>


</p>
<div id="blogContent"><span style="color: rgb(255, 102, 0);"><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">你好你好你好你好你好你好你好你好</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">【选中我测试】</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">【</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">选中我测试</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">】</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">【</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">选中我测试</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">】</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">【</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">选中我测试</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">】</span></span><span style="font-size: 24px;"><span style="font-family: 微软雅黑;">。</span></span></span></div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.rainweb.cn/article/ie6-position-fixed.html</link>
			<title><![CDATA[IE6纯CSS实现position:fixed方案]]></title>
			<author>Rainweb@163.com(rainweb)</author>
			<category><![CDATA[DIV+CSS+HTML]]></category>
			<pubDate>Thu,08 Sep 2011 10:53:28 +0800</pubDate>
			<guid>http://www.rainweb.cn/default.asp?id=332</guid>
		<description><![CDATA[<p>&nbsp;原文地址：http://www.hujuntao.com/archives/ie6-position-fixed.html</p>
<p>CSS实现固定浮动层效果，类似于QQ空间顶部的工具条。标准浏览器、IE7+只需在CSS里面设置position:fixed;top:0;就可以了。不论你怎么滚动页面，工具条都会固定在头部。那么IE6怎么实现呢？<br />
众所周知IE6 position不支持fixed属性，下面介绍两种纯CSS模拟实现position:fixed效果。<br />
<br />
第一种：HTML、BODY高度100%方案</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol start="1" class="dp-css">
    <li class="alt"><span><span>*&nbsp;html&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">overflow</span><span>-y:&nbsp;</span><span class="string">hidden</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}<span class="comment">/*只是定制垂直滚动fixed*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>*&nbsp;html&nbsp;body&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">overflow</span><span>-y:&nbsp;</span><span class="string">auto</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">height</span><span>:&nbsp;100%;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>*&nbsp;html&nbsp;<span class="colors">#fixedb</span><span>ox&nbsp;{&nbsp;</span><span class="comment">/*把要固定的元素position设置为absolute&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">position</span><span>:&nbsp;</span><span class="string">absolute</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="colors">#fixedb</span><span>ox&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">position</span><span>:</span><span class="string">fixed</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:</span><span class="string">100px</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">height</span><span>:</span><span class="string">100px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span><span>:</span><span class="colors">#000000</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">color</span><span>:</span><span class="colors">#FFFFFF</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<br />
<p>第二种：CSS表达式(expression)方案</p>
<div class="codeText">
<div class="codeHead">CSS代码</div>
<ol start="1" class="dp-css">
    <li class="alt"><span><span>body&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;_background-image:<span class="string">url</span><span>(about:blank);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;_background-attachment:<span class="string">fixed</span><span>;</span><span class="comment">/*防止页面抖动*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>.<span class="string">fixed</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="keyword">position</span><span>:</span><span class="string">fixed</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;_position:&nbsp;<span class="string">absolute</span><span>;&nbsp;</span><span class="comment">/*ie6&nbsp;and&nbsp;above*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="string">top</span><span>:&nbsp;0;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;_top:expression(documentElement.scrollTop);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;<span class="string">left</span><span>:&nbsp;0;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
</channel>
</rss>

