<?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>Yooyo Garden &#187; 前端开发</title>
	<atom:link href="http://www.yooyo.me/blog/category/cssxhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yooyo.me/blog</link>
	<description>frent-end  and web design</description>
	<lastBuildDate>Thu, 10 Nov 2011 04:43:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Overview of CSS3 structural pseudo-classes(1) &#8211; the &#8216;:target &#8216; pseudo-class</title>
		<link>http://www.yooyo.me/blog/overview-of-css3-structural-pseudo-classes1-the-target-pseudo-class/</link>
		<comments>http://www.yooyo.me/blog/overview-of-css3-structural-pseudo-classes1-the-target-pseudo-class/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 04:42:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[front-end]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=203</guid>
		<description><![CDATA[E:target Selects the element E referenced by the fragment identifier (if any) of the page&#8217;s URL. this lets you dynamically select the jumped-to anchor from an HTML anchor on the page. target 伪类可以动态选择页面中具有锚点的元素。 通常一个页面都是有一个URL地址，但是如果这个地址如果是以#something 结尾 链接到特定的元素的话，浏览器会尝试着确定这个元素是否存在（可见）或者是否是在页面的顶端。 :target 伪类可以选择这个特定的元素。 当然可以做的更多，比如，你可以判断这个元素是否选中来隐藏或者显示这个元素。 一个简单的例子： &#60;a href=&#34;#item1&#34;&#62;item 1&#60;/a&#62; &#60;a href=&#34;#item2&#34;&#62;item 2&#60;/a&#62; &#60;a href=&#34;#item3&#34;&#62;item 3&#60;/a&#62; &#60;a href=&#34;#default&#34;&#62;clear&#60;/a&#62; &#60;div class=&#34;items&#34;&#62; &#60;p id=&#34;item1&#34;&#62;... [...]]]></description>
			<content:encoded><![CDATA[<div style="background: #ccc; padding: 10px;">
<h1>E:target</h1>
<h3><span style="font-size: small;"><span style="font-weight: normal;">Selects the element E referenced by the fragment identifier (if any) of the page&#8217;s URL. this lets you dynamically select the jumped-to anchor from an HTML anchor on the page. </span></span></h3>
<p><span style="font-size: small;"><span style="font-weight: normal;">target 伪类可以动态选择页面中具有锚点的元素。</span></span></p>
<p><span style="font-size: small;"><span style="font-weight: normal;"><br />
</span></span></p>
</div>
<p>通常一个页面都是有一个URL地址，但是如果这个地址如果是以#something 结尾 链接到特定的元素的话，浏览器会尝试着确定这个元素是否存在（可见）或者是否是在页面的顶端。</p>
<p>:target 伪类可以选择这个特定的元素。</p>
<p>当然可以做的更多，比如，你可以判断这个元素是否选中来隐藏或者显示这个元素。</p>
<p>一个简单的例子：</p>
<div class="codecolorer-container html4strict twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#item1&quot;</span>&gt;</span>item 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#item2&quot;</span>&gt;</span>item 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#item3&quot;</span>&gt;</span>item 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#default&quot;</span>&gt;</span>clear<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;items&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;item1&quot;</span>&gt;</span>... item 1...<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;item2&quot;</span>&gt;</span>... item 2...<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;item3&quot;</span>&gt;</span>...item 3...<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;default&quot;</span>&gt;</span>no target<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></div>
<p>相应的css，</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div<span style="color: #6666ff;">.items</span> p <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">&#125;</span><br />
div<span style="color: #6666ff;">.items</span> p<span style="color: #3333ff;">:target </span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">&#125;</span></div></div>
<p>非常简单的一个选项卡切换功能，只用了css3就实现。</p>
<p>你可以另外加些样式，使之看起来更像一个按钮。</p>
<p>实际上，在那些支持css3的浏览器你可以用&#8217;:not(:target)&#8217;隐藏没有被选择的元素。相应代码：</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div<span style="color: #6666ff;">.items</span> p<span style="color: #00AA00;">:</span>not<span style="color: #00AA00;">&#40;</span><span style="color: #00AA00;">:</span>target<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">&#125;</span><br />
div<span style="color: #6666ff;">.items</span> p<span style="color: #3333ff;">:target </span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">&#125;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/overview-of-css3-structural-pseudo-classes1-the-target-pseudo-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UPDATING XCODE AND MACPORTS FOR OSX LION</title>
		<link>http://www.yooyo.me/blog/updating-xcode-and-macports-for-osx-lion/</link>
		<comments>http://www.yooyo.me/blog/updating-xcode-and-macports-for-osx-lion/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 09:47:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[建建言论]]></category>
		<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/updating-xcode-and-macports-for-osx-lion/</guid>
		<description><![CDATA[转发一篇文章 So, you&#8217;ve upgraded from Snow Leopard to Lion, and you&#8217;re ready to jump back into development. Watch out! MacPorts and XCode need to be updated! Apple doesn&#8217;t include XCode in the system updates, so you have to do it manually. If you installed XCode on Snow Leopard, you&#8217;re probably running XCode 3 (unless of [...]]]></description>
			<content:encoded><![CDATA[<p>转发一篇文章</p>
<p>So, you&#8217;ve upgraded from Snow Leopard to Lion, and you&#8217;re ready to jump back into development. Watch out! MacPorts and XCode need to be updated! Apple doesn&#8217;t include XCode in the system updates, so you have to do it manually. If you installed XCode on Snow Leopard, you&#8217;re probably running XCode 3 (unless of course you bought XCode 4). The latest that ships for Lion is 4.1 and is free. Here&#8217;s how to upgrade your development environment:</p>
<p>Step 1: Install XCode 4.1</p>
<p>From the App store, find and download XCode. This will put an installer in your Applications folder. Run the installer. As of right now, there isn&#8217;t an alternative download method from Apple. If you don&#8217;t want to deal with the App store, you&#8217;ll probably have to hit the warez sites.</p>
<p>Step 2: Uninstall XCode 3</p>
<p>Installing the new XCode doesn&#8217;t replace your old one, it just moves it to a backup directory. Fire up your terminal:</p>
<p>sudo /Developer-old/Library/uninstall-devtools &#8211;mode=all<br />
Remove the leftover XCode folder:</p>
<p>sudo rm -rf /Developer-old<br />
At this point I needed to run the XCode 4.1 installer again because the XCode 3 uninstall removed some of the shared command line utilities.</p>
<p>Step 3: Remove installed ports</p>
<p>Make a list of your installed ports in your home folder:</p>
<p>port -qv installed > ~/myports.txt<br />
Uninstall all ports</p>
<p>sudo port -f uninstall &#8211;follow-dependents installed<br />
Remove any partially installed ports and archives</p>
<p>sudo port clean &#8211;work &#8211;archive all<br />
Step 4: Update MacPorts</p>
<p>MacPorts recommends that you reinstall the base package, but as of right now there isn&#8217;t a Lion-specific installer. You should download and run the Snow Leopard installer again though.</p>
<p>After that, make sure you&#8217;re updated and rsynched with the MacPorts server:</p>
<p>sudo port -v selfupdate<br />
sudo port upgrade obsolete<br />
Step 5: Reinstall the ports you need</p>
<p>Read through the text file we created, and reinstall only the ports you need. Don&#8217;t worry about all the dependencies, they&#8217;ll be added as necessary. Make sure that if you used specific variants (the package name is followed with a +) that you install those variants. For example, I didn&#8217;t install git-core, I installed git-core +svn, so I need to now run:</p>
<p>sudo port install git-core +svn<br />
Yes, even though Git and SVN are both included in XCode 4.1, I am reinstalling git. The build of Git that Apple included is quite limited, and I needed a specific extension git-svn so that I can migrate my projects from SVN to Git.</p>
<p>That should be it! Enjoy developing on OSX Lion!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/updating-xcode-and-macports-for-osx-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JS学习笔记提升规则(hoisting)</title>
		<link>http://www.yooyo.me/blog/js%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e6%8f%90%e5%8d%87%e8%a7%84%e5%88%99hoisting/</link>
		<comments>http://www.yooyo.me/blog/js%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e6%8f%90%e5%8d%87%e8%a7%84%e5%88%99hoisting/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 10:11:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=196</guid>
		<description><![CDATA[JS 学习笔记一： 提升规则 hoisting JS代码： var  h_var = &#34;Hello hoisting&#34;; alert&#40;h_var&#41;; 运行代码会输出 Hello hoisting 代码2: var  h_var = &#34;Hello hoisting&#34;; &#40;function&#40;&#41;&#123; alert&#40;h_var&#41;; &#125;&#41;&#40;&#41;; 运行代码也会输出 Hello hoisting 代码3: var  h_var = &#34;Hello hoisting&#34;; &#40;function&#40;&#41;&#123; alert&#40;h_var&#41;; var h_var = &#34;Hello hoisting again!&#34; &#125;&#41;&#40;&#41;; 运行代码则会输出 undefined, 为什么我们已经声明了变量h_var 但是会输出undefined呢？ 在它的当前作用域内，不管变量是在哪里声明的，都会提升到顶部作用域，然而，只是声明部分提升,赋值部分不会被提升，如果变量被赋值，则当前的值会初始化为 undefined! 声明跟初始化的区别： 假设有这样一个变量声明： var h_var = &#34;hello h&#34; 那么，首先是声明： [...]]]></description>
			<content:encoded><![CDATA[<h1>JS 学习笔记一：</h1>
<h2>提升规则 hoisting</h2>
<p>JS代码：</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span>  h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Hello hoisting&quot;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>h_var<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>运行代码会输出 Hello hoisting</p>
<p>代码2:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span>  h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Hello hoisting&quot;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>h_var<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>运行代码也会输出 Hello hoisting</p>
<p>代码3:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span>  h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Hello hoisting&quot;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>h_var<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Hello hoisting again!&quot;</span><br />
<br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p><span style="font-family: monospace;">运行代码则会输出 undefined, 为什么我们已经声明了变量h_var 但是会输出undefined呢？</span></p>
<p><span style="font-family: monospace;">在它的当前作用域内，不管变量是在哪里声明的，都会提升到顶部作用域，然而，只是声明部分提升,赋值部分不会被提升，如果变量被赋值，则当前的值会初始化为 undefined!</span></p>
<p>声明跟初始化的区别：</p>
<p><span style="font-family: monospace;">假设有这样一个变量声明：</span></p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;hello h&quot;</span></div></div>
<p><span style="font-family: monospace;">那么，首先是声明： var h_var ,然后才是初始化变量 h_var = &#8220;hello h&#8221;.</span></p>
<p><span style="font-family: monospace;">再来一个例子：</span></p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> hoisting<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> a<span style="color: #339933;">=</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #006600; font-style: italic;">//其他js代码</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> b<span style="color: #339933;">=</span><span style="color: #CC0000;">2</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #006600; font-style: italic;">//其他js代码。。。</span><br />
<br />
<br />
<br />
<span style="color: #009900;">&#125;</span></div></div>
<p>则相当于：</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> hoisting<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> a<span style="color: #339933;">,</span>b<span style="color: #339933;">;</span><br />
<br />
a <span style="color: #339933;">=</span> <span style="color: #CC0000;">1</span><br />
<br />
<span style="color: #006600; font-style: italic;">//其他js代码，再这里的js代码如果用到b变量的话则是输出undefined!</span><br />
<br />
b<span style="color: #339933;">=</span><span style="color: #CC0000;">2</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #006600; font-style: italic;">//其他js代码。。。</span><br />
<br />
<br />
<span style="color: #009900;">&#125;</span></div></div>
<h3><span style="color: #339966;">提示： 把所有的变量声明都写到函数的顶部！</span></h3>
<p>所以不难理解上面的代码3 ：</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span>  h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Hello hoisting&quot;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">var</span> h_var<span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//变量声明自动提升到函数顶部，但是变量初始化没有提升到函数顶部，所以初始值为 undefined</span><br />
<br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>h_var<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #006600; font-style: italic;">// 输出 undefined</span><br />
<br />
h_var <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Hello hoisting again!&quot;</span>    <span style="color: #006600; font-style: italic;">//var h_var = &quot;Hello hoisting again!&quot; 应该把变量声明放到行数最顶部！</span><br />
<br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p><span style="font-family: monospace;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/js%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e6%8f%90%e5%8d%87%e8%a7%84%e5%88%99hoisting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery live() 在iPad safari里部分元素失效的问题</title>
		<link>http://www.yooyo.me/blog/jquery-live-%e5%9c%a8ipad-safari%e9%87%8c%e9%83%a8%e5%88%86%e5%85%83%e7%b4%a0%e5%a4%b1%e6%95%88%e7%9a%84%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.yooyo.me/blog/jquery-live-%e5%9c%a8ipad-safari%e9%87%8c%e9%83%a8%e5%88%86%e5%85%83%e7%b4%a0%e5%a4%b1%e6%95%88%e7%9a%84%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Fri, 27 May 2011 07:44:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=192</guid>
		<description><![CDATA[在一个项目里用到live()来绑定一个元素的click事件，但是在iPad里失效了，没有任何效果！ 改用bind可以工作，但是有些内容涉及AJAX请求取得，bind就不符合要求了，用delegate也不能正常工作。 后来查了资料 jQuery’s live click handler on mobile Safari 在元素里添加 onlick＝&#8221;", live()就正常工作了。 上面的连接被Q了， 以下是文章的引用： jQuery’s live click handler on mobile Safari Won’t fire: $(‘section’).live(‘click’, function(){ … }); But if the element you’re binding to is an anchor tag, it WILL fire. The workaround: add onclick=”” to the element you’re binding to. This applies to [...]]]></description>
			<content:encoded><![CDATA[<p>在一个项目里用到live()来绑定一个元素的click事件，但是在iPad里失效了，没有任何效果！ 改用bind可以工作，但是有些内容涉及AJAX请求取得，bind就不符合要求了，用delegate也不能正常工作。</p>
<p>后来查了资料 <a href="http://blog.alanszlosek.com/post/4369588562/jquerys-live-click-handler-on-mobile-safari">jQuery’s live click handler on mobile Safari</a> 在元素里添加 onlick＝&#8221;", live()就正常工作了。</p>
<p>上面的连接被Q了，</p>
<p>以下是文章的引用：</p>
<blockquote>
<h3>jQuery’s live click handler on mobile Safari</h3>
<p>Won’t fire: $(‘section’).live(‘click’, function(){ … });</p>
<p>But if the element you’re binding to is an anchor tag, it WILL fire.</p>
<p>The workaround: add onclick=”” to the element you’re binding to.</p>
<p>This applies to iOS 4.0.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/jquery-live-%e5%9c%a8ipad-safari%e9%87%8c%e9%83%a8%e5%88%86%e5%85%83%e7%b4%a0%e5%a4%b1%e6%95%88%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to change srcollbar style on safari(webkit browsers)</title>
		<link>http://www.yooyo.me/blog/how-to-change-srcollbar-style-on-safariwebkit-browsers/</link>
		<comments>http://www.yooyo.me/blog/how-to-change-srcollbar-style-on-safariwebkit-browsers/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 08:11:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=179</guid>
		<description><![CDATA[一下代码是修改基于webkit浏览器的滚动条的样式的css代码(部分). #container ::-webkit-scrollbar &#123;/*滚动条宽跟高*/ width:9px; height:9px; &#125; #container ::-webkit-scrollbar-button:start:decrement, #container ::-webkit-scrollbar-button:end:increment &#123; display:block; height:0; background-color:transparent; &#125; #container ::-webkit-scrollbar-track-piece &#123;/*滚动条样式底部样式*/ background-color:#FAFAFA; -webkit-border-radius:0; -webkit-border-bottom-right-radius:8px; -webkit-border-bottom-left-radius:8px; &#125; #container ::-webkit-scrollbar-thumb:vertical &#123;/*垂直滚动条样式*/ height:50px; background-color:#999; -webkit-border-radius:8px; &#125; #container ::-webkit-scrollbar-thumb:horizontal &#123;/*横向滚动条样式*/ width:50px; background-color:#999; -webkit-border-radius:8px; &#125; screenshot:]]></description>
			<content:encoded><![CDATA[<p>一下代码是修改基于webkit浏览器的滚动条的样式的css代码(部分).</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#container</span> <span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-webkit-</span>scrollbar <span style="color: #00AA00;">&#123;</span><span style="color: #808080; font-style: italic;">/*滚动条宽跟高*/</span><br />
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#container</span> <span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-webkit-scrollbar-button</span><span style="color: #3333ff;">:start</span><span style="color: #3333ff;">:decrement</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#container</span> <span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-webkit-scrollbar-button</span><span style="color: #3333ff;">:end</span><span style="color: #3333ff;">:increment </span><span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#container</span> <span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-webkit-scrollbar-track-</span>piece <span style="color: #00AA00;">&#123;</span><span style="color: #808080; font-style: italic;">/*滚动条样式底部样式*/</span><br />
<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#FAFAFA</span><span style="color: #00AA00;">;</span><br />
-webkit-border-radius<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
-webkit-border-bottom-right-radius<span style="color: #00AA00;">:</span><span style="color: #933;">8px</span><span style="color: #00AA00;">;</span><br />
-webkit-border-bottom-left-radius<span style="color: #00AA00;">:</span><span style="color: #933;">8px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#container</span> <span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-webkit-scrollbar-thumb</span><span style="color: #00AA00;">:</span>vertical <span style="color: #00AA00;">&#123;</span><span style="color: #808080; font-style: italic;">/*垂直滚动条样式*/</span><br />
<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">50px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#999</span><span style="color: #00AA00;">;</span><br />
-webkit-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">8px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#container</span> <span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-webkit-scrollbar-thumb</span><span style="color: #00AA00;">:</span>horizontal <span style="color: #00AA00;">&#123;</span><span style="color: #808080; font-style: italic;">/*横向滚动条样式*/</span><br />
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">50px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#999</span><span style="color: #00AA00;">;</span><br />
-webkit-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">8px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>screenshot:</p>
<p><a href="http://www.yooyo.me/blog/wp-content/uploads/2011/01/scroll-bar-style.png"><img class="alignnone size-full wp-image-183" title="scroll-bar-style" src="http://www.yooyo.me/blog/wp-content/uploads/2011/01/scroll-bar-style.png" alt="" width="17" height="426" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/how-to-change-srcollbar-style-on-safariwebkit-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>display:inline-block 额外产生的4px margin</title>
		<link>http://www.yooyo.me/blog/displayinline-block-%e9%a2%9d%e5%a4%96%e4%ba%a7%e7%94%9f%e7%9a%844px-margin/</link>
		<comments>http://www.yooyo.me/blog/displayinline-block-%e9%a2%9d%e5%a4%96%e4%ba%a7%e7%94%9f%e7%9a%844px-margin/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 09:36:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=157</guid>
		<description><![CDATA[今天在做一个Timeline的模块的时候遇到一个棘手的问题： 给元素添加display:inline-block 属性的时候会产生额外的4px的margin-right。 原始代码 .YP_timelineChart_box li&#123; display:-moz-inline-stack; display:inline-block; zoom:1; *display:inline; text-indent:-3000px; width:5px; vertical-align:bottom; background-color:#00FF00; position:relative; &#125; 页面渲染结果： 每一列都会向右产生外边距4px，苦思不得其解，尝试负的外边距，但是涉及到其他的问题:每个li标签会重叠1-2个px，妨碍到鼠标hover状态的事件。尝试修改doctype类型也不见效果。后来尝试了另外一个方法： 把原来的HTML 代码结构： 更改为： 这样就不会产生额外的外边距，也弄不清楚为什么会出现这种问题。先暂时记下，以后再研究研究。]]></description>
			<content:encoded><![CDATA[<p>今天在做一个Timeline的模块的时候遇到一个棘手的问题： 给元素添加display:inline-block 属性的时候会产生额外的4px的margin-right。</p>
<p>原始代码</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.YP_timelineChart_box</span> li<span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #3333ff;">:-moz-inline-</span>stack<span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span>inline-<span style="color: #993333;">block</span><span style="color: #00AA00;">;</span><br />
zoom<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">*</span><span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">text-indent</span><span style="color: #00AA00;">:</span><span style="color: #933;">-3000px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">5px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">vertical-align</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#00FF00</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>页面渲染结果：</p>
<p><a href="http://www.yooyo.me/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-01-at-4.51.23-PM.png"><img class="alignnone size-full wp-image-158" title="Screen shot 2010-07-01 at 4.51.23 PM" src="http://www.yooyo.me/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-01-at-4.51.23-PM.png" alt="" width="175" height="61" /></a></p>
<p>每一列都会向右产生外边距4px，苦思不得其解，尝试负的外边距，但是涉及到其他的问题:每个li标签会重叠1-2个px，妨碍到鼠标hover状态的事件。尝试修改doctype类型也不见效果。后来尝试了另外一个方法：</p>
<p>把原来的HTML 代码结构：<br />
<a href="http://www.yooyo.me/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-01-at-5.35.13-PM.png"><img class="alignnone size-full wp-image-163" title="Screen shot 2010-07-01 at 5.35.13 PM" src="http://www.yooyo.me/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-01-at-5.35.13-PM.png" alt="" width="468" height="276" /></a></p>
<p>更改为：</p>
<p><a href="http://www.yooyo.me/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-01-at-5.36.17-PM.png"><img class="alignnone size-full wp-image-164" title="Screen shot 2010-07-01 at 5.36.17 PM" src="http://www.yooyo.me/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-01-at-5.36.17-PM.png" alt="" width="468" height="276" /></a></p>
<p>这样就不会产生额外的外边距，也弄不清楚为什么会出现这种问题。先暂时记下，以后再研究研究。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/displayinline-block-%e9%a2%9d%e5%a4%96%e4%ba%a7%e7%94%9f%e7%9a%844px-margin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zen Coding- 一个书写HTML跟CSS代码的方法</title>
		<link>http://www.yooyo.me/blog/zen-coding-%e4%b8%80%e4%b8%aa%e4%b9%a6%e5%86%99html%e8%b7%9fcss%e4%bb%a3%e7%a0%81%e7%9a%84%e6%96%b9%e6%b3%95/</link>
		<comments>http://www.yooyo.me/blog/zen-coding-%e4%b8%80%e4%b8%aa%e4%b9%a6%e5%86%99html%e8%b7%9fcss%e4%bb%a3%e7%a0%81%e7%9a%84%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Thu, 06 May 2010 08:21:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=132</guid>
		<description><![CDATA[Zen Coding 是一个高速书写HTML XML XSL(或者其他结构化代码格式)的编辑器插件，核心功能是功能强大的“缩写引擎” 可以根据你输入的公式自动生成HTML代码， 例子： 输入zen coding 代码公式 ： div#page&#62;div.logo+ul#navigation&#62;li*3&#62;a 在textmate下的执行快捷键是 ⌘+E 执行后为： 点击查看更多关于zen coding 的语法 “缩写引擎”  拥有模块化结构，允许你在不同的语言上扩展公式。zen coding 现在支持的语言有：CSS, HTML, XML/XSL 和 HAML(需要 filters 支持) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; “缩写引擎” 目前支持的功能： ID跟CLASS属性：div#page.section.main 自定义属性: div[title]，a[title="Hello world" rel], td[colspan=2] 同时生成N个元素： li*5 会生成5个li 标签 使用$字符生成递增数字元素： li.item$*3  生成 使用多个$字符生成多位数列：  li.item$$$ -&#62; li.item001 无限制嵌套公式支持：div#page&#62;(div#header&#62;ul#nav&#62;li*4&#62;a)+(div#page&#62;(h1&#62;span)+p*2)+div#footer 支持 Filters div 标签可以省略，直接从id或者是class开始 #content&#62;.section is [...]]]></description>
			<content:encoded><![CDATA[<p>Zen Coding 是一个高速书写HTML XML XSL(或者其他结构化代码格式)的编辑器插件，核心功能是功能强大的“缩写引擎” 可以根据你输入的公式自动生成HTML代码，</p>
<p>例子：</p>
<p><a href="http://www.yooyo.me/blog/wp-content/uploads/2010/05/zen-coding-expression3.png"><img class="alignnone size-full wp-image-136" title="zen coding-expression" src="http://www.yooyo.me/blog/wp-content/uploads/2010/05/zen-coding-expression3.png" alt="" width="565" height="393" /></a></p>
<p>输入zen coding 代码公式 ： div#page&gt;div.logo+ul#navigation&gt;li*3&gt;a</p>
<p>在textmate下的执行快捷键是 ⌘+E</p>
<p><a href="http://www.yooyo.me/blog/wp-content/uploads/2010/05/textmate-shortcut.png"><img class="alignnone size-full wp-image-137" title="textmate zen coding shortcut" src="http://www.yooyo.me/blog/wp-content/uploads/2010/05/textmate-shortcut.png" alt="" width="467" height="50" /></a></p>
<p>执行后为：</p>
<p><a href="http://www.yooyo.me/blog/wp-content/uploads/2010/05/zen-coding-expand.png"><img class="alignnone size-full wp-image-138" title="zen coding-expand" src="http://www.yooyo.me/blog/wp-content/uploads/2010/05/zen-coding-expand.png" alt="" width="565" height="393" /></a></p>
<p><span id="more-132"></span></p>
<p><a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLSelectorsEn">点击查看更多关于zen coding 的语法</a></p>
<p>“缩写引擎”  拥有模块化结构，允许你在不同的语言上扩展公式。zen coding 现在支持的语言有：CSS, HTML, XML/XSL 和 HAML(需要 <a href="http://code.google.com/p/zen-coding/wiki/Filters">filters</a> 支持)</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<h2>“缩写引擎” 目前支持的功能：</h2>
<ol>
<li>ID跟CLASS属性：div#page.section.main</li>
<li>自定义属性: div[title]，a[title="Hello world" rel], td[colspan=2]</li>
<li>同时生成N个元素： li*5 会生成5个li 标签</li>
<li>使用$字符生成递增数字元素： li.item$*3  生成<a href="../wp-content/uploads/2010/05/li.item3_.png"><img title="li.item$*3" src="../wp-content/uploads/2010/05/li.item3_.png" alt="" width="391" height="277" /></a></li>
<li> 使用多个$字符生成多位数列：  li.item$$$ -&gt; li.item001</li>
<li>无限制嵌套公式支持：<tt><a name="Current_features_of_abbreviation_engine"><tt>div#page&gt;(div#header&gt;ul#nav&gt;li*4&gt;a)+(div#page&gt;(h1&gt;span)+p*2)+div#footer</tt></a></tt></li>
<li><tt>支持 Filters</tt></li>
<li><tt>div 标签可以省略，直接从id或者是class开始 </tt><a name="Current_features_of_abbreviation_engine"><tt>#content&gt;.section</tt> is the same as <tt>div#content&gt;div.section</tt>.</a></li>
</ol>
<p>可以观看 <a href="http://vimeo.com/7405114">视频</a> 跟 Smashing Magazine 上的 <a href="http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/">教程</a></p>
<h2><strong>官方支持的编辑器：</strong></h2>
<ol>
<li>Aptana/Eclipse</li>
<li>Textmate</li>
<li>Coda</li>
<li>Espresso</li>
<li>Komodo</li>
<li>Notepad++</li>
<li>PSPad</li>
<li>&lt;textarea&gt;(基于网站的编辑器) <a href="http://zen-coding.ru/textarea/">DEMO</a></li>
<li>editArea (基于网站的编辑器) <a href="http://zen-coding.ru/demo/">DEMO</a></li>
</ol>
<p><a href="http://code.google.com/p/zen-coding/">点击查看官网</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/zen-coding-%e4%b8%80%e4%b8%aa%e4%b9%a6%e5%86%99html%e8%b7%9fcss%e4%bb%a3%e7%a0%81%e7%9a%84%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JS 的nextSibling属性(The built-in Javascript property nextSibling)</title>
		<link>http://www.yooyo.me/blog/js-%e7%9a%84nextsibling%e5%b1%9e%e6%80%a7the-built-in-javascript-property-nextsibling/</link>
		<comments>http://www.yooyo.me/blog/js-%e7%9a%84nextsibling%e5%b1%9e%e6%80%a7the-built-in-javascript-property-nextsibling/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 09:49:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=126</guid>
		<description><![CDATA[今天做项目的时候遇到一个变态的问题，CKEditor 嵌入ROR 的时候出现了 一个回车产生2个br 标签的问题(2个回车产生4个br&#8230;&#8230;)，使段落之前的间距变大一倍。 CKeditor本身应该没有问题，为解决此问题，想了一个笨方法： 用JS的nextSibling 属性来查找是否有相邻的2个或者以上的br，有的话直接remove。 (用的是jQuery)。 初始代码： var brs = $&#40;'.format_markdown_text br'&#41;.size&#40;&#41;; var fbr = $&#40;'.format_markdown_text br'&#41;; for&#40;i=brs-1;i&#38;gt;=0;i--&#41;&#123; if&#40;fbr&#91;i&#93;.nextSibling.nodeName == &#34;BR&#34;&#41;&#123; $&#40;fbr&#91;i&#93;&#41;.remove&#40;&#41;; &#125; &#125; 发现只取到部分的br，查资料发现，firefox、opera、safari会把诸如空格换行之类的排版元素视作节点读取，所以在这些浏览器下只读取了部分br。 改进的代码： var brs = $&#40;'.format_markdown_text br'&#41;.size&#40;&#41;; var fbr = $&#40;'.format_markdown_text br'&#41;; for&#40;i=brs-1;i&#38;gt;=0;i--&#41;&#123; if&#40;fbr&#91;i&#93;.nextSibling.nodeName == &#34;BR&#34; &#124;&#124; &#40;$&#40;fbr&#91;i&#93;.nextSibling&#41;.val&#40;&#41;.match&#40;/^[\s\r\n]*$/&#41; &#38;amp;&#38;amp; fbr&#91;i&#93;.nextSibling.nextSibling &#38;amp;&#38;amp; fbr&#91;i&#93;.nextSibling.nextSibling.nodeName == 'BR'&#41;&#41;&#123; $&#40;fbr&#91;i&#93;&#41;.remove&#40;&#41;; &#125; &#125; 这样就圆满解决了 [...]]]></description>
			<content:encoded><![CDATA[<p>今天做项目的时候遇到一个变态的问题，CKEditor 嵌入ROR 的时候出现了 一个回车产生2个br 标签的问题(2个回车产生4个br&#8230;&#8230;)，使段落之前的间距变大一倍。<br />
CKeditor本身应该没有问题，为解决此问题，想了一个笨方法： 用JS的nextSibling 属性来查找是否有相邻的2个或者以上的br，有的话直接remove。 (用的是jQuery)。<br />
初始代码：</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> brs <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.format_markdown_text br'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> fbr <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.format_markdown_text br'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span>brs<span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nextSibling</span>.<span style="color: #660066;">nodeName</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;BR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
$<span style="color: #009900;">&#40;</span>fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>发现只取到部分的br，查资料发现，firefox、opera、safari会把诸如空格换行之类的排版元素视作节点读取，所以在这些浏览器下只读取了部分br。</p>
<p>改进的代码：</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> brs <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.format_markdown_text br'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> fbr <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.format_markdown_text br'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span>brs<span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nextSibling</span>.<span style="color: #660066;">nodeName</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;BR&quot;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span>fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nextSibling</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/^[\s\r\n]*$/</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nextSibling</span>.<span style="color: #660066;">nextSibling</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nextSibling</span>.<span style="color: #660066;">nextSibling</span>.<span style="color: #660066;">nodeName</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'BR'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
$<span style="color: #009900;">&#40;</span>fbr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>这样就圆满解决了 空格（或者多个）、回车等产生的问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/js-%e7%9a%84nextsibling%e5%b1%9e%e6%80%a7the-built-in-javascript-property-nextsibling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS inline-block 属性</title>
		<link>http://www.yooyo.me/blog/css-inline-block-%e5%b1%9e%e6%80%a7/</link>
		<comments>http://www.yooyo.me/blog/css-inline-block-%e5%b1%9e%e6%80%a7/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 09:34:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/?p=122</guid>
		<description><![CDATA[如果你有CSS编程经验的话，那么你对 inline-block 这个CSS属性应该不会陌生，inline-block 是 displaly 属性的一个值，但是这个属性IE6还不支持。在IE6下,对制定了float的元素增加margin 或者padding 属性的时候（margin或者padding的方向跟float一样，比如元素同时拥有float:left和margin-left 属性），会使margin或者padding的距离加倍（双边距bug）。当然你可以使用ie hack 来解决这个问题，在ie6下设置有原始值的一半。如果你用inline-block来代替float的话，就能很好的解决这个问题（大多数情况下） 使用inline-block 来代替float 的解决方案或或许是最有效的方法来实现内联块的价值。 inline-block的定义： 一下是来自一些网站关于inline-block的定义 Sitepoint’s inline-block makes the element generate a block box that’s laid out as if it were an inline box. QuirksMode: An inline block is placed inline (ie. on the same line as adjacent content), but it behaves as a [...]]]></description>
			<content:encoded><![CDATA[<p>如果你有CSS编程经验的话，那么你对 inline-block 这个CSS属性应该不会陌生，inline-block 是 displaly 属性的一个值，但是这个属性IE6还不支持。在IE6下,对制定了float的元素增加margin 或者padding 属性的时候（margin或者padding的方向跟float一样，比如元素同时拥有float:left和margin-left 属性），会使margin或者padding的距离加倍（双边距bug）。当然你可以使用ie hack 来解决这个问题，在ie6下设置有原始值的一半。如果你用inline-block来代替float的话，就能很好的解决这个问题（大多数情况下）</p>
<p>使用inline-block 来代替float 的解决方案或或许是最有效的方法来实现内联块的价值。</p>
<p>inline-block的定义：</p>
<p>一下是来自一些网站关于inline-block的定义</p>
<p>Sitepoint’s</p>
<blockquote><p>inline-block makes the element generate a block box  that’s laid out as if it were an inline box.</p></blockquote>
<p>QuirksMode:</p>
<blockquote><p>An inline block is placed inline (ie. on the same line as  adjacent content), but it behaves as a block.</p></blockquote>
<p>Robert Nyman:</p>
<blockquote><p>Basically, it’s a way to make elements inline, but  preserving their block capabilities such as setting width and height,  top and bottom margins and paddings etc.</p></blockquote>
<p>可以理解为：将对象作为内联来显示，但是里面的内容作为块对象来呈现。（周围元素与其保持同一行，但可以设置宽度跟高度的属性）</p>
<p>什么情况下使用：</p>
<ul>
<li>解决ie6双边距bug</li>
<li>在横向类块元素上没有float属性</li>
<li>使内联元素能设置宽度跟高度，但是同时保持内联显示</li>
<li>使内联元素能设置margin和padding 属性</li>
</ul>
<p>目前 ie6,ie7 不支持 inline-block。但是可以通过触发haslayout来实现inline-block.</p>
<p>实现方法：</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">display</span><span style="color: #3333ff;">:-moz-inline-</span>stack<span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span>inline-<span style="color: #993333;">block</span><span style="color: #00AA00;">;</span><br />
zoom<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">*</span><span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span></div></div>
<p>更多的关于这个实现方法可以<a href="http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/" target="_blank">参考这里</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/css-inline-block-%e5%b1%9e%e6%80%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让IE也支持CSS3</title>
		<link>http://www.yooyo.me/blog/%e8%ae%a9ie%e4%b9%9f%e6%94%af%e6%8c%81css3/</link>
		<comments>http://www.yooyo.me/blog/%e8%ae%a9ie%e4%b9%9f%e6%94%af%e6%8c%81css3/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 03:13:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端开发]]></category>
		<category><![CDATA[css3 ie]]></category>

		<guid isPermaLink="false">http://www.yooyo.me/blog/%e8%ae%a9ie%e4%b9%9f%e6%94%af%e6%8c%81css3/</guid>
		<description><![CDATA[IE目前还不支持CSS3的一些属性，通过这个脚本可以实现部分CSS3属性， 脚本下载地址 http://www.keithclark.co.uk/labs/ie-css3/#supported-libaries]]></description>
			<content:encoded><![CDATA[<p>IE目前还不支持CSS3的一些属性，通过这个脚本可以实现部分CSS3属性，</p>
<p>脚本下载地址 http://www.keithclark.co.uk/labs/ie-css3/#supported-libaries</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yooyo.me/blog/%e8%ae%a9ie%e4%b9%9f%e6%94%af%e6%8c%81css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

