<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>无线前端开发 - cssoul.com</title>
	<atom:link href="http://www.cssoul.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cssoul.com</link>
	<description>无线前端开发（Mobile Web Development）专注HTML、CSS、JavaScript、PHP...</description>
	<lastBuildDate>Wed, 16 May 2012 08:49:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>點藏单车骑行计划</title>
		<link>http://www.cssoul.com/2012/05/%e9%bb%9e%e8%97%8f%e9%aa%91%e8%a1%8c%e8%ae%a1%e5%88%92/</link>
		<comments>http://www.cssoul.com/2012/05/%e9%bb%9e%e8%97%8f%e9%aa%91%e8%a1%8c%e8%ae%a1%e5%88%92/#comments</comments>
		<pubDate>Wed, 16 May 2012 08:46:49 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[自行车]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=496</guid>
		<description><![CDATA[其实很早就想去丽江、布达拉宫、青海湖这些地方游玩了。自己也没有想过会以这种方式去这些地方 ——单车骑行。 按阳历算，应该是今年才开始爱上单车这项运动的。自从买了我的座驾，周末只要天气好，时间允许的情况下就跟朋友们出去兜风。经常是龙井、西湖、西溪湿地、梅家坞这些地方了。 第一次长途是4月份清明节跟两个朋友 杭州-上海骑行。当然，我们的目的不是一天要骑多远，而是以游玩为主。途径海盐、嘉善、嘉兴、上海、西塘、桐乡&#8230;&#8230; 前段时间，一朋友们在QQ群里讨论起骑单车去西藏的事情。刚开始准备杭州直接骑过去，后来我也有些心动，加入骑行计划。最后商定坐飞机到云南，然后走滇藏线到布达拉宫，随后看情况骑车再到珠峰大本营。由于青海湖的美也是大家所向往的，接下来我们将坐火车到西宁，骑单车到青海湖并环湖一周。 机票已经买好，行程也已经起草完成了。6.18出发，我们登船去了~吼吼！！！]]></description>
			<content:encoded><![CDATA[<p>其实很早就想去丽江、布达拉宫、青海湖这些地方游玩了。自己也没有想过会以这种方式去这些地方 ——单车骑行。<br />
按阳历算，应该是今年才开始爱上单车这项运动的。自从买了我的座驾，周末只要天气好，时间允许的情况下就跟朋友们出去兜风。经常是龙井、西湖、西溪湿地、梅家坞这些地方了。<br />
第一次长途是4月份清明节跟两个朋友 杭州-上海骑行。当然，我们的目的不是一天要骑多远，而是以游玩为主。途径海盐、嘉善、嘉兴、上海、西塘、桐乡&#8230;&#8230;<br />
<a href="http://www.cssoul.com/wp-content/uploads/2012/05/沪杭.jpg"><img class="alignnone size-full wp-image-498 colorbox-496" title="沪杭" src="http://www.cssoul.com/wp-content/uploads/2012/05/沪杭.jpg" alt="" width="547" height="2097" /></a></p>
<p><span id="more-496"></span></p>
<p>前段时间，一朋友们在QQ群里讨论起骑单车去西藏的事情。刚开始准备杭州直接骑过去，后来我也有些心动，加入骑行计划。最后商定坐飞机到云南，然后走滇藏线到布达拉宫，随后看情况骑车再到珠峰大本营。由于青海湖的美也是大家所向往的，接下来我们将坐火车到西宁，骑单车到青海湖并环湖一周。<br />
机票已经买好，行程也已经起草完成了。6.18出发，我们登船去了~吼吼！！！</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2012/05/點藏.jpg"><img class="alignnone size-full wp-image-497 colorbox-496" title="點藏" src="http://www.cssoul.com/wp-content/uploads/2012/05/點藏.jpg" alt="" width="547" height="2600" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2012/05/%e9%bb%9e%e8%97%8f%e9%aa%91%e8%a1%8c%e8%ae%a1%e5%88%92/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Head First Icon Font</title>
		<link>http://www.cssoul.com/2012/04/head-first-icon-font/</link>
		<comments>http://www.cssoul.com/2012/04/head-first-icon-font/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 09:14:54 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[无线前端]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=489</guid>
		<description><![CDATA[其实去年就有看到有前端分享利用字体处理图标或者电话号码，只是项目中一直没有尝试。最近的收藏夹项目采用 Web App的模式，设计师用到的图标也比较多，就着重学习了一下关于 Icon Font的制作和代码的尝试。其实Icon Font制作并不难，但是却又很多好处、优势，非常适合处理 Mobile Wep项目。 大家感兴趣，可以详细查看我做的PPT ： http://lib.cssoul.com/ppt/Head First Icon Font/]]></description>
			<content:encoded><![CDATA[<p>其实去年就有看到有前端分享利用字体处理图标或者电话号码，只是项目中一直没有尝试。最近的收藏夹项目采用 Web App的模式，设计师用到的图标也比较多，就着重学习了一下关于 Icon Font的制作和代码的尝试。其实Icon Font制作并不难，但是却又很多好处、优势，非常适合处理 Mobile Wep项目。</p>
<p>大家感兴趣，可以详细查看我做的PPT ：</p>
<p><a href="http://lib.cssoul.com/ppt/Head%20First%20Icon%20Font/" target="_blank"><img class="alignnone size-full wp-image-492 colorbox-489" title="hfif" src="http://www.cssoul.com/wp-content/uploads/2012/04/hfif.jpg" alt="" width="695"  /></a></p>
<p><a title="" href="http://lib.cssoul.com/ppt/Head%20First%20Icon%20Font/" target="_blank">http://lib.cssoul.com/ppt/Head First Icon Font/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2012/04/head-first-icon-font/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sublime Text 2 快捷键 for windows</title>
		<link>http://www.cssoul.com/2012/03/sublime-text-2-shortcut-keys-for-windows/</link>
		<comments>http://www.cssoul.com/2012/03/sublime-text-2-shortcut-keys-for-windows/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 02:18:53 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[资源/工具]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=486</guid>
		<description><![CDATA[Ctrl+L           选择整行（按住-继续选择下行）                            Ctrl+KK          从光标处删除至行尾                                       Ctrl+Shift+K     删除整行             [...]]]></description>
			<content:encoded><![CDATA[<p>Ctrl+L           选择整行（按住-继续选择下行）                           </p>
<p>Ctrl+KK          从光标处删除至行尾                                      </p>
<p>Ctrl+Shift+K     删除整行                                                </p>
<p>Ctrl+Shift+D     复制光标所在整行，插入在该行之前                        </p>
<p>Ctrl+J           合并行（已选择需要合并的多行时）                        </p>
<p>Ctrl+KU          改为大写                                                </p>
<p>Ctrl+KL          改为小写                                                </p>
<p>Ctrl+D           选词 （按住-继续选择下个相同的字符串）                  </p>
<p>Ctrl+M           光标移动至括号内开始或结束的位置                        </p>
<p>Ctrl+Shift+M     选择括号内的内容（按住-继续选择父括号）                 </p>
<p>Ctrl+/           注释整行（如已选择内容，同“Ctrl+Shift+/”效果）        </p>
<p>Ctrl+Shift+/     注释已选择内容                                          </p>
<p>Ctrl+Space       自动完成（win与系统快捷键冲突，需修改）                 </p>
<p>Ctrl+Z           撤销                                                    </p>
<p>Ctrl+Y           恢复撤销                                                </p>
<p>Ctrl+Shift+V      粘贴并自动缩进（其它兄弟写的，实测win系统自动缩进无效）</p>
<p>Ctrl+M           光标跳至对应的括号                                      </p>
<p>Alt+.            闭合当前标签                                            </p>
<p>Ctrl+Shift+A     选择光标位置父标签对儿                                  </p>
<p>Ctrl+Shift+[     折叠代码                                                </p>
<p>Ctrl+Shift+]     展开代码                                                </p>
<p>Ctrl+KT          折叠属性                                                </p>
<p>Ctrl+K0          展开所有                                                </p>
<p>Ctrl+U           软撤销                                                  </p>
<p>Ctrl+T           词互换                                                  </p>
<p>Tab              缩进                                                    </p>
<p>Shift+Tab        去除缩进                                                </p>
<p>Ctrl+Shift+UP    与上行互换                                              </p>
<p>Ctrl+Shift+DOWN  与下行互换                                              </p>
<p>Ctrl+K Backspace 从光标处删除至行首                                      </p>
<p>Ctrl+Enter       插入行后                                                </p>
<p>Ctrl+Shift Enter 插入行前                                                </p>
<p>F9               行排序（按a-z）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2012/03/sublime-text-2-shortcut-keys-for-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>学习html5的history API</title>
		<link>http://www.cssoul.com/2011/08/i-should-lean-one-page-one-application/</link>
		<comments>http://www.cssoul.com/2011/08/i-should-lean-one-page-one-application/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 03:40:30 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=464</guid>
		<description><![CDATA[不得不佩服下谷歌Chrome团队，利用HTML5和CSS3实现了一本相当漂亮的在线电子书：《关于浏览器和互联网20件事》。 访问地址：http://www.20thingsilearned.com 话说这本电子书已经出来很久了，不过今天来看依然觉得相当的赞。我们无需刷新页面，就可以来回切换电子书页面，这正是OPOA（One Page One Application）的完美体现。 现在正在学习关于history API这方面的东西，所以特别感兴趣的是他们如何使用window.history.pushState()和window.history.replaceState()来做页面之间的不刷新切换。 今天查阅了一些资料，基本上对history API有了一个基本了解。 首先要说的就是history是个全局，即window.history。看到这个变量名你一定很熟悉，因为经常可以看到用window.history.back()或者window.history.go(-1)来返回上一页的JavaScript代码。 所以history并不是什么新东西，在HTML4的时代，我们可以使用它的这几个属性和方法： length：历史堆栈中的记录数。 back()：返回上一页。 forward()：前进到下一页。 go([delta])：delta是个数字，如果不写或为0，则刷新本页；如果为正数，则前进到相应数目的页面；若为负数，则后退到相应数目的页面。 现在，HTML5为其又添加了以下2个方法： pushState(data, title [, url])：往历史堆栈的顶部添加一条记录。data为一个对象或null，它会在触发window的popstate事件(window.onpopstate)时，作为参数的state属性传递过去；title为页面的标题，但当前所有浏览器都忽略这个参数；url为页面的URL，不写则为当前页。 replaceState(data, title [, url])：更改当前页面的历史记录。参数同上。这种更改并不会去访问该URL。不过目前只有Safari 5.0+、Chrome 8.0+、Firefox 4.0+和iOS 4.2.1+支持。如果想兼容老浏览器的话，可以试试History.js，而且它还修正了一些bug。 当然，在移动平台上，我们可以大胆尝试html5的history API。ios3.0+ 和Android2.0+ 平台的内置浏览器对history都比较完美了，利用它我们可以web app更趋向与native app。 下面，推荐几篇文章： .Manipulating the browser history .Session history and navigation .Manipulating History for Fun &#038; Profit]]></description>
			<content:encoded><![CDATA[<p>不得不佩服下谷歌Chrome团队，利用HTML5和CSS3实现了一本相当漂亮的在线电子书：《关于浏览器和互联网20件事》。</p>
<p>访问地址：<a title="关于浏览器和互联网20件事" href="http://www.20thingsilearned.com">http://www.20thingsilearned.com</a></p>
<p>话说这本电子书已经出来很久了，不过今天来看依然觉得相当的赞。我们无需刷新页面，就可以来回切换电子书页面，这正是OPOA（One Page One Application）的完美体现。</p>
<p>现在正在学习关于history API这方面的东西，所以特别感兴趣的是他们如何使用window.history.pushState()和window.history.replaceState()来做页面之间的不刷新切换。</p>
<p>今天查阅了一些资料，基本上对history API有了一个基本了解。</p>
<p><span id="more-464"></span></p>
<p>首先要说的就是history是个全局，即window.history。看到这个变量名你一定很熟悉，因为经常可以看到用window.history.back()或者window.history.go(-1)来返回上一页的JavaScript代码。</p>
<p>所以history并不是什么新东西，在HTML4的时代，我们可以使用它的这几个属性和方法：</p>
<p>length：历史堆栈中的记录数。</p>
<p>back()：返回上一页。</p>
<p>forward()：前进到下一页。</p>
<p>go([delta])：delta是个数字，如果不写或为0，则刷新本页；如果为正数，则前进到相应数目的页面；若为负数，则后退到相应数目的页面。</p>
<p>现在，HTML5为其又添加了以下2个方法：</p>
<p>pushState(data, title [, url])：往历史堆栈的顶部添加一条记录。data为一个对象或null，它会在触发window的popstate事件(window.onpopstate)时，作为参数的state属性传递过去；title为页面的标题，但当前所有浏览器都忽略这个参数；url为页面的URL，不写则为当前页。</p>
<p>replaceState(data, title [, url])：更改当前页面的历史记录。参数同上。这种更改并不会去访问该URL。不过目前只有Safari 5.0+、Chrome 8.0+、Firefox 4.0+和iOS 4.2.1+支持。如果想兼容老浏览器的话，可以试试<a href="https://github.com/balupton/history.js">History.js</a>，而且它还修正了一些bug。</p>
<p>当然，在移动平台上，我们可以大胆尝试html5的history API。ios3.0+ 和Android2.0+ 平台的内置浏览器对history都比较完美了，利用它我们可以web app更趋向与native app。</p>
<p>下面，推荐几篇文章：</p>
<p>.<a href="https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history">Manipulating the browser history</a></p>
<p>.<a href="http://dev.w3.org/html5/spec-author-view/history.html">Session history and navigation</a></p>
<p>.<a href="http://diveintohtml5.org/history.html">Manipulating History for Fun &#038; Profit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/08/i-should-lean-one-page-one-application/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HTML5  Geolocation API</title>
		<link>http://www.cssoul.com/2011/08/html5-geolocation-api/</link>
		<comments>http://www.cssoul.com/2011/08/html5-geolocation-api/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 13:10:42 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=460</guid>
		<description><![CDATA[HTML5提供了一组API用来获取用户的地理位置，如果浏览器支持且设备具有定位功能，就能够直接使用这组API来获取当前位置信息。 该API是navigator对象的一个属性 &#8211; Geolocation。目前除了ie内核浏览器外，其他浏览器的最新版本基本都支持Geolocation。同时，移动设备IOS 3.0+ 和 Android 2.0+ 系统也支持它，现在很多移动设备的应用加入了地理定位的元素。 那么我们接下来看如何使用Geolocation API： 一、检查浏览器是否支持Geolocation var hasGeolocation = !!(navigator.geolocation); if(hasGeolocation){ alert(“浏览器支持hasGeolocation”); } 二、navigator.geolocation 的方法: * navigator.geolocation有三个方法，分别是getCurrentPosition()、watchPosition()和clearWatch() getCurrentPosition()方法 * getCurrentPosition()方法检索用户的当前位置，但只检索一次。当该方法被脚本调用时，方法以异步的方式来尝试获取宿主设备的当前位置。 * 该方法最多可以有三个参数： geolocationSuccess：带回当前位置的回调（callback）（必需的） geolocationError：有错误发生时使用的回调（可选的） geolocationOptions：地理位置选项（可选的） 调用如下所示： navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError, geolocationOptions); watchPosition()方法 * watchPosition()方法定期轮询用户的位置，查看用户的位置是否发生改变。其最多可带三个参数。 调用如下所示： var watchPositionHandler = navigator.geolocation.watchPosition(geolocationSuccess, geolocationError, geolocationOptions); clearWatch()方法 * clearWatch()方法终止正在进行的watchPosition()，该方法只能带一个参数。在调用时，其找到之前已经开始了的watchID参数并立即停止它。 调用如下所示： navigator.geolocation.clearWatch(watchID); 三、navigator.geolocation返回一个Position对象: * Position对象有两个属性：timestamp和coords。timestamp属性表示地理位置数据的创建时间，coords属性又包含七个属性： coords.latitude：估计纬度 coords.longitude：估计经度 [...]]]></description>
			<content:encoded><![CDATA[<p>HTML5提供了一组API用来获取用户的地理位置，如果浏览器支持且设备具有定位功能，就能够直接使用这组API来获取当前位置信息。</p>
<p>该API是navigator对象的一个属性 &#8211; Geolocation。目前除了ie内核浏览器外，其他浏览器的最新版本基本都支持Geolocation。同时，移动设备IOS 3.0+ 和 Android 2.0+ 系统也支持它，现在很多移动设备的应用加入了地理定位的元素。</p>
<p>那么我们接下来看如何使用Geolocation API：</p>
<p><strong>一、检查浏览器是否支持Geolocation</strong><br />
<code><br />
var hasGeolocation = !!(navigator.geolocation);<br />
if(hasGeolocation){<br />
    alert(“浏览器支持hasGeolocation”);<br />
}<br />
</code></p>
<p><span id="more-460"></span></p>
<p><strong>二、navigator.geolocation 的方法:</strong></p>
<p>* navigator.geolocation有三个方法，分别是getCurrentPosition()、watchPosition()和clearWatch()</p>
<p><strong>getCurrentPosition()方法</strong></p>
<p>* getCurrentPosition()方法检索用户的当前位置，但只检索一次。当该方法被脚本调用时，方法以异步的方式来尝试获取宿主设备的当前位置。</p>
<p>* 该方法最多可以有三个参数：</p>
<p>
<strong>geolocationSuccess</strong>：带回当前位置的回调（callback）（必需的）<br />
<strong>geolocationError</strong>：有错误发生时使用的回调（可选的）<br />
<strong>geolocationOptions</strong>：地理位置选项（可选的）
</p>
<p>调用如下所示：</p>
<p><code><br />
navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError, geolocationOptions);<br />
</code> </p>
<p><strong>watchPosition()方法</strong></p>
<p> * watchPosition()方法定期轮询用户的位置，查看用户的位置是否发生改变。其最多可带三个参数。</p>
<p>调用如下所示：</p>
<p><code><br />
var watchPositionHandler = navigator.geolocation.watchPosition(geolocationSuccess, geolocationError, geolocationOptions);<br />
</code></p>
<p><strong>clearWatch()方法</strong></p>
<p>* clearWatch()方法终止正在进行的watchPosition()，该方法只能带一个参数。在调用时，其找到之前已经开始了的watchID参数并立即停止它。</p>
<p>调用如下所示：</p>
<p><code><br />
navigator.geolocation.clearWatch(watchID);<br />
</code></p>
<p><strong>三、navigator.geolocation返回一个Position对象:</strong></p>
<p>* Position对象有两个属性：timestamp和coords。timestamp属性表示地理位置数据的创建时间，coords属性又包含七个属性：</p>
<p>
<strong>coords.latitude</strong>：估计纬度<br />
<strong>coords.longitude</strong>：估计经度<br />
<strong>coords.altitude</strong>：估计高度<br />
<strong>coords.accuracy</strong>：所提供的以米为单位的经度和纬度估计的精确度<br />
<strong>coords.altitudeAccuracy</strong>：所提供的以米为单位的高度估计的精确度<br />
<strong>coords.heading</strong>： 宿主设备当前移动的角度方向，相对于正北方向顺时针计算<br />
<strong>coords.speed</strong>：以米每秒为单位的设备的当前对地速度</p>
<p>* 注意altitude, altitudeAccuracy, heading, speed不一定被浏览器支持，所以大家最好看一下官方规范的描述，多一些了解。</p>
<p><strong>四、注意事项</strong></p>
<p>
* Geolocation App是不能直接访问设备的，只能通过请求浏览器来访问设备；<br />
* Geolocation涉及到用户隐私，在获取 Geolocation 的时候，需要先征求用户的意思。<br />
* Geolocation目前没有比较好的前端兼容解决方案，但是在移动设备 iOS 和 Android上，我们可以大胆尝试使用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/08/html5-geolocation-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用css3的animation实现slide</title>
		<link>http://www.cssoul.com/2011/08/use-css3-make-slide/</link>
		<comments>http://www.cssoul.com/2011/08/use-css3-make-slide/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 10:47:39 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=457</guid>
		<description><![CDATA[其实去年就开始接触到了css3动画，由于精力有限，然后就是关于这方面的资料并不多，所以只了解了下皮毛。 最近看了一下移动Javascript框架jQuery Mobile的源码，发现里面的页面切换，很多动画效果都是用css3来实现的。其实现在很多人依旧因为ie不支持css3而放弃去了解这方面知识，作为无线前端开发，很幸运能够走在大家前面去了解这些东西。 今天，主要介绍一下animation,那么先看下面一段代码。 /* 确保我们是在一个 3-D 空间 */ -webkit-transform-style: preserve-3d; /*让整个行使用x-轴旋转、7秒中的动画、无限次播放以及线性 */ -webkit-animation-name: x-spin; -webkit-animation-duration: 7s; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: linear; } /* 定义要调用的动画 */ @-webkit-keyframes x-spin { 0% { -webkit-transform: rotateX(0deg); } 50% { -webkit-transform: rotateX(180deg); } 100% { -webkit-transform: rotateX(360deg); } } animation对应的CSS属性列表： animation-name 动画的名称。 animation-duration 定义动画播放一次需要的时间。默认为0； animation-timing-function 定义动画播放的方式，参数设置类似transition-timing-function animation-delay 定义动画开始的时间 animation-iteration-count 定义循环的次数，infinite即为无限次。默认是1。 [...]]]></description>
			<content:encoded><![CDATA[<p>其实去年就开始接触到了css3动画，由于精力有限，然后就是关于这方面的资料并不多，所以只了解了下皮毛。</p>
<p>最近看了一下移动Javascript框架jQuery Mobile的源码，发现里面的页面切换，很多动画效果都是用css3来实现的。其实现在很多人依旧因为ie不支持css3而放弃去了解这方面知识，作为无线前端开发，很幸运能够走在大家前面去了解这些东西。</p>
<p>今天，主要介绍一下animation,那么先看下面一段代码。</p>
<p><code><br />
/* 确保我们是在一个 3-D 空间 */<br />
-webkit-transform-style: preserve-3d;</p>
<p>/*让整个行使用x-轴旋转、7秒中的动画、无限次播放以及线性 */ </p>
<p>-webkit-animation-name: x-spin;</p>
<p>-webkit-animation-duration: 7s;</p>
<p>-webkit-animation-iteration-count: infinite;</p>
<p>-webkit-animation-timing-function: linear; } </p>
<p>/* 定义要调用的动画 */ </p>
<p>@-webkit-keyframes x-spin { </p>
<p>0% { -webkit-transform: rotateX(0deg); } </p>
<p>50% { -webkit-transform: rotateX(180deg); } </p>
<p>100% { -webkit-transform: rotateX(360deg); } </p>
<p>}<br />
</code></p>
<h5>animation对应的CSS属性列表：</h5>
<p>animation-name 动画的名称。 </p>
<p>animation-duration 定义动画播放一次需要的时间。默认为0； </p>
<p>animation-timing-function 定义动画播放的方式，参数设置类似transition-timing-function animation-delay 定义动画开始的时间 </p>
<p>animation-iteration-count 定义循环的次数，infinite即为无限次。默认是1。 </p>
<p>animation-direction 动画播放的方向，两个值，默认为normal，这个时候动画的每次循环都向前播放。另一个值是alternate，则第偶数次向前播放，第奇数次向反方向播放。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>
<br/></p>
<p>有兴趣的可以看看我利用animation实现slide幻灯片。</p>
<p><a href="http://lib.cssoul.com/css3/css-slide.html">点击查看Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/08/use-css3-make-slide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript正则表达式</title>
		<link>http://www.cssoul.com/2011/06/javascript-regexp/</link>
		<comments>http://www.cssoul.com/2011/06/javascript-regexp/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 18:42:05 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[RegExp]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=447</guid>
		<description><![CDATA[上周，小组上做了下JavaScript正则表达式的分享，同时自己又重新温习了一下这个知识点。 其实在使用JavaScript过程中，正则表达式的使用场景还是蛮多的，当然很多情况可能是校验表达用到。不过这方面的正则很多，随便google一下就一大堆方案。要学好JavaScript，这块知识点也是不能落下的。 这个ppt也只说到比较常用的知识点，比较难的方面没有涉及到。不过对入门还是比较有帮助 ：） View more presentations from 346682530]]></description>
			<content:encoded><![CDATA[<p>上周，小组上做了下JavaScript正则表达式的分享，同时自己又重新温习了一下这个知识点。</p>
<p>其实在使用JavaScript过程中，正则表达式的使用场景还是蛮多的，当然很多情况可能是校验表达用到。不过这方面的正则很多，随便google一下就一大堆方案。要学好JavaScript，这块知识点也是不能落下的。</p>
<p>这个ppt也只说到比较常用的知识点，比较难的方面没有涉及到。不过对入门还是比较有帮助 ：）</p>
<div style="width:425px" id="__ss_8347294"><iframe src="http://www.slideshare.net/slideshow/embed_code/8347294" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/346682530">346682530</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/06/javascript-regexp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>谈谈JavaScript中的this关键字</title>
		<link>http://www.cssoul.com/2011/05/%e8%b0%88%e8%b0%88javascript%e4%b8%ad%e7%9a%84this%e5%85%b3%e9%94%ae%e5%ad%97/</link>
		<comments>http://www.cssoul.com/2011/05/%e8%b0%88%e8%b0%88javascript%e4%b8%ad%e7%9a%84this%e5%85%b3%e9%94%ae%e5%ad%97/#comments</comments>
		<pubDate>Wed, 25 May 2011 15:52:38 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[this]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=437</guid>
		<description><![CDATA[this是神马？ 在JavaScript中,掌握this关键字的使用非常重要。作为新手，在编码时常常会不知道当前this关键字引用的究竟是哪个对象，所以我们很有必要了解this。 首先，我们要知道两点： 在全局代码中，this始终是全局对象本身； 在函数代码中，this值在进入上下文时确定，即this值它不是静态的绑定到一个函数。 为什么使用this？ 通过下面这个例子，我想大家应该就会明白this的作用。 我们实例化了两个对象a和b，这两个对象其实就拥有了两个作用域。两个对象的showColor属性都调用函数showColor ，而此时this在这两次调用过程中值都不一样。也就是说，使用this可以达到重用函数的作用。 this 使用场景 1、调用对象的方法 2、函数中使用 3、函数的调用 4、行内事件函数中的this this在此例子中，指代window对象，并不是知道dom元素#btn ，如果要让this指代触发事件的dom元素，可以使用下面的方式。 5、事件监听函数中的this 6、特殊（诡异）情况 此时this并不是指向对象obj，this.x的值为undefind，该情况比较特殊，很多公司面试题会以这个为考点。要解决这个问题，我们可以通过一下方式： 7、this与 apply()、call() 通过call和apply可以重新定义函数的执行环境，即this的指向，这对于一些应用当中是十分常用的。 1、call(); 2、apply();]]></description>
			<content:encoded><![CDATA[<h5>this是神马？</h5>
<p>在JavaScript中,掌握this关键字的使用非常重要。作为新手，在编码时常常会不知道当前this关键字引用的究竟是哪个对象，所以我们很有必要了解this。<br />
首先，我们要知道两点：<br />
在全局代码中，this始终是全局对象本身；<br />
在函数代码中，this值在进入上下文时确定，即this值它不是静态的绑定到一个函数。</p>
<h5>为什么使用this？</h5>
<p>通过下面这个例子，我想大家应该就会明白this的作用。</p>
<p><span id="more-437"></span></p>
<pre class="brush: jscript; title: ; notranslate">
function showColor() {
  alert(this.color);
};

var a = new Object;
a.color = &quot;red&quot;;
a.showColor = showColor;

var b= new Object;
b.color = &quot;blue&quot;;
b.showColor = showColor;

a.showColor();		//输出 &quot;red&quot;
b.showColor();		//输出 &quot;blue&quot;
</pre>
<p>我们实例化了两个对象a和b，这两个对象其实就拥有了两个作用域。两个对象的showColor属性都调用函数showColor ，而此时this在这两次调用过程中值都不一样。也就是说，使用this可以达到重用函数的作用。</p>
<h5>this 使用场景</h5>
<p style="color:#00ADED">1、调用对象的方法</p>
<pre class="brush: jscript; title: ; notranslate">
var obj = {
	x: 100,
	y: function () {
		return this.x;
	}
};
var test = obj.y();  //test的值为100，this指代对象obj
</pre>
<p style="color:#00ADED">2、函数中使用</p>
<pre class="brush: jscript; title: ; notranslate">
function test(num) {
	 this.a = num;
	 this.b = function () {
		return this.a;
	}
}
var obj = new test(10);
var c = obj.b();  //c的值为10，this指代对象obj
</pre>
<p style="color:#00ADED">3、函数的调用</p>
<pre class="brush: jscript; title: ; notranslate">
function test() {
 	return this;
}
test();  //此时this指代window
</pre>
<p style="color:#00ADED">4、行内事件函数中的this</p>
<pre class="brush: jscript; title: ; notranslate">
function click_handler() {
 	alert(this);
}
&lt;button id='btn' onclick='click_handler()'&gt;点击&lt;/button&gt;
</pre>
<p>this在此例子中，指代window对象，并不是知道dom元素#btn ，如果要让this指代触发事件的dom元素，可以使用下面的方式。</p>
<p style="color:#00ADED">5、事件监听函数中的this</p>
<pre class="brush: jscript; title: ; notranslate">
  function click_handler() {
	alert(this);
  }
  function handler() {
	document.getElementById('btn').onclick = click_handler;
  }
  window.onload = handler;
&lt;button id='btn'&gt;点击&lt;/button&gt;
</pre>
<p style="color:#00ADED">6、特殊（诡异）情况</p>
<pre class="brush: jscript; title: ; notranslate">
var obj = {
	x:100,
	y:function(){
		setTimeOut(
			function(){alert(this.x);},2000);
	}

};
obj.y();
</pre>
<p>此时this并不是指向对象obj，this.x的值为undefind，该情况比较特殊，很多公司面试题会以这个为考点。要解决这个问题，我们可以通过一下方式：</p>
<pre class="brush: jscript; title: ; notranslate">
var obj = {
	x:100,
	y:function(){
		var that = this;
		serTImeout(
			function(){alert(that.x);},2000);
	}
};
obj.y();
</pre>
<p style="color:#00ADED">7、this与 apply()、call()</p>
<p>通过call和apply可以重新定义函数的执行环境，即this的指向，这对于一些应用当中是十分常用的。</p>
<p>1、call();</p>
<pre class="brush: jscript; title: ; notranslate">
function changeStyle( type , value ){
    this.style[ type ] = value;
}

var one = document.getElementById( 'one' ); 

changeStyle.call( one , 'fontSize' , '100px' );

changeStyle('fontSize' , '300px');  //出现错误，因为此时changeStyle中this引用的是window对象，而window并无style属性。
</pre>
<p>2、apply();</p>
<pre class="brush: jscript; title: ; notranslate">
function changeStyle( type , value ){
    this.style[ type ] = value;
}

var one = document.getElementById( 'one' ); 

changeStyle.apply( one , ['fontSize' , '100px' ]);

changeStyle('fontSize' , '300px');  //出现错误，原因同上
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/05/%e8%b0%88%e8%b0%88javascript%e4%b8%ad%e7%9a%84this%e5%85%b3%e9%94%ae%e5%ad%97/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>5.1东极行</title>
		<link>http://www.cssoul.com/2011/05/5-1-east-pole-tourism/</link>
		<comments>http://www.cssoul.com/2011/05/5-1-east-pole-tourism/#comments</comments>
		<pubDate>Wed, 18 May 2011 15:55:56 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[东极]]></category>
		<category><![CDATA[旅游]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=413</guid>
		<description><![CDATA[5.1三天长假，和一伙朋友到舟山那边的东极玩了一次，这是我第一次零距离亲近大海，感觉相当不错，非常值得回味。 今年长假都有出去玩，非常有意义，摆脱掉 &#8211; “宅”！ 话说世界上有南极和北极，在中国东海上还镶嵌着一颗璀璨的明珠——东极”。这个应该很多人都不知道吧～ 东极主要风景有庙子湖、青浜岛、 东福山。我们这次玩了庙子湖、东福山两个岛，时间有限，当然挑了最有意思的两个岛了。 我们从舟山沈家门港出发，坐东极轮首先来到庙子湖岛。刚到岛上，就感到一股浓厚、古朴的渔家特色。 庙子湖岛上面住着很多居民，有一个小镇 &#8211; 东极镇。镇上有个博物馆，记录着过去的小岛故事～ 岛周围有一大片养殖区，具体也不知道是什么，周围很多渔船在忙碌着～ 好多当地人的私家船安逸的飘在海里，很想自己开着体验一把。 放好行李，我们就在岛上绕了一圈，吹着海风，看着美景，相当给力，一个字 &#8211; “爽”~ 第二天，我们坐小岛之间的公交轮，到另一个岛 &#8211; 东福岛去玩，途经举着火把的财伯公雕像。 东福岛相对比较好玩，山比较高，风景更多，植物也相对茂盛，我们绕了大半个山，看到很多迷人的风景。 其实，我们是冲着这个“福”字绕的，大家都没有方向感找了很久才找到它。”福如东海.寿比南山”之说的”福如东海”就是现东福山岛，而据说刻有“福”字的石头能与海天佛国普陀山的”天下第一石”媲美。 下午，我们有跟旅社主人一起去钓鱼，玩的很开心，大家还钓到了10多条鱼哦，这就是我们在岛上吃的美味。（ps：虽然我不喜欢吃海鲜） 这次去玩，天气不是很好，本来想早点起来看日出，却只好作罢。有机会还想去玩玩，吼吼～]]></description>
			<content:encoded><![CDATA[<p>5.1三天长假，和一伙朋友到舟山那边的东极玩了一次，这是我第一次零距离亲近大海，感觉相当不错，非常值得回味。</p>
<p>今年长假都有出去玩，非常有意义，摆脱掉 &#8211; “宅”！</p>
<p>话说世界上有南极和北极，在中国东海上还镶嵌着一颗璀璨的明珠——东极”。这个应该很多人都不知道吧～<br />
东极主要风景有庙子湖、青浜岛、 东福山。我们这次玩了庙子湖、东福山两个岛，时间有限，当然挑了最有意思的两个岛了。</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/1.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/1.jpg" alt="浓厚、古朴的渔家特色" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
<span id="more-413"></span><br />
我们从舟山沈家门港出发，坐东极轮首先来到庙子湖岛。刚到岛上，就感到一股浓厚、古朴的渔家特色。</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/2.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/2.jpg" alt="东极镇" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
庙子湖岛上面住着很多居民，有一个小镇 &#8211; 东极镇。镇上有个博物馆，记录着过去的小岛故事～</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/3.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/3.jpg" alt="东极养殖区" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
岛周围有一大片养殖区，具体也不知道是什么，周围很多渔船在忙碌着～</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/4.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/4.jpg" alt="庙子湖岛私家船" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
好多当地人的私家船安逸的飘在海里，很想自己开着体验一把。</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/9.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/9.jpg" alt="吹着海风，看着美景" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
放好行李，我们就在岛上绕了一圈，吹着海风，看着美景，相当给力，一个字 &#8211; “爽”~</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/5.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/5.jpg" alt="财伯公雕像" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
第二天，我们坐小岛之间的公交轮，到另一个岛 &#8211; 东福岛去玩，途经举着火把的财伯公雕像。</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/6.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/6.jpg" alt="山茶花" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
东福岛相对比较好玩，山比较高，风景更多，植物也相对茂盛，我们绕了大半个山，看到很多迷人的风景。</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/7.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/7.jpg" alt="东极" title="福如东海" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
其实，我们是冲着这个“福”字绕的，大家都没有方向感找了很久才找到它。”福如东海.寿比南山”之说的”福如东海”就是现东福山岛，而据说刻有“福”字的石头能与海天佛国普陀山的”天下第一石”媲美。</p>
<p><a href="http://www.cssoul.com/wp-content/uploads/2011/05/8.jpg"><img src="http://www.cssoul.com/wp-content/uploads/2011/05/8.jpg" alt="岛上吃的美味" title="东极" width="670" height="376" class="alignnone size-full wp-image-414 colorbox-413" /></a><br />
下午，我们有跟旅社主人一起去钓鱼，玩的很开心，大家还钓到了10多条鱼哦，这就是我们在岛上吃的美味。（ps：虽然我不喜欢吃海鲜）</p>
<p>这次去玩，天气不是很好，本来想早点起来看日出，却只好作罢。有机会还想去玩玩，吼吼～</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/05/5-1-east-pole-tourism/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>一次优化总结</title>
		<link>http://www.cssoul.com/2011/05/m-taobao-com-%e8%a7%a6%e5%b1%8f%e7%89%88%e4%bc%98%e5%8c%96%e6%80%bb%e7%bb%93/</link>
		<comments>http://www.cssoul.com/2011/05/m-taobao-com-%e8%a7%a6%e5%b1%8f%e7%89%88%e4%bc%98%e5%8c%96%e6%80%bb%e7%bb%93/#comments</comments>
		<pubDate>Wed, 18 May 2011 13:56:10 +0000</pubDate>
		<dc:creator>黑幕困兽</dc:creator>
				<category><![CDATA[无线前端]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[工作总结]]></category>
		<category><![CDATA[无线]]></category>

		<guid isPermaLink="false">http://www.cssoul.com/?p=409</guid>
		<description><![CDATA[其实之前有整理过优化总结word文档，但是后来要做一次小组周会分享，并重新整理成了个ppt。每次写ppt都感觉没什么好写的，总有难以下手的感觉，不过每次写的过程中都会发现一些自己还模凌两可的问题，写完后都觉得还是蛮有收获的。 写ppt就当做是学习沉淀的一种方式，以后要多写。 ）：]]></description>
			<content:encoded><![CDATA[<p>其实之前有整理过优化总结word文档，但是后来要做一次小组周会分享，并重新整理成了个ppt。每次写ppt都感觉没什么好写的，总有难以下手的感觉，不过每次写的过程中都会发现一些自己还模凌两可的问题，写完后都觉得还是蛮有收获的。<br />
写ppt就当做是学习沉淀的一种方式，以后要多写。 ）：</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/7649826" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cssoul.com/2011/05/m-taobao-com-%e8%a7%a6%e5%b1%8f%e7%89%88%e4%bc%98%e5%8c%96%e6%80%bb%e7%bb%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

