<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2chinesetwfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>芒果</title>
	
	<link>http://www.mangguo.org</link>
	<description>这里不卖芒果，请另寻他处购买。</description>
	<lastBuildDate>Wed, 10 Mar 2010 14:22:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mangguo" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="mangguo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><image><link>http://www.mangguo.org</link><url>http://feeds.feedburner.com/~fc/mangguo?bg=99CCFF&amp;amp;fg=444444&amp;amp;anim=0</url><title>芒果</title></image><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">mangguo</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/mangguo" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fmangguo" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>CSS3 Please! CSS3 即时预览体验</title>
		<link>http://www.mangguo.org/css3-please-instant-result/</link>
		<comments>http://www.mangguo.org/css3-please-instant-result/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 14:22:53 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=3029</guid>
		<description><![CDATA[
Paul Irish 和 Jonathan Neal 创建了一个有趣的实例站点，内容关乎大量参数可调整的 CSS 示例，支持参数修改后的即时预览功能。
CSS3, Please! 将会带你领略这些令人意想不到的 CSS 新规则：
1. border-radius
2. box shadow
3. gradients
4. rgba support in backgrounds
5. transforms
6. font-face
这是一个非常适合学习 CSS3 的页面，有兴趣不妨一试。
官方网站：http://css3please.com
相关文章CSS3 基本要素概览 (0)CSS 3.0 参考手册（中文版） (11)用 CSS3 实现未来的 Web (6)芒果教你清除浮动 (1)5 个简单实用的 CSS 属性 (5)使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟 (0)使用 CSS3 创建下拉菜单 (3)Data URI 初探及其自动化 (0)
© 2010 芒果 版权所有 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mangguo.org/wp-content/uploads/2010/03/css3please.gif" alt="" /></p>
<p><a href="http://paulirish.com/" target="_blank">Paul Irish</a> 和 <a href="http://twitter.com/jon_neal" target="_blank">Jonathan Neal</a> 创建了一个有趣的实例站点，内容关乎大量参数可调整的 CSS 示例，支持参数修改后的即时预览功能。</p>
<p><a href="http://css3please.com/" target="_blank">CSS3, Please!</a> 将会带你领略这些令人意想不到的 CSS 新规则：</p>
<p><strong>1. border-radius<br />
2. box shadow<br />
3. gradients<br />
4. rgba support in backgrounds<br />
5. transforms<br />
6. font-face</strong></p>
<p>这是一个非常适合学习 CSS3 的页面，有兴趣不妨一试。</p>
<p>官方网站：<a href="http://css3please.com" target="_blank">http://css3please.com</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/the-basics-of-css3/" title="CSS3 基本要素概览">CSS3 基本要素概览</a> (0)</li><li><a href="http://www.mangguo.org/css-3-0-reference-manual-chinese-version/" title="CSS 3.0 参考手册（中文版）">CSS 3.0 参考手册（中文版）</a> (11)</li><li><a href="http://www.mangguo.org/push-your-web-design-into-the-future-with-css3/" title="用 CSS3 实现未来的 Web">用 CSS3 实现未来的 Web</a> (6)</li><li><a href="http://www.mangguo.org/mangguo-teach-you-clear-float/" title="芒果教你清除浮动">芒果教你清除浮动</a> (1)</li><li><a href="http://www.mangguo.org/5-simple-but-useful-css-properties/" title="5 个简单实用的 CSS 属性">5 个简单实用的 CSS 属性</a> (5)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/css3-dropdown-menu/" title="使用 CSS3 创建下拉菜单">使用 CSS3 创建下拉菜单</a> (3)</li><li><a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/" title="Data URI 初探及其自动化">Data URI 初探及其自动化</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/css3-please-instant-result/">固定链接</a> |
<a href="http://www.mangguo.org/css3-please-instant-result/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>, <a href="http://www.mangguo.org/tag/css3/" rel="tag">CSS3</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/css3-please-instant-result/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30 款用于创意项目的免费字体</title>
		<link>http://www.mangguo.org/30-free-fonts-for-creative-projects/</link>
		<comments>http://www.mangguo.org/30-free-fonts-for-creative-projects/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 01:54:38 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[字体]]></category>
		<category><![CDATA[Fonts2U]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2996</guid>
		<description><![CDATA[创意项目中，选择合适的字体尤为重要。在海量的字体库查找一款中意的字体，可能会耗费你几个小时。为了节省时间，这里是一个来自 Fonts2U 的高质量字体集。尽情享受吧！
PT Banana Split
  
Allstar Regular
  
Offensive Bold
  
Spranq eco sans
  
Dekers Bold
  
WC ROUGHTRAD
  
SF Orson Casual Heavy
  
Champagne &#38; Limousines
  
Malgecito
  
VAL
  
Cyclo
  
Arkitech
  
Diavlo Book
  
Faith Collapsing
  
Delicious Heavy
  
Aerovias Brasil NF
  
Arista
  
SF [...]]]></description>
			<content:encoded><![CDATA[<p>创意项目中，选择合适的字体尤为重要。在海量的字体库查找一款中意的字体，可能会耗费你几个小时。为了节省时间，这里是一个来自 <a href="http://www.fonts2u.com/" target="_blank">Fonts2U</a> 的高质量字体集。尽情享受吧！</p>
<p><strong>PT Banana Split</strong><br />
<a href="http://www.fonts2u.com/pt-banana-split.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/01-pt-banana-split.jpg" alt="PT Banana Split free font" /> </a></p>
<p><strong>Allstar Regular</strong><br />
<a href="http://www.fonts2u.com/allstar-regular.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/02-allstar-regular.jpg" alt="Allstar Regular free font" /> </a></p>
<p><strong>Offensive Bold</strong><br />
<a href="http://www.fonts2u.com/offensivebold-bold.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/03-offensivebold-bold.jpg" alt="Offensive Bold free font" /> </a></p>
<p><strong>Spranq eco sans</strong><br />
<a href="http://www.fonts2u.com/spranq-eco-sans.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/04-spranq-eco-sans.jpg" alt="Spranq eco sans free font" /> </a></p>
<p><strong>Dekers Bold</strong><br />
<a href="http://www.fonts2u.com/dekers-bold.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/05-dekers-bold.jpg" alt="Dekers Bold free font" /> </a></p>
<p><strong>WC ROUGHTRAD</strong><br />
<a href="http://www.fonts2u.com/wc-roughtrad-bta.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/06-wc-roughtrad-bta.jpg" alt="WC ROUGHTRAD free font" /> </a></p>
<p><strong>SF Orson Casual Heavy</strong><br />
<a href="http://www.fonts2u.com/sf-orson-casual-heavy.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/07-sf-orson-casual-heavy.jpg" alt="SF Orson Casual Heavy free font" /> </a></p>
<p><strong>Champagne &amp; Limousines</strong><br />
<a href="http://www.fonts2u.com/champagne-limousines.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/08-champagne-limousines.jpg" alt="Champagne &amp; Limousines free font" /> </a></p>
<p><strong>Malgecito</strong><br />
<a href="http://www.fonts2u.com/malgecito.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/09-malgecito.jpg" alt="Malgecito free font" /> </a></p>
<p><strong>VAL</strong><br />
<a href="http://www.fonts2u.com/val.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/10-val.jpg" alt="VAL free font" /> </a></p>
<p><strong>Cyclo</strong><br />
<a href="http://www.fonts2u.com/cyclo-trial.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/11-cyclo-trial.jpg" alt="Cyclo free font" /> </a></p>
<p><strong>Arkitech</strong><br />
<a href="http://www.fonts2u.com/arkitech.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/12-arkitech.jpg" alt="Arkitech free font" /> </a></p>
<p><strong>Diavlo Book</strong><br />
<a href="http://www.fonts2u.com/diavlobook-regular.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/13-diavlobook-regular.jpg" alt="Diavlo Book free font" /> </a></p>
<p><strong>Faith Collapsing</strong><br />
<a href="http://www.fonts2u.com/faith-collapsing.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/14-faith-collapsing.jpg" alt="Faith Collapsing free font" /> </a></p>
<p><strong>Delicious Heavy</strong><br />
<a href="http://www.fonts2u.com/delicious-heavy.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/15-delicious-heavy.jpg" alt="Delicious Heavy free font" /> </a></p>
<p><strong>Aerovias Brasil NF</strong><br />
<a href="http://www.fonts2u.com/aerovias-brasil-nf.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/16-aerovias-brasil-nf.jpg" alt="Aerovias Brasil NF free font" /> </a></p>
<p><strong>Arista</strong><br />
<a href="http://www.fonts2u.com/arista.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/17-arista.jpg" alt="Arista free font" /> </a></p>
<p><strong>SF Buttacup Lettering</strong><br />
<a href="http://www.fonts2u.com/arista.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/18-sf-buttacup-lettering.jpg" alt="SF Buttacup Lettering free font" /> </a></p>
<p><strong>Yanone Kaffeesatz Bold</strong><br />
<a href="http://www.fonts2u.com/yanone-kaffeesatz-bold.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/19-yanone-kaffeesatz-bold.jpg" alt="Yanone Kaffeesatz Bold free font" /> </a></p>
<p><strong>Saunder</strong><br />
<a href="http://www.fonts2u.com/saunder-brk.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/20-saunder-brk.jpg" alt="Saunder free font" /> </a></p>
<p><strong>Curvic</strong><br />
<a href="http://www.fonts2u.com/curvic.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/21-curvic.jpg" alt="Curvic free font" /> </a></p>
<p><strong>karabinE</strong><br />
<a href="http://www.fonts2u.com/karabine.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/22-karabine.jpg" alt="karabinE free font" /> </a></p>
<p><strong>UglyQua</strong><br />
<a href="http://www.fonts2u.com/uglyqua.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/23-uglyqua.jpg" alt="UglyQua free font" /> </a></p>
<p><strong>Requiem</strong><br />
<a href="http://www.fonts2u.com/requiem.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/24-requiem.jpg" alt="Requiem free font" /> </a></p>
<p><strong>CurlyJoe</strong><br />
<a href="http://www.fonts2u.com/curlyjoe.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/25-curlyjoe.jpg" alt="CurlyJoe free font" /> </a></p>
<p><strong>Yelly</strong><br />
<a href="http://www.fonts2u.com/yelly.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/26-yelly.jpg" alt="Yelly free font" /> </a></p>
<p><strong>NK122</strong><br />
<a href="http://www.fonts2u.com/nk122.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/27-nk122.jpg" alt="NK122 free font" /> </a></p>
<p><strong>Decker</strong><br />
<a href="http://www.fonts2u.com/decker.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/28-decker.jpg" alt="Decker free font" /> </a></p>
<p><strong>Sansumi Bold</strong><br />
<a href="http://www.fonts2u.com/sansumi-bold.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/29-sansumi-bold.jpg" alt="Sansumi Bold free font" /> </a></p>
<p><strong>Santana Bold</strong><br />
<a href="http://www.fonts2u.com/santana-bold.font" target="_blank"> <img src="http://www.mangguo.org/wp-content/uploads/2010/03/30-santana-bold.jpg" alt="Santana Bold free font" /></a><a href="http://www.fonts2u.com/santana-bold.font"> </a></p>
<p>英文原稿：<a href="http://www.webdesignerwall.com/general/30-free-fonts-for-creative-projects/" target="_blank">30 Free Fonts For Creative Projects | WebDesignerWall</a><br />
翻译整理：<a href="30-free-fonts-for-creative-projects" target="_blank">30 款用于创意项目的免费字体 | 芒果</a></p>
<h3  class="related_post_title">随机文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/use-htaccess-realize-301-domain-redirect/" title="使用 .htaccess 实现 301 域名重定向">使用 .htaccess 实现 301 域名重定向</a> (5)</li><li><a href="http://www.mangguo.org/modify-wordpress-tag-cloud-size-and-number/" title="更改 WordPress 标签云字体大小和显示数量">更改 WordPress 标签云字体大小和显示数量</a> (1)</li><li><a href="http://www.mangguo.org/yahoo-199-dollar-international-domain-name/" title="雅虎 1.99 美元国际域名">雅虎 1.99 美元国际域名</a> (3)</li><li><a href="http://www.mangguo.org/page-seo-check-pagerank-of-all-page/" title="Page SEO，查看所有页面的 PageRank 值">Page SEO，查看所有页面的 PageRank 值</a> (0)</li><li><a href="http://www.mangguo.org/receive-co-cc-free-domain-name-1-dollar-recommended-cost/" title="收到 CO.CC 免费域名 $1 美元推荐费">收到 CO.CC 免费域名 $1 美元推荐费</a> (10)</li><li><a href="http://www.mangguo.org/aggua-share-start-from-around/" title="阿瓜，分享从身边开始">阿瓜，分享从身边开始</a> (1)</li><li><a href="http://www.mangguo.org/search-music-according-to-humming-sound/" title="Midomi，根据哼唱的歌声搜索音乐">Midomi，根据哼唱的歌声搜索音乐</a> (6)</li><li><a href="http://www.mangguo.org/bgpatterns-page-background-image-generator/" title="BgPatterns，网页背景图案生成工具">BgPatterns，网页背景图案生成工具</a> (3)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/30-free-fonts-for-creative-projects/">固定链接</a> |
<a href="http://www.mangguo.org/30-free-fonts-for-creative-projects/#comments">1 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/fonts2u/" rel="tag">Fonts2U</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/30-free-fonts-for-creative-projects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>芒果教你清除浮动</title>
		<link>http://www.mangguo.org/mangguo-teach-you-clear-float/</link>
		<comments>http://www.mangguo.org/mangguo-teach-you-clear-float/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 13:19:38 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mangguo]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2992</guid>
		<description><![CDATA[CSS 使用浮动会造成布局的混乱，通常清除浮动的方法是，利用一个如下样式的空 Div：
&#60;div class="clear"&#62;&#60;/div&#62;
.clear{clear:both;}
更为优良的 CSS 代码是：
.clear:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clear{zoom:1;}
这个方法目前已经广泛使用，淘宝、口碑，都是这种用法。通过 after 伪类 :after 和 针对 IE6 的独立 CSS Hack 来实现，完全兼容主流浏览器。
当然，这在通过 CSS 在元素之后追加 "." 并不必要，因为还需要 visibility 来隐藏掉它。通过优化，代码如下：
.clear:after{content:"020";display:block;height:0;clear:both;}
.clear{zoom:1;}
其中，020 指在容器后添加空格，这样就避免使用 visibility 隐藏可视性了。
另外，芒果不推荐使用空 div 的方法。单单为了清除浮动而在结构良好的 HTML 中插入没有语义的容器，未免有些突兀。
相关文章CSS3 Please! CSS3 即时预览体验 (0)CSS3 基本要素概览 (0)5 个简单实用的 CSS 属性 (5)使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟 (0)Data URI 初探及其自动化 (0)细线表格的浏览器兼容写法 (0)我的二零零九，芒果一周年 (10)Closure Compiler，压缩！还是压缩！ (5)
© 2010 [...]]]></description>
			<content:encoded><![CDATA[<p>CSS 使用浮动会造成布局的混乱，通常清除浮动的方法是，利用一个如下样式的空 Div：</p>
<pre>&lt;div class="clear"&gt;&lt;/div&gt;
.clear{clear:both;}</pre>
<p>更为优良的 CSS 代码是：</p>
<pre>.clear:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clear{zoom:1;}</pre>
<p>这个方法目前已经广泛使用，<a href="http://www.taobao.com" target="_blank">淘宝</a>、<a href="http://www.koubei.com" target="_blank">口碑</a>，都是这种用法。通过 after 伪类 :after 和 针对 IE6 的独立 CSS Hack 来实现，完全兼容主流浏览器。</p>
<p>当然，这在通过 CSS 在元素之后追加 "." 并不必要，因为还需要 visibility 来隐藏掉它。通过优化，代码如下：</p>
<pre>.clear:after{content:"020";display:block;height:0;clear:both;}
.clear{zoom:1;}</pre>
<p>其中，020 指在容器后添加空格，这样就避免使用 visibility 隐藏可视性了。</p>
<p>另外，<a href="http://www.mangguo.org" target="_blank">芒果</a>不推荐使用空 div 的方法。单单为了清除浮动而在结构良好的 HTML 中插入没有语义的容器，未免有些突兀。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li><li><a href="http://www.mangguo.org/the-basics-of-css3/" title="CSS3 基本要素概览">CSS3 基本要素概览</a> (0)</li><li><a href="http://www.mangguo.org/5-simple-but-useful-css-properties/" title="5 个简单实用的 CSS 属性">5 个简单实用的 CSS 属性</a> (5)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/" title="Data URI 初探及其自动化">Data URI 初探及其自动化</a> (0)</li><li><a href="http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/" title="细线表格的浏览器兼容写法">细线表格的浏览器兼容写法</a> (0)</li><li><a href="http://www.mangguo.org/my-2009-mangguo-one-yearly/" title="我的二零零九，芒果一周年">我的二零零九，芒果一周年</a> (10)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/mangguo-teach-you-clear-float/">固定链接</a> |
<a href="http://www.mangguo.org/mangguo-teach-you-clear-float/#comments">1 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>, <a href="http://www.mangguo.org/tag/mangguo/" rel="tag">Mangguo</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/mangguo-teach-you-clear-float/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3 基本要素概览</title>
		<link>http://www.mangguo.org/the-basics-of-css3/</link>
		<comments>http://www.mangguo.org/the-basics-of-css3/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 13:24:24 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2979</guid>
		<description><![CDATA[在之前芒果翻译的使用 CSS3 创建下拉菜单中，并没有详细解释 CSS 代码。这篇文章将对 CSS 的几个新属性 (text-shadow，box-shadow，and border-radius) 做基本介绍。这些 CSS3 属性通常用来加强页面布局。
RGBA
前面的 3 个值是 RGB 颜色值，最后一个值是透明度的级别（0 = 透明，1 = 不透明）。

RGBA 可以应用于与颜色的任何属性，如字体颜色，边框颜色，背景颜色，阴影颜色等。

Text Shadow
文字阴影的结构顺序为：x 轴偏移，y 轴偏移，模糊，颜色。

设置一个负值的 x 轴偏移将阴影转移到左侧。设置一个负值的 y 轴偏移转将阴影转移到顶部。别忘了，你可以在阴影颜色中应用 RGBA 值。

您也可以指定一个文本阴影列表（以逗号分隔）。下面的示例使用两个文本阴影声明制作了文字凸版效果（顶部 1px 和底部1px）。
text-shadow: 0 1px 0 #fff, 0 -1px 0 #000;

Border Radius
边界半径 (border radius) 的写法类似内边距 (padding) 和 外边距 (margin) 属性（例如：border-radius:20px）。为使浏览器渲染边界半径属性，需要在属性名称加上前缀，Webkit 引擎的浏览器为 "-webkit-"，Firefox 则为 "-moz-"。

您可以为每个边角指定不同的值。注意：Firefox 和 Webkit 的边角属性名称是不相同的。

Box [...]]]></description>
			<content:encoded><![CDATA[<p>在之前<a href="http://www.mangguo.org" target="_blank">芒果</a>翻译的<a href="http://www.mangguo.org/css3-dropdown-menu/">使用 CSS3 创建下拉菜单</a>中，并没有详细解释 CSS 代码。这篇文章将对 CSS 的几个新属性 (text-shadow，box-shadow，and border-radius) 做基本介绍。这些 CSS3 属性通常用来加强页面布局。</p>
<p><strong>RGBA</strong></p>
<p>前面的 3 个值是 RGB 颜色值，最后一个值是透明度的级别（0 = 透明，1 = 不透明）。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/rgba.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/rgba.gif" alt="" /></a></p>
<p>RGBA 可以应用于与颜色的任何属性，如字体颜色，边框颜色，背景颜色，阴影颜色等。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/rgba.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/rgba2.gif" alt="" /></a></p>
<p><strong>Text Shadow</strong></p>
<p>文字阴影的结构顺序为：x 轴偏移，y 轴偏移，模糊，颜色。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/text-shadow.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/text-shadow.gif" alt="" /></a></p>
<p>设置一个负值的 x 轴偏移将阴影转移到左侧。设置一个负值的 y 轴偏移转将阴影转移到顶部。别忘了，你可以在阴影颜色中应用 RGBA 值。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/text-shadow.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/text-shadow-example2.gif" alt="" /></a></p>
<p>您也可以指定一个文本阴影列表（以逗号分隔）。下面的示例使用两个文本阴影声明制作了文字凸版效果（顶部 1px 和底部1px）。</p>
<pre>text-shadow: 0 1px 0 #fff, 0 -1px 0 #000;</pre>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/text-shadow.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/text-shadow-example3.gif" alt="" /></a></p>
<p><strong>Border Radius</strong></p>
<p>边界半径 (border radius) 的写法类似内边距 (padding) 和 外边距 (margin) 属性（例如：border-radius:20px）。为使浏览器渲染边界半径属性，需要在属性名称加上前缀，Webkit 引擎的浏览器为 "-webkit-"，Firefox 则为 "-moz-"。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/border-radius.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/border-radius.gif" alt="" /></a></p>
<p>您可以为每个边角指定不同的值。注意：Firefox 和 Webkit 的边角属性名称是不相同的。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/border-radius.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/border-radius-corners.gif" alt="" /></a></p>
<p><strong>Box Shadow</strong></p>
<p>盒阴影的结构和 text-shadow 相同，x 轴偏移，y 轴偏移，模糊，颜色。</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-basics/box-shadow.html" target="_blank"><img src="http://www.mangguo.org/wp-content/uploads/2010/03/box-shadow.gif" alt="" /></a></p>
<p>同样，您可以设置一个以上的盒阴影。下面是三个盒阴影声明示例。</p>
<pre>-moz-box-shadow:
-2px -2px 0 #fff,
2px 2px 0 #bb9595,
2px 4px 15px rgba(0, 0, 0, .3);</pre>
<p>英文原稿：<a href="http://www.webdesignerwall.com/tutorials/the-basics-of-css3" target="_blank">The Basics of CSS3 | WebDesignWall</a><br />
翻译整理：<a href="http://www.mangguo.org/the-basics-of-css3" target="_blank">CSS3 基本要素概览 | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li><li><a href="http://www.mangguo.org/css-3-0-reference-manual-chinese-version/" title="CSS 3.0 参考手册（中文版）">CSS 3.0 参考手册（中文版）</a> (11)</li><li><a href="http://www.mangguo.org/push-your-web-design-into-the-future-with-css3/" title="用 CSS3 实现未来的 Web">用 CSS3 实现未来的 Web</a> (6)</li><li><a href="http://www.mangguo.org/mangguo-teach-you-clear-float/" title="芒果教你清除浮动">芒果教你清除浮动</a> (1)</li><li><a href="http://www.mangguo.org/5-simple-but-useful-css-properties/" title="5 个简单实用的 CSS 属性">5 个简单实用的 CSS 属性</a> (5)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/css3-dropdown-menu/" title="使用 CSS3 创建下拉菜单">使用 CSS3 创建下拉菜单</a> (3)</li><li><a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/" title="Data URI 初探及其自动化">Data URI 初探及其自动化</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/the-basics-of-css3/">固定链接</a> |
<a href="http://www.mangguo.org/the-basics-of-css3/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>, <a href="http://www.mangguo.org/tag/css3/" rel="tag">CSS3</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/the-basics-of-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 个简单实用的 CSS 属性</title>
		<link>http://www.mangguo.org/5-simple-but-useful-css-properties/</link>
		<comments>http://www.mangguo.org/5-simple-but-useful-css-properties/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 06:21:23 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2962</guid>
		<description><![CDATA[这篇文章介绍了 5 个实用的 CSS 属性。你应该很熟悉，但很可能很少会使用到。我并不是在谈论展望全新的 CSS3 属性，我指的是旧的 CSS2 中的属性，如：clip，min-height，white-space，curosr 和 display 等一些被所有浏览器广泛支持的属性。因此，千万不要错过这篇文章，因为你可能发现它们竟有如此之大的用途。
1、CSS Clip
剪辑 (clip) 属性就像一个面具。它允许你使用矩形掩盖页面元素的内容。要剪辑一个元素：你必须指定其 position 属性为 absolute，然后指定相对于元素的 top，right，bottom，left 值。

图片剪辑实例（演示）
以下示例演示了如何使用 clip 属性掩盖一张图片。首先，指定 &#60;div&#62; 元素为 position:relative，然后指定 &#60;img&#62; 元素为 position:absolute，并且根据实际需要设定 rect 值。

.clip {
  position: relative;
  height: 130px;
  width: 200px;
  border: solid 1px #ccc;
}
.clip img {
  position: absolute;
  clip: rect(30px 165px 100px 30px);
}
图像调整尺寸和剪辑（演示）
在这个示例中，我将展示如何调整图像尺寸和剪辑图片。素材图片是矩形的，我想将其削减至 [...]]]></description>
			<content:encoded><![CDATA[<p>这篇文章介绍了 5 个实用的 CSS 属性。你应该很熟悉，但很可能很少会使用到。我并不是在谈论展望全新的 CSS3 属性，我指的是旧的 CSS2 中的属性，如：clip，min-height，white-space，curosr 和 display 等一些被所有浏览器广泛支持的属性。因此，千万不要错过这篇文章，因为你可能发现它们竟有如此之大的用途。</p>
<p><strong>1、CSS Clip</strong></p>
<p>剪辑 (clip) 属性就像一个面具。它允许你使用矩形掩盖页面元素的内容。要剪辑一个元素：你必须指定其 position 属性为 absolute，然后指定相对于元素的 top，right，bottom，left 值。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/css-clip.gif" alt="" /></p>
<p><strong>图片剪辑实例（<a href="http://www.webdesignerwall.com/wp-content/uploads/2009/11/css-clip.html" target="_blank">演示</a>）</strong></p>
<p>以下示例演示了如何使用 clip 属性掩盖一张图片。首先，指定 &lt;div&gt; 元素为 position:relative，然后指定 &lt;img&gt; 元素为 position:absolute，并且根据实际需要设定 rect 值。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/img-clip.gif" alt="" /></p>
<pre>.clip {
  position: relative;
  height: 130px;
  width: 200px;
  border: solid 1px #ccc;
}
.clip img {
  position: absolute;
  clip: rect(30px 165px 100px 30px);
}</pre>
<p><strong>图像调整尺寸和剪辑（<a href="http://www.webdesignerwall.com/wp-content/uploads/2009/11/css-clip.html" target="_blank">演示</a>）</strong></p>
<p>在这个示例中，我将展示如何调整图像尺寸和剪辑图片。素材图片是矩形的，我想将其削减至 50％ 的尺寸，用来创建一个正方形格式的缩略图。因此，我用宽度和高度属性来调整图像，并使用 clip 剪辑属性予以掩盖。然后用 left 属性将图片移开左侧 15px 的距离。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/thumb-gallery.gif" alt="" /></p>
<pre>.gallery li {
  float: left;
  margin: 0 10px 0 0;
  position: relative;
  width: 70px;
  height: 70px;
  border: solid 1px #000;
}
.gallery img {
  width: 100px;
  height: 70px;
  position: absolute;
  clip: rect(0 85px 70px 15px);
  left: -15px;
}</pre>
<p><strong>2、Min-height （<a href="http://www.webdesignerwall.com/wp-content/uploads/2009/11/min-height.html" target="_blank">演示</a>）</strong></p>
<p>min-height 属性允许你指定元素的最小高度，适用于需要平衡布局的情况。我将它用于 <a href="http://jobs.webdesignerwall.com/" target="_blank">Job 面板</a>上，以确保内容区域高于侧边栏。</p>
<p><img title="job-board" src="http://www.mangguo.org/wp-content/uploads/2010/02/job-board.gif" alt="" /></p>
<pre>.with_minheight {
  min-height: 550px;
}</pre>
<p><strong>IE6 的 Min-height hack</strong></p>
<p>注：神奇的 IE6 原生不支持 min-height 属性，不过幸好有一个 <a href="http://www.dustindiaz.com/min-height-fast-hack/">min-height hack</a>。</p>
<pre>.with_minheight {
  min-height:550px;
  height:auto !important;
  height:550px;
}</pre>
<p><strong>3、White-space（<a href="http://www.webdesignerwall.com/wp-content/uploads/2009/11/white-space.html" target="_blank">演示</a>）</strong></p>
<p>white-space 属性指定了元素中空白的处理方式。比如，指定 white-space:nowrap 会阻止文本自动换行。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/nowrap.gif" alt="" /></p>
<pre>em {
  white-space: nowrap;
}</pre>
<p><strong>4、Cursor（<a href="http://www.webdesignerwall.com/wp-content/uploads/2009/11/cursor.html" target="_blank">演示</a>）</strong></p>
<p>如果你改变了按钮的行为，其指针也应该随之改变。比如，当一个按钮不可用时，指针应该改变为默认的箭头，来表明它不可点击。因此，cursor 属性在开发 Web 应用程序时相当有用。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/cursor.gif" alt="" /></p>
<pre>.disabled {
  cursor: default;
}

.busy {
  cursor: wait;
}

.clickable:hover {
  cursor: pointer;
}</pre>
<p><strong>5、Display inline / block（<a href="http://www.webdesignerwall.com/wp-content/uploads/2009/11/display.html" target="_blank">演示</a>）</strong></p>
<p>如果你不知道：块级元素是作为独立的一行来渲染的，而行内元素是在同一行被渲染的。&lt;div&gt;，&lt;h1&gt; 和 &lt;p&gt; 标签都是块级元素，&lt;em&gt;，&lt;span&gt;，&lt;strong&gt; 都是行内元素。通过 display:inline 或 block 的方式，你可以重设这些元素的 display 样式。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/display-inline.gif" alt="" /></p>
<pre>.block em {
  display: block;
}

.inline h4, .inline p {
  display: inline;
}</pre>
<p>英文原稿：<a href="http://www.webdesignerwall.com/tutorials/5-simple-but-useful-css-properties" target="_blank">5 Simple, But Useful CSS Properties | WebDesignWall</a><br />
翻译整理：<a href="http://www.mangguo.org/5-simple-but-useful-css-properties" target="_blank">5 个简单实用的 CSS 属性 | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li><li><a href="http://www.mangguo.org/mangguo-teach-you-clear-float/" title="芒果教你清除浮动">芒果教你清除浮动</a> (1)</li><li><a href="http://www.mangguo.org/the-basics-of-css3/" title="CSS3 基本要素概览">CSS3 基本要素概览</a> (0)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/" title="Data URI 初探及其自动化">Data URI 初探及其自动化</a> (0)</li><li><a href="http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/" title="细线表格的浏览器兼容写法">细线表格的浏览器兼容写法</a> (0)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li><li><a href="http://www.mangguo.org/yuicompressor-powerful-js-css-code-compressor/" title="YUICompressor，强大的前端代码压缩工具">YUICompressor，强大的前端代码压缩工具</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/5-simple-but-useful-css-properties/">固定链接</a> |
<a href="http://www.mangguo.org/5-simple-but-useful-css-properties/#comments">5 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/5-simple-but-useful-css-properties/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>RoundedCornr，圆角图片生成工具</title>
		<link>http://www.mangguo.org/roundedcornr-round-corner-generator/</link>
		<comments>http://www.mangguo.org/roundedcornr-round-corner-generator/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 05:19:02 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[工具]]></category>
		<category><![CDATA[RoundedCornr]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2956</guid>
		<description><![CDATA[还记得芒果介绍过的来自 Google 的圆角图标生成工具吗？
随着 CSS 向 CSS3 的不断演进，圆角的处理不再是一个棘手的问题。但是我们伟大的 IE 同志坚守着那份愚昧与无知。不过为了效果，还是不得不做一点牺牲，能用图片做圆角就尽量用图片吧。
RoundedCornr 用于自定义配置生成圆角效果的对应 HTML/CSS 代码以及边角料图片。提供了以下几个待设定参数：
以像素计算的圆角半径大小 (Corner radius in pixels)、背景颜色 (Background color)、容器颜色 (Box color)。
配置完成后，点击 Create RoundedCornr 按钮，会引导向一个预览页面，并同时输出 HTML/CSS 代码，以及生成的四个边角图片。对于快速制作圆角效果来说还是灰常方便的，值得一试。
官方主页：http://roundedcornr.com
随机文章感慨一下内容抄袭之怪现状 (10)WordPress 统计代码插件化 (12)发放 8 份 Google Wave 邀请 (22)Color Capture，小巧实用的屏幕吸色器 (7)CSS 有序列表 ol 和无序列表 ul (1)SuperScreenshot，在线网页截图工具 (0)FeedSmith，RSS Feed 重定向插件 (2)YUI 2: YAHOO Global Object (0)
© 2010 芒果 版权所有 &#124;
固定链接 &#124;
没有评论 &#124;
标签 [...]]]></description>
			<content:encoded><![CDATA[<p>还记得芒果介绍过的<a id="title" href="http://www.mangguo.org/from-google-fillet-icon-generate-tool/">来自 Google 的圆角图标生成工具</a>吗？</p>
<p>随着 CSS 向 CSS3 的不断演进，圆角的处理不再是一个棘手的问题。但是我们伟大的 IE 同志坚守着那份愚昧与无知。不过为了效果，还是不得不做一点牺牲，能用图片做圆角就尽量用图片吧。</p>
<p>RoundedCornr 用于自定义配置生成圆角效果的对应 HTML/CSS 代码以及边角料图片。提供了以下几个待设定参数：</p>
<p><strong>以像素计算的圆角半径大小</strong> (Corner radius in pixels)、<strong>背景颜色</strong> (Background color)、<strong>容器颜色</strong> (Box color)。</p>
<p>配置完成后，点击 Create RoundedCornr 按钮，会引导向一个预览页面，并同时输出 HTML/CSS 代码，以及生成的四个边角图片。对于快速制作圆角效果来说还是灰常方便的，值得一试。</p>
<p>官方主页：<a href="http://roundedcornr.com" target="_blank">http://roundedcornr.com</a></p>
<h3  class="related_post_title">随机文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/wordpress-random-post-call-code/" title="WordPress 随机日志调用代码">WordPress 随机日志调用代码</a> (12)</li><li><a href="http://www.mangguo.org/alarmcocky-online-alarm-clock-alert-service/" title="Alarmcocky，在线闹钟提醒服务">Alarmcocky，在线闹钟提醒服务</a> (3)</li><li><a href="http://www.mangguo.org/mangguo-teach-you-clear-float/" title="芒果教你清除浮动">芒果教你清除浮动</a> (1)</li><li><a href="http://www.mangguo.org/53-css-techniques-you-couldnt-live-without/" title="53 个不可或缺的 CSS 技巧">53 个不可或缺的 CSS 技巧</a> (6)</li><li><a href="http://www.mangguo.org/wp-t-wap-add-wap-access-function-for-wordpress/" title="WP-T-WAP，为 WordPress 添加 WAP 访问功能">WP-T-WAP，为 WordPress 添加 WAP 访问功能</a> (1)</li><li><a href="http://www.mangguo.org/ie6-the-end-of-the-upcoming/" title="IE6，即将到来的末日？">IE6，即将到来的末日？</a> (9)</li><li><a href="http://www.mangguo.org/css-ordered-list-ol-and-unordered-list-ul/" title="CSS 有序列表 ol 和无序列表 ul">CSS 有序列表 ol 和无序列表 ul</a> (1)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/roundedcornr-round-corner-generator/">固定链接</a> |
<a href="http://www.mangguo.org/roundedcornr-round-corner-generator/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/roundedcornr/" rel="tag">RoundedCornr</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/roundedcornr-round-corner-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI 2: Event Utility</title>
		<link>http://www.mangguo.org/yui-2-event-utility/</link>
		<comments>http://www.mangguo.org/yui-2-event-utility/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 14:42:56 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2943</guid>
		<description><![CDATA[通过为 DOM 事件的订阅、浏览器事件对象属性的查询提供简单接口，YUI Event Utility 简化了基于浏览器的事件驱动应用程序的创建。Event Utility 包含了自定义事件对象，允许使用自己的代码发布事件，使页面上的其他组件能够订阅并予以响应。Event Utility 包提供了下列功能：
1. 将事件处理程序附加到一个或多个元素
2. 自动延缓暂不可用元素的事件注册
3. 自动纠正作用域，可选作用域赋值
4. 浏览器事件对象的自动抽象
5. 将任意对象发送到某一个事件
6. Utility 方法访问需要浏览器抽象的事件属性
7. 自动清除事件监听
8. 自定义事件的创建和订阅机制
9. 在检测到 DOM 元素时即刻执行函数
入门
使用 Event 和 Custom Event Utilities (自定义事件工具包) 需要在页面中包含以下源文件：
&#60;!-- Dependency --&#62;
&#60;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js" &#62;&#60;/script&#62;

&#60;!-- Event source file --&#62;
&#60;script src="http://yui.yahooapis.com/2.8.0r4/build/event/event-min.js" &#62;&#60;/script&#62;
Event 和 Custom Event components (自定义事件组件) 分别由 YAHOO.util.Event 和 YAHOO.util.CustomEvent 定义。
基本事件
为 DOM 添加事件处理程序，需要简单定义，并同时指定需绑定元素和事件类型等参数，将其传递给 Event Utility:
var oElement = [...]]]></description>
			<content:encoded><![CDATA[<p>通过为 DOM 事件的订阅、浏览器事件对象属性的查询提供简单接口，YUI Event Utility 简化了基于浏览器的事件驱动应用程序的创建。Event Utility 包含了自定义事件对象，允许使用自己的代码发布事件，使页面上的其他组件能够订阅并予以响应。Event Utility 包提供了下列功能：</p>
<p>1. 将事件处理程序附加到一个或多个元素<br />
2. 自动延缓暂不可用元素的事件注册<br />
3. 自动纠正作用域，可选作用域赋值<br />
4. 浏览器事件对象的自动抽象<br />
5. 将任意对象发送到某一个事件<br />
6. Utility 方法访问需要浏览器抽象的事件属性<br />
7. 自动清除事件监听<br />
8. 自定义事件的创建和订阅机制<br />
9. 在检测到 DOM 元素时即刻执行函数</p>
<p><strong>入门</strong></p>
<p>使用 Event 和 Custom Event Utilities (自定义事件工具包) 需要在页面中包含以下源文件：</p>
<pre>&lt;!-- Dependency --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js" &gt;&lt;/script&gt;

&lt;!-- Event source file --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/event/event-min.js" &gt;&lt;/script&gt;</pre>
<p>Event 和 Custom Event components (自定义事件组件) 分别由 YAHOO.util.Event 和 YAHOO.util.CustomEvent 定义。</p>
<p><strong>基本事件</strong></p>
<p>为 DOM 添加事件处理程序，需要简单定义，并同时指定需绑定元素和事件类型等参数，将其传递给 Event Utility:</p>
<pre>var oElement = document.getElementById("elementid");
function fnCallback(e) { alert("click"); }
YAHOO.util.Event.addListener(oElement, "click", fnCallback);</pre>
<p>代码注释：</p>
<p>1. 声明变量 oElement 并将其赋值为特定的 DOM 元素。<br />
2. 定义回调函数，fnCallback(e)，以处理特定事件。<br />
3. 调用 YAHOO.util.Event 对象的 addListener 方法为 DOM 元素绑定事件。addListener 方法需要三个参数：要绑定事件的元素 (oElement)，要绑定的事件，以及回调函数。</p>
<p>通过元素 ID 添加事件处理程序，使用以下代码：</p>
<pre>function fnCallback(e) { alert("click"); }
YAHOO.util.Event.addListener("elementid", "click", fnCallback);</pre>
<p>这个例子与第一个类似。但是，此处我们通过 HTML ID ("elementid" 作为一个字符串) 来查找元素，而不是通过传递一个指向元素对象的变量。Event Utility 尝试通过 ID 属性值找到 DOM 元素，如果不能立即找到，则在页面就绪后继续查找元素，最多长达 15 秒。这种“自动延缓”机制使你在许多情况下，可以直接将事件代码写入脚本，而不是从那些只能在页面就绪后才能执行的函数中分离出来。</p>
<p>为多个元素添加事件处理程序，使用以下代码：</p>
<pre>// array can contain object references, element ids, or both
var ids = ["el1", "el2", "el3"];
function fnCallback(e) { alert(this.id); }
YAHOO.util.Event.addListener(ids, "click", fnCallback);</pre>
<p>代码注释：</p>
<p>1. 为页面元素的 HTML ID 属性声明一个数组。该数组以字符串的形式存储 HTML ID (如代码所示)，也可以接受对象引用变量。<br />
2. 声明回调函数，fnCallback(e)，用于处理特定事件。<br />
3. 调用 YAHOO.util.Event 的 addListener 方法，为 DOM 元素绑定事件。此处 addListener 方法的第一个参数是 ID 数组，而不是一个单独的元素或 ID。</p>
<p>阅读更多细节请查阅 <a href="#event">使用事件</a> 和 <a href="#customevent">使用自定义事件</a> 中的示例，或者参考 <a href="http://developer.yahoo.com/yui/docs/YAHOO.util.CustomEvent.html">API 文档</a>。也可以查阅关于如何使用 addListener 添加事件的 <a href="http://developer.yahoo.com/yui/examples/event/eventsimple.html">第一个 Event Utility 示例</a> 教程。</p>
<p>注：开发人员经常不知道在哪里可以找到 DOM 事件的完全列表（例如 "click"、"mousemove" 等等），但至今仍然没有完美的手册，Danny Goodman 的 <a href="http://www.oreillynet.com/catalog/9780596527402/">DHTML: The Definitive Reference</a> 可能比较全面。PPK 关于怪异模式的 <a href="http://www.quirksmode.org/dom/events/">Event Compatibility Table</a> 可能是线上最好的兼容性评估。Event Utility 对事件处理程序的绑定没有任何限制；它将尝试为你提供的任何事件名称添加监听。你有责任确保所使用的事件得到当前浏览器开发环境的支持。</p>
<p><strong>使用事件</strong></p>
<p>这部分描述了 Event Utility 的一些常用功能和使用方法。包括以下部分：</p>
<p><a href="#deferral">Handler Attachment Deferral</a><br />
<a href="#scope">Automatic Scope Correction</a><br />
<a href="#abstraction">Automatic Event Object Browser Abstraction</a><br />
<a href="#customobject">Send an Arbitrary Object to the Event Handler</a></p>
<p><span id="deferral">延缓附加处理程序</span></p>
<p>如果你尝试在页面完全就绪前为元素添加处理程序，Event Utility 会尝试定位元素。如果元素不可用，事件会定期检测，直到 window.onload 事件被触发。处理程序延缓只能在通过元素 ID 添加处理程序时生效；如果您尝试添加的对 DOM 对象的引用尚不可用，该组件无法获取你试图访问的对象。</p>
<p><span id="scope">自动作用域纠正</span></p>
<p>附带 Internet Explorer 的 attachEvent 方法的事件处理程序在 window 作用域内被执行，因此回调函数中的特殊变量 this 引用了 window 对象，这并不是非常有用。更令人烦恼的是，实际上 Internet Explorer 中的事件对象不提供查找已注册事件的元素的可靠方法；基于标准的浏览器通过 currentTarget 属性对此给予了良好支持，但 IE 不存在这个属性。</p>
<p>默认情况下，Event Utility 自动调整执行环境的作用域，因此 this 关键字会遵循 W3C-兼容浏览器中的 addEventListener 行为，查找绑定事件的 DOM 元素。此外，事件订阅者可以覆盖作用域，因此 this 关键字会查询传入 addListener 的自定义对象。</p>
<p><span id="abstraction">浏览器事件对象的自动抽象</span></p>
<p>当事件触发后回调函数接收的第一个参数总是实际事件对象。没有必要在 window.event 中查看。</p>
<p><span id="customobject">发送任意对象到事件处理程序</span></p>
<p>在面向对象的 JavaScript 开发中，通常通过指定自定义对象的成员方法来监听事件，在响应时访问内部属性和执行内部方法。由于事件处理程序 (默认情况下) 在元素作用域内执行，而不是监听方法的父级对象的作用域，自定义对象的属性不能通过 "this" 关键字获得。你可以通过以下方法解决这个问题：(1) 创建闭包 (2) 创建自定义对象和元素之间的循环引用。</p>
<p>Event Utility 使你能够直接将自定义对象传递给事件处理程序，因此不必使用其他方法 (有潜在漏洞的) 访问该自定义对象。将自定义对象作为第四个参数传给 addListener 方法，作为第二个参数传给回调函数 (第一个参数是事件对象本身)：</p>
<pre>function MyObj(elementId, customProp, callback) {
   this.elementId = elementId;
   this.customProp = customProp;
   this.callback = callback;
}

MyObj.prototype.addClickHandler = function() {
   YAHOO.util.Event.addListener(this.elementId, "click", this.callback, this);
};

function fnCallback1(e, obj) {
  // the execution context is the html element ("myelementid")
  alert(this.id + " click event: " + obj.customProp);
}

function fnCallback2(e, obj) {
  // the execution context is the custom object
  alert("click event: " + this.customProp);
}

var myobj = new MyObj("myelementid", "hello world", fnCallback1);
var mydata = { id: 10 };

// One way to add the handler:
myobj.addClickHandler();

// This will do the same thing:
YAHOO.util.Event.addListener("myelementid", "click", fnCallback1, myobj);

// If we pass true as the final parameter, the custom object that is passed
// is used for the execution scope (so it becomes "this" in the callback).
YAHOO.util.Event.addListener("myelementid", "click", fnCallback2, myobj, true);

// Alternatively, we can assign a completely different object to be the
// execution scope:
YAHOO.util.Event.addListener("myelementid", "click", fnCallback2, mydata, myobj);</pre>
<p><strong>移除事件</strong></p>
<p>你可以通过调用 YAHOO.util.Event.removeListener 并使用与创建事件时同样的事件签名来移除事件监听器。</p>
<pre>YAHOO.util.Event.removeListener("myelementid", "click", fnCallback1);</pre>
<p>如果不方便保存原先用于注册事件的回调函数的引用参数，而且事件具有唯一监听者，你可以调用不带参数的 removeListener 函数。这样做将删除所有通过 addListener 为指定元素和事件类型添加的监听。</p>
<pre>YAHOO.util.Event.removeListener("myelementid", "click");</pre>
<p>YAHOO.util.Event.getListeners 允许你检索所有通过 addListener 方法绑定的元素监听。或者，你可以检索指定类型的监听：</p>
<pre>// all listeners
var listeners = YAHOO.util.Event.getListeners(myelement);
for (var i=0; i&gt;listeners.length; ++i) {
    var listener = listeners[i];
    alert( listener.type   ); // The event type
    alert( listener.fn     ); // The function to execute
    alert( listener.obj    ); // The custom object passed into addListener
    alert( listener.adjust ); // Scope correction requested, if true, listener.obj
                              // is the scope, if an object, that object is the scope
}

// only click listeners
var listeners = YAHOO.util.Event.getListeners(myelement, "click");</pre>
<p>YAHOO.util.Event.purgeElement 允许你移除所有通过 addListener 方法注册的元素监听。或者，可以指定特定类型的监听，此外，该元素的子节点也会被清除。</p>
<pre>// all listeners
YAHOO.util.Event.purgeElement(myelement);
// all listeners and recurse children
YAHOO.util.Event.purgeElement(myelement, true);
// only click listeners
YAHOO.util.Event.purgeElement(myelement, false, "click");</pre>
<p><strong>使用 focusin 和focusout 事件</strong></p>
<p>由于 DOM 中的 focus 和 blur 事件不支持冒泡，可以使用 Event Utility 的 focusin 和 focusout 事件替代 DOM 中可聚焦元素的 focus 和 blur 事件处理程序。focusin 和 focusout 事件使监听单一元素、监听元素所有子节点触发的 focus 和 blur 事件成为了可能。由于减少事件监听数目是一个行之有效的性能提高策略，使用 focusin 和 focusout 事件有助于加速任何需要监听可聚焦元素的网页或应用程序。</p>
<p><strong>创建 focusin 监听</strong></p>
<p>考虑以下 HTML 代码：</p>
<pre>&lt;div id="toolbar"&gt;
    &lt;input type="button" id="button-cut" name="button-cut" value="Cut"&gt;
    &lt;input type="button" id="button-copy" name="button-copy" value="Copy"&gt;
    &lt;input type="button" id="button-paste" name="button-paste" value="Paste"&gt;
&lt;/div&gt;</pre>
<p>监听每个 toolbar 容器中每个按钮的 focus 事件时，通常需要对每个按钮添加离散的监听事件。然而，使用 Event Utility 则可以单独监听容器元素 (此处是 &lt;div id="toolbar"&gt;)，并在每个按钮获得焦点时予以通知。</p>
<pre>YAHOO.util.Event.on("toolbar", "focusin", function(e) {

    YAHOO.log("target: " + e.target.id);

});</pre>
<p><strong>使用 mouseenter 和 mouseleave 事件</strong></p>
<p>受 Internet Explorer 的 mouseenter 和 mouseleave 事件影响，Event Utility 提供了在所有 A 级浏览器中监听 mouseenter 和 mouseleave 事件的功能。为应对在鼠标悬停和移开时执行 DOM 操作，使用 mouseenter 和 mouseleave 可以提高性能，因为他们不会冒泡，DOM 的变化将不会过于频繁。</p>
<p>mouseenter 和 mouseleave 功能被封装在一个单独的 Event Utility 增强模块中，因此监听 mouseenter 和 mouseleave 事件必须在包含 Event Utility 之后引入 event-mouseenter 模块。</p>
<pre>&lt;!-- Dependency --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js" &gt;&lt;/script&gt;

&lt;!-- Event source file --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/event/event-min.js" &gt;&lt;/script&gt;

&lt;!-- Dom source file --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/dom/dom-min.js" &gt;&lt;/script&gt;

&lt;!-- MouseEnter source file --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/event-mouseenter/event-mouseenter-min.js" &gt;&lt;/script&gt;</pre>
<p><strong>创建 mouseenter 和 mouseleave 监听</strong></p>
<p>考虑以下 HTML 代码：</p>
<pre>&lt;div id="container"&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;em&gt;Item Type One&lt;/em&gt;&lt;/li&gt;
        &lt;li&gt;&lt;em&gt;Item Type Two&lt;/em&gt;&lt;/li&gt;
        &lt;li&gt;&lt;em&gt;Item Type Three&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;</pre>
<p>以下代码将为列表容器 (&lt;div id="container"&gt;) 添加 mouseenter 和 mouseleave 监听。mouseenter 监听会在鼠标进入容器时被调用一次。mouseleave 监听会在鼠标离开容器时被调用一次。</p>
<pre>YAHOO.util.Event.on("container", "mouseenter", function (e) {

    YAHOO.log("Mouse entered: " + this.id);

});

YAHOO.util.Event.on("container", "mouseleave", function (e) {

    YAHOO.log("Mouse left: " + this.id);

});</pre>
<p><strong>使用委托方法</strong></p>
<p>事件委托 (Event delegation) 支持在父级元素上应用单独的事件处理程序，来监听影响后代元素的交互行为。因为后代元素的事件将冒泡到父级元素，对于减少特定网页上事件处理程序的资源消耗问题，这可能是一个可靠的、非常有效的缓解策略。(你可以在<a href="http://yuiblog.com/blog/2007/01/17/event-plan/" target="_blank">这篇 YUIBlog 文章</a>中阅读更多有关事件委托的内容)</p>
<p><strong>创建委托事件监听</strong></p>
<p>考虑以下 HTML 代码：</p>
<pre>&lt;div id="container"&gt;
    &lt;ul&gt;
        &lt;li id="item-1"&gt;&lt;em&gt;Item Type One&lt;/em&gt;&lt;/li&gt;
        &lt;li id="item-2"&gt;&lt;em&gt;Item Type Two&lt;/em&gt;&lt;/li&gt;
        &lt;li id="item-3"&gt;&lt;em&gt;Item Type Three&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;</pre>
<p>使用 delegate 方法，需要将委托容器的元素 id 作为第一个参数 (此处是 &lt;div id="container"&gt;) 传入。第二个参数是需要委托的事件类型，第三个参数是事件监听函数，第四个参数是定义后代元素 (监听被调用时必须按照顺序匹配事件目标) 的 CSS 选择器。</p>
<p>以下示例将为容器 (&lt;div id="container"&gt;) 绑定一个单独的 click 事件监听。但这个监听器只有在事件目标为 &lt;li&gt; 时被调用。</p>
<pre>YAHOO.util.Event.delegate("container", "click", function(e, matchedEl, container) {

    //  The list item that matched the provided selector is the default scope
    YAHOO.log("Default scope: " + this.id);

    //  The list item that matched the provided selector is also passed
    //  as the second argument in case the scope of the listener
    //  is adjusted
    YAHOO.log("Clicked list item: " + matchedEl.id);

    //  The actual click target, which could be the matched item or a
    //  descendant of it.
    YAHOO.log("Event target: " + YAHOO.util.Event.getTarget(e));    

    //  The delegation container is passed as a third argument
    YAHOO.log("Delegation container: " + container.id);

}, "li");</pre>
<p><strong>使用 onAvailable 和 onContentReady 方法</strong></p>
<p>onAvailable 允许你定义一个函数，一旦元素在 DOM 中被检测到，该函数即刻执行。其目的是减少在渲染行内脚本和 HTML 代码时发生时序问题。这并不意味着用来为文档就绪后的最终元素定义处理程序；而是用来在加载过程中检测元素。</p>
<p>onAvailable 的参数签名和 addListener 相似，只省略事件类型。</p>
<pre> function TestObj(id) {
   YAHOO.util.Event.onAvailable(id, this.handleOnAvailable, this);
 }

 TestObj.prototype.handleOnAvailable = function(me) {
   alert(this.id + " is available");
 }

 var obj = new TestObj("myelementid");</pre>
<pre>&lt;div id="myelementid"&gt;my element&lt;/div&gt;</pre>
<p>onContentReady 方法使用和 onAvailable 相同的语法。两者之间的实质差异在于，onContentReady 等待直到 DOM 中的目标元素和其直接后继元素响应 getElementById。这保证了目标元素的内容被完全载入 (除了可以通过脚本添加的任何动态内容)。如果 onContentReady 一直检测不到直接后继元素，它将随 window.load 事件触发。</p>
<p><strong>使用 onDOMReady 方法</strong></p>
<p>onDOMReady 允许你定义一个函数，一旦 DOM 呈可用状态，该函数即刻执行。DOM 在结构完整之前不会被视为可用；如果脚本试图在未就绪的 DOM 中插入信息，一些浏览器本身的 bug (主要在 IE 中) 会导致浏览器崩溃或者页面载入失败。DOM 会在图片完成载入之前就绪，然而，这样的 onDOMReady 通常是使用 window 对象的 load 事件的一个优良选择。</p>
<pre> function init() {
    YAHOO.util.Dom.setStyle("hidden_element", "visibility", "");
 }
 YAHOO.util.Event.onDOMReady(init);

 // As with addListener, onAvailable, and onContentReady, you can pass a data object and adjust the scope
 // YAHOO.util.Event.onDOMReady(init, data, scope);</pre>
<p><strong>使用 CustomEvent 对象</strong></p>
<p>CustomEvent 对象使你能够定义和使用 DOM 中默认不可用的事件 - 即应用程序中自定义的特定事件。这部分描述了几个 CustomEvent 组件的通用方法并提供一些示例。包括以下内容：</p>
<p><a href="#customdefine">Defining a Custom Event</a><br />
<a href="#customsubscribe">Subscribing (Listening) to a Custom Event</a><br />
<a href="#customcallback">Creating a Callback</a><br />
<a href="#customfire">Triggering the Event</a></p>
<p><span id="customdefine">定义一个自定义事件</span></p>
<p>定义一个自定义事件类型，需要创建一个 CustomEvent 对象实例：</p>
<pre>// custom object
function TestObj(name) {
    this.name = name;
    // define a custom event
    this.event1 = new YAHOO.util.CustomEvent("event1", this);
}</pre>
<p>CustomEvent 构造器创建了一个全新的自定义事件；它需要一个必要参数和三个可选参数：</p>
<p>type - 事件类型。这个字符串会返回到接收这个事件的监听，以此获知事件的发生。<br />
scope - 监听方法触发时所在的作用域；如果没有指定作用域，默认为 window 对象。<br />
silent - 默认为 false。如果为 true，在调试模式下该事件的活动将不被记录。<br />
signature - 指定事件监听的签名。选项为：</p>
<p>YAHOO.util.CustomEvent.LIST (默认)：<br />
参数一：事件名称<br />
参数二：发送到触发事件的参数数组<br />
参数三：(可选) 一个由订阅者提供的自定义对象<br />
YAHOO.util.CustomEvent.FLAT：<br />
参数一：传递到触发事件的第一个参数。如果你需要传递多个参数，使用数组或者对象字面量。<br />
参数二：一个由订阅者提供的自定义对象</p>
<p>事件订阅者可以覆盖作用域，因此 this 关键字指向传递到 subscribe 方法的自定义对象。</p>
<p><span id="customsubscribe">订阅 (监听) 自定义事件</span></p>
<p>订阅一个自定义事件，需要使用 subscribe 方法：</p>
<pre>// a custom consumer object that will listen to "event1"
function Consumer(name, testObj) {
    this.name = name;
    this.testObj = testObj;
    this.testObj.event1.subscribe(this.onEvent1, this);
}</pre>
<p>在这个示例中，event1 是在上一小节创建的自定义事件对象。使用 subscribe 方法监听该事件。subscribe 方法需要两个参数。第一个是回调函数；第二个是自定义对象 (详细参考 <a href="#customobject">Send an Arbitrary Object to the Event Handler</a>)。当事件被触发时，回调函数被调用，并且自定义对象作为第三个参数被传递到该回调函数 (当使用默认参数签名；当使用单位签名时，自定义对象作为第二个参数)。</p>
<p><span id="customcallback">创建回调函数</span></p>
<p>为自定义事件创建回调函数：</p>
<pre>Consumer.prototype.onEvent1 = function(type, args, me) {
    alert(" this: " + this +
        "\n this.name: " + this.name +
        "\n type: " + type +
        "\n args[0].data: " + args[0].data +
        "\n me.name: " + me.name);
}</pre>
<p>该示例中 type 参数是事件类型 (此处为 "event1")，args 是所有传入自定义事件触发方法的参数数组，并且 me 是我们创建订阅事件时传入的自定义对象。</p>
<p><span id="customfire">触发事件</span></p>
<p>触发一个自定义事件：</p>
<pre>// random test data to be used as an event argument
function TestData(data) {
    this.data = data;
}

// create an instance of our test object
var t1 = new TestObj("mytestobj1");

// create the event consumer, passing in the custom
// object so that it can subscribe to the custom event
var c1 = new Consumer("mytestconsumer1", t1);

// create a data object that will be passed to the consumer when the event fires
var d1 = new TestData("mydata1");

// fire the test object's event1 event, passing the data object as a parameter
t1.event1.fire(d1);</pre>
<p>该示例中 t1 是我们创建的测试对象，event1 是 CustomEvent 示例，d1 是测试数据。这个示例产生以下输出：</p>
<pre> this: [object Object]
 this.name: mytestobj1
 type: event1
 args[0].data: mydata1
 me.name: mytestconsumer1</pre>
<p>英文原稿：<a href="http://developer.yahoo.com/yui/event" target="_blank">YUI 2: Event Utility | Yahoo! Developer Network</a><br />
翻译整理：<a href="http://www.mangguo.org/yui-2-event-utility" target="_blank">YUI 2: Event Utility | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/yui-2-dom-collection/" title="YUI 2: Dom Collection">YUI 2: Dom Collection</a> (0)</li><li><a href="http://www.mangguo.org/yui-2-yahoo-global-object/" title="YUI 2: YAHOO Global Object">YUI 2: YAHOO Global Object</a> (0)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/javascript-anonymous-function-code-pattern/" title="JavaScript 匿名函数代码模式">JavaScript 匿名函数代码模式</a> (0)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li><li><a href="http://www.mangguo.org/yuicompressor-powerful-js-css-code-compressor/" title="YUICompressor，强大的前端代码压缩工具">YUICompressor，强大的前端代码压缩工具</a> (1)</li><li><a href="http://www.mangguo.org/use-js-file-call-google-adsense-ad/" title="使用 JS 文件调用 Google AdSense 广告">使用 JS 文件调用 Google AdSense 广告</a> (2)</li><li><a href="http://www.mangguo.org/10-wysiwyg-editor-base-on-javascript/" title="10 款基于 JavaScript 的 WYSIWYG 编辑器">10 款基于 JavaScript 的 WYSIWYG 编辑器</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/yui-2-event-utility/">固定链接</a> |
<a href="http://www.mangguo.org/yui-2-event-utility/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://www.mangguo.org/tag/yui/" rel="tag">YUI</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/yui-2-event-utility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>13+ 开发必备的实用 Google Chrome 扩展</title>
		<link>http://www.mangguo.org/13-useful-google-chrome-extensions-for-web-developers/</link>
		<comments>http://www.mangguo.org/13-useful-google-chrome-extensions-for-web-developers/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 16:00:58 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[工具]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Chrome]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2942</guid>
		<description><![CDATA[和 Firefox 一样，Google Chrome 可以通过使用扩展来扩充浏览器功能。如果你是 Web 开发人员，Google Chrome 附带了一套内建的优秀开发工具，减轻你的工作负担。但也有一些扩展能够在你处理任务的过程中提供更多的帮助工具。扩展的伟大之处在于，允许你执行任务，而不必像通常那样切换到另一个应用程序。你可以执行某些任务，而无需离开浏览器，节省大量的时间。
以下是 13 款实用的 Google Chrome 扩展：
Color Picker
Color Oicker 允许你快速获取任意颜色的 Hex 和 RGB 代码！提供关于色调，饱和度和平衡度的建议。
Firebug Lite
Firebug Lite 适用于 Web 开发人员，允许你编辑，调试，在任何页面实时监测控制 CSS，HTML 和 JavaScript 代码。
Domain Availability Checker
这款扩展用于检查域名是否可以注册。直接在工具栏上点击按钮输入待检查域名即可。
Aviary Screen Capture
Aviary Screen Capture 允许你对任意网页进行截图，并可以直接通过 Aviary.com 应用程序在浏览器中编辑图片。使用它能使访问 Aviary 网站和工具更为方便。
Lorem Ipsum Generator
Lorem Ipsum Generator 提供了一个生成文本排版的简单方法。
IE Tab
使用 Internet Explorer 在 Chrome 标签中展示网页。有一些站点只能用 IE 展现，使用这款扩展你可以查看那些站点，而不用离开 Chrome。对开发人员而言这也是用于测试 [...]]]></description>
			<content:encoded><![CDATA[<p>和 Firefox 一样，Google Chrome 可以通过使用扩展来扩充浏览器功能。如果你是 Web 开发人员，Google Chrome 附带了一套内建的优秀开发工具，减轻你的工作负担。但也有一些扩展能够在你处理任务的过程中提供更多的帮助工具。扩展的伟大之处在于，允许你执行任务，而不必像通常那样切换到另一个应用程序。你可以执行某些任务，而无需离开浏览器，节省大量的时间。</p>
<p><strong>以下是 13 款实用的 Google Chrome 扩展：</strong></p>
<p><a href="https://chrome.google.com/extensions/detail/egmjgagjcamhcilhinkipjdbfdmebmkd" target="_blank">Color Picker<br />
</a>Color Oicker 允许你快速获取任意颜色的 Hex 和 RGB 代码！提供关于色调，饱和度和平衡度的建议。</p>
<p><a href="https://chrome.google.com/extensions/detail/bnbbfjbeaefgipfjpdabmpadaacmafkj" target="_blank">Firebug Lite</a><br />
Firebug Lite 适用于 Web 开发人员，允许你编辑，调试，在任何页面实时监测控制 CSS，HTML 和 JavaScript 代码。</p>
<p><a href="https://chrome.google.com/extensions/detail/pokekecininnhejfkgcbnekjddnepope" target="_blank">Domain Availability Checker</a><br />
这款扩展用于检查域名是否可以注册。直接在工具栏上点击按钮输入待检查域名即可。</p>
<p><a href="https://chrome.google.com/extensions/detail/ncgcgghbabbopfcpgcjpfffdgnbadegf" target="_blank">Aviary Screen Capture<br />
</a>Aviary Screen Capture 允许你对任意网页进行截图，并可以直接通过 Aviary.com 应用程序在浏览器中编辑图片。使用它能使访问 Aviary 网站和工具更为方便。</p>
<p><a href="https://chrome.google.com/extensions/detail/dmpfoncmmihgkooacnplecaopcefceam" target="_blank">Lorem Ipsum Generator</a><br />
Lorem Ipsum Generator 提供了一个生成文本排版的简单方法。</p>
<p><a href="https://chrome.google.com/extensions/detail/hehijbfgiekmjfkfjpbkbammjbdenadd" target="_blank">IE Tab</a><br />
使用 Internet Explorer 在 Chrome 标签中展示网页。有一些站点只能用 IE 展现，使用这款扩展你可以查看那些站点，而不用离开 Chrome。对开发人员而言这也是用于测试 IE 渲染引擎的强大方式，也便于那些使用 ActiveX 控件和本地文件管理器视图（例如 file://URLs）的情况。</p>
<p><a href="https://chrome.google.com/extensions/detail/aonjhmdcgbgikgjapjckfkefpphjpgma" target="_blank">MeasureIt!</a><br />
MeasureIt! 提供了一把用于获得任意页面元素宽度高度的尺子。</p>
<p><a href="https://chrome.google.com/extensions/detail/kleiknekfnnaaibjhlamidabhmckbddc" target="_blank">PlainClothes</a><br />
该扩展可以重设浏览器默认样式。试想：文字是黑色的，背景是白色的，未访问链接是蓝色的，访问过的链接是紫色的，所有的链接均有下划线。或其他任何你喜欢的颜色。所有文本均依照你设定的默认字体来渲染（定义“Options” &gt; “Under the Hood” &gt; “Change font and language settings”）。</p>
<p><a href="https://chrome.google.com/extensions/detail/hmdcmlfkchdmnmnmheododdhjedfccka" target="_blank">Eye Dropper</a><br />
Eye Dropper and Color Picker 扩展支持从任意页面或者高级设色器中拾取颜色。</p>
<p><a href="https://chrome.google.com/extensions/detail/ognampngfcbddbfemdapefohjiobgbdl" target="_blank">Speed Tracer</a><br />
Speed Tracer 是一款用于识别并修复 Web 应用程序性能问题的工具。它将从浏览器底层获取应用程序运行数据并予以视觉化的呈现。Speed Tracer 作为一个 Chrome 扩展， 可以用于 Windows 和 Linux 系统平台。</p>
<p><a href="https://chrome.google.com/extensions/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi" target="_blank">Pendule</a><br />
Pendule 扩展了 Chrome 浏览器内建的开发工具。</p>
<p><a href="https://chrome.google.com/extensions/detail/idhfcdbheobinplaamokffboaccidbal" target="_blank">Resolution Test</a><br />
Resolution Test 能够改变浏览器窗口尺寸，方便开发人员预览网页在不同屏幕状况下的呈现。它包括一个常用的方案和自定义选项。</p>
<p><a href="https://chrome.google.com/extensions/detail/maabelkjnhafpphacjecmcnkkmjndjgl" target="_blank">Snippy</a><br />
Snippy 允许你保存网页片段以供将来使用。它可以抓取富文本，指定保存格式，方便用以捕捉段落，图片，链接等。</p>
<p>英文原稿：<a href="http://webdesignledger.com/tools/13-useful-google-chrome-extensions-for-web-developers">13 Useful Google Chrome Extensions for Web Developers | Web Design Ledger</a><br />
翻译整理：<a href="13-useful-google-chrome-extensions-for-web-developers">13-useful-google-chrome-extensions-for-web-developers | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/provide-8-google-wave-provide/" title="发放 8 份 Google Wave 邀请">发放 8 份 Google Wave 邀请</a> (22)</li><li><a href="http://www.mangguo.org/use-js-file-call-google-adsense-ad/" title="使用 JS 文件调用 Google AdSense 广告">使用 JS 文件调用 Google AdSense 广告</a> (2)</li><li><a href="http://www.mangguo.org/google-add-contextual-search-suggestion/" title="Google 新增上下文相关搜索建议">Google 新增上下文相关搜索建议</a> (4)</li><li><a href="http://www.mangguo.org/webpage-audio-player-from-google/" title="来自 Google 的网页音频播放器">来自 Google 的网页音频播放器</a> (12)</li><li><a href="http://www.mangguo.org/improve-google-search-experience-10-tip/" title="提高 Google 搜索体验的 6 个技巧">提高 Google 搜索体验的 6 个技巧</a> (4)</li><li><a href="http://www.mangguo.org/google-pagerank-update-again-mangguo-feel-ill-at-ease/" title="Google PageRank 再次更新，芒果心神不宁">Google PageRank 再次更新，芒果心神不宁</a> (13)</li><li><a href="http://www.mangguo.org/google-sms-alert-free-subscribe-weather-forecast/" title="谷歌短信提醒，免费订阅天气预报">谷歌短信提醒，免费订阅天气预报</a> (3)</li><li><a href="http://www.mangguo.org/pagerank-update-mangguo-pagerank-rise-to-1/" title="PageRank 更新，芒果 PageRank 值升至 1">PageRank 更新，芒果 PageRank 值升至 1</a> (3)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/13-useful-google-chrome-extensions-for-web-developers/">固定链接</a> |
<a href="http://www.mangguo.org/13-useful-google-chrome-extensions-for-web-developers/#comments">1 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/google/" rel="tag">Google</a>, <a href="http://www.mangguo.org/tag/google-chrome/" rel="tag">Google Chrome</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/13-useful-google-chrome-extensions-for-web-developers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>芒果 2010.02.26 博客订阅统计报告</title>
		<link>http://www.mangguo.org/mangguo-2010-2-26-blog-subscription-statistics-report/</link>
		<comments>http://www.mangguo.org/mangguo-2010-2-26-blog-subscription-statistics-report/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 13:43:07 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[杂项]]></category>
		<category><![CDATA[FeedBurner]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2941</guid>
		<description><![CDATA[有幸能够在 FeedBurner 注册到 "mangguo" 这个帐号，俗话说，良好的帐号是成功的一半，但其实芒果同志想法挺多，成就没有。截至 2010.02.26 为止，芒果的 RSS 总订阅数为 332，按照一年的时间来算，平均每天也就一个人不到的订阅量。废话不多说，看看来自 FeedBurner 的订阅统计图：

订阅数目分布如下：
Google Reader：238
鲜果：55
抓虾：23
其他：16
尽管数据量较小，却足以说明 Google Reader 的市场占有率已经遥遥领先。鲜果虽然占据了一席之地，但其与 Google Reader 的差异好比百度和谷歌中国，份额影响并决定着命运。而且根据芒果的观察，鲜果的订阅数偶尔会出现无法被 FeedBurner 抓取的情况，稳定性还亟待加强。
关于 FeedBurner：
FeedBurner 是好东西，比国内的废品 FeedSky 强悍得多。作为全球最大的 RSS 托管服务网站，数据统计分析、RSS 输出优化、阅读器兼容、邮件订阅、Google Adsense 广告，无一不是强大而实用。对于芒果而言，相比较于 FeedBurner 鸡肋的域名绑定 (MyBrand) 功能，FeedSky 的唯一好处也仅限于此。
关于 Google Reader：
Google Reader 的崛起丝毫没有压力，RSS 订阅本身门槛较高，在并未普及的互联网时代，这种稍微高级的应用成功的寥寥无几，抓虾死了，鲜果沦为了阅读社区。芒果也一直使用 Google Reader，除了内容聚合，简洁的阅读模式在用户体验上也更为舒适和轻松。
相关文章FeedBurner 托管地址的细微变化 (3)Tabbloid，以电子杂志形式发布 RSS (7)FeedSmith，RSS Feed 重定向插件 (2)2 款 RSS Feed 订阅统计插件 (1)18 款 [...]]]></description>
			<content:encoded><![CDATA[<p>有幸能够在 FeedBurner 注册到 "<a href="http://www.mangguo.org/feed" target="_blank">mangguo</a>" 这个帐号，俗话说，良好的帐号是成功的一半，但其实<a href="http://www.mangguo.org" target="_blank">芒果</a>同志想法挺多，成就没有。截至 2010.02.26 为止，芒果的 RSS 总订阅数为 332，按照一年的时间来算，平均每天也就一个人不到的订阅量。废话不多说，看看来自 FeedBurner 的订阅统计图：</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/fb-20100226.gif" alt="" /></p>
<p><strong>订阅数目分布如下：</strong></p>
<p>Google Reader：238<br />
鲜果：55<br />
抓虾：23<br />
其他：16</p>
<p>尽管数据量较小，却足以说明 Google Reader 的市场占有率已经遥遥领先。鲜果虽然占据了一席之地，但其与 Google Reader 的差异好比百度和谷歌中国，份额影响并决定着命运。而且根据<a href="http://www.mangguo.org" target="_blank">芒果</a>的观察，鲜果的订阅数偶尔会出现无法被 FeedBurner 抓取的情况，稳定性还亟待加强。</p>
<p><strong>关于 FeedBurner：</strong></p>
<p>FeedBurner 是好东西，比国内的废品 FeedSky 强悍得多。作为全球最大的 RSS 托管服务网站，数据统计分析、RSS 输出优化、阅读器兼容、邮件订阅、Google Adsense 广告，无一不是强大而实用。对于<a href="http://www.mangguo.org" target="_blank">芒果</a>而言，相比较于 FeedBurner 鸡肋的域名绑定 (MyBrand) 功能，FeedSky 的唯一好处也仅限于此。</p>
<p><strong>关于 Google Reader：</strong></p>
<p>Google Reader 的崛起丝毫没有压力，RSS 订阅本身门槛较高，在并未普及的互联网时代，这种稍微高级的应用成功的寥寥无几，抓虾死了，鲜果沦为了阅读社区。<a href="http://www.mangguo.org" target="_blank">芒果</a>也一直使用 Google Reader，除了内容聚合，简洁的阅读模式在用户体验上也更为舒适和轻松。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/feedburner-minor-change-of-host-address/" title="FeedBurner 托管地址的细微变化">FeedBurner 托管地址的细微变化</a> (3)</li><li><a href="http://www.mangguo.org/tabbloid-release-rss-use-electronic-journal-form/" title="Tabbloid，以电子杂志形式发布 RSS">Tabbloid，以电子杂志形式发布 RSS</a> (7)</li><li><a href="http://www.mangguo.org/feedsmith-rss-feed-redirect-plugin/" title="FeedSmith，RSS Feed 重定向插件">FeedSmith，RSS Feed 重定向插件</a> (2)</li><li><a href="http://www.mangguo.org/2-rss-feed-subscribe-statistics-plugin/" title="2 款 RSS Feed 订阅统计插件">2 款 RSS Feed 订阅统计插件</a> (1)</li><li><a href="http://www.mangguo.org/18-wordpress-rss-management-plugin/" title="18 款 WordPress RSS 管理插件">18 款 WordPress RSS 管理插件</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/mangguo-2010-2-26-blog-subscription-statistics-report/">固定链接</a> |
<a href="http://www.mangguo.org/mangguo-2010-2-26-blog-subscription-statistics-report/#comments">1 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/feedburner/" rel="tag">FeedBurner</a>, <a href="http://www.mangguo.org/tag/google-reader/" rel="tag">Google Reader</a>, <a href="http://www.mangguo.org/tag/rss/" rel="tag">RSS</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/mangguo-2010-2-26-blog-subscription-statistics-report/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</title>
		<link>http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/</link>
		<comments>http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 11:46:44 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2937</guid>
		<description><![CDATA[这里介绍两款 使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟。没有使用任何 Adobe Flash 文件或者 &#60;canvas&#62; 标签，仅仅使用平常的 &#60;div&#62; 和 &#60;img&#62; 标签。其工作方式为把图片置于带有 {overflow:hidden} 属性样式的 &#60;div&#62; 并将其旋转。通过 JavaScript，使用推荐的 CSS 变换属性。
然而，这份代码不兼容 Internet Explorer 或现有的许多旧版本浏览器。它只能在支持 CSS 变换属性的 Google Chrome，Safari 和 Firefox 3.5+ 浏览器下正常工作。

必备条件：支持 CSS 变换属性的浏览器
演示地址：http://joncom.be/code/css-clocks/
英文原稿：Pure HTML Clocks using Javascript &#38; CSS Rotation &#124; WebAppers
翻译整理：使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟 &#124; 芒果
相关文章Data [...]]]></description>
			<content:encoded><![CDATA[<p>这里介绍两款 <a href="http://joncom.be/code/css-clocks/" target="_blank">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a>。没有使用任何 Adobe Flash 文件或者 &lt;canvas&gt; 标签，仅仅使用平常的 &lt;div&gt; 和 &lt;img&gt; 标签。其工作方式为把图片置于带有 {overflow:hidden} 属性样式的 &lt;div&gt; 并将其旋转。通过 JavaScript，使用推荐的 CSS 变换属性。</p>
<p>然而，这份代码不兼容 Internet Explorer 或现有的许多旧版本浏览器。它只能在支持 CSS 变换属性的 Google Chrome，Safari 和 Firefox 3.5+ 浏览器下正常工作。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/css-clock.jpg" alt="" /></p>
<p><strong>必备条件：</strong>支持 CSS 变换属性的浏览器<br />
<strong>演示地址：</strong><a rel="nofollow" href="http://joncom.be/code/css-clocks/" target="_blank">http://joncom.be/code/css-clocks/</a></p>
<p>英文原稿：<a href="http://www.webappers.com/2010/02/24/pure-html-clocks-using-javascript-css-rotation" target="_blank">Pure HTML Clocks using Javascript &amp; CSS Rotation | WebAppers</a><br />
翻译整理：<a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation" target="_blank">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟 | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/" title="Data URI 初探及其自动化">Data URI 初探及其自动化</a> (0)</li><li><a href="http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/" title="细线表格的浏览器兼容写法">细线表格的浏览器兼容写法</a> (0)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li><li><a href="http://www.mangguo.org/yuicompressor-powerful-js-css-code-compressor/" title="YUICompressor，强大的前端代码压缩工具">YUICompressor，强大的前端代码压缩工具</a> (1)</li><li><a href="http://www.mangguo.org/modularize-html-css-and-image/" title="模块化之 HTML CSS 以及图片">模块化之 HTML CSS 以及图片</a> (4)</li><li><a href="http://www.mangguo.org/web-development-and-designer-info-manual-part-one/" title="Web 开发与设计师速查手册大全（上）">Web 开发与设计师速查手册大全（上）</a> (2)</li><li><a href="http://www.mangguo.org/use-javascript-achieve-html-code-run-frame/" title="用 JavaScript 实现 HTML 代码运行框">用 JavaScript 实现 HTML 代码运行框</a> (0)</li><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/">固定链接</a> |
<a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>, <a href="http://www.mangguo.org/tag/html/" rel="tag">HTML</a>, <a href="http://www.mangguo.org/tag/javascript/" rel="tag">JavaScript</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 CSS3 创建下拉菜单</title>
		<link>http://www.mangguo.org/css3-dropdown-menu/</link>
		<comments>http://www.mangguo.org/css3-dropdown-menu/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 12:53:30 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2926</guid>
		<description><![CDATA[当我在为 WordPress 编写 Notepad 主题 时，顺道学习了一些新的 CSS3 特性，现在此分享。查看演示可以看到一款类似 Mac 风格的多级下拉菜单，使用 border-radius，box-shadow 和 text-shadow 创建。在 Firefox，Safari 和 Chrome 浏览器中能够完美地渲染。即便是诸如 IE7+ 等不兼容 CSS3 的浏览器，也可以正常呈现页面，只不过忽略了对圆角和阴影的渲染。
查看演示：http://www.webdesignerwall.com/demo/css3-dropdown-menu
预览
下图展示了不兼容 CSS3 情况下的菜单样式。

使用了一个渐变图像
白色透明的图像用于实现渐变效果。因为新的 CSS3 渐变特性还没有得到所有浏览器的支持，使用简便背景图片更为安全。

渐变的强度可以通过切换背景图像的上移或下移来改变。此外，渐变颜色可以很容易地通过改变背景颜色来调整。

CSS 代码
我不打算解释逐行解释 CSS 代码。下面的图片很好地解释了编写下拉菜单的关键点。


英文原稿：CSS3 Dropdown Menu &#124; WebDesignerWall
翻译整理：使用 CSS3 创建下拉菜单 &#124; 芒果
相关文章CSS3 Please! CSS3 即时预览体验 (0)CSS3 基本要素概览 (0)70+ 必备的 CSS3 和 HTML5 教程资源 (1)CSS 3.0 参考手册（中文版） (11)用 CSS3 实现未来的 Web [...]]]></description>
			<content:encoded><![CDATA[<p>当我在为 WordPress 编写 <a href="http://www.ndesign-studio.com/wp-themes/notepad" target="_blank">Notepad 主题</a> 时，顺道学习了一些新的 CSS3 特性，现在此分享。查看<a href="http://www.webdesignerwall.com/demo/css3-dropdown-menu/" target="_blank">演示</a>可以看到一款类似 Mac 风格的多级下拉菜单，使用 border-radius，box-shadow 和 text-shadow 创建。在 Firefox，Safari 和 Chrome 浏览器中能够完美地渲染。即便是诸如 IE7+ 等不兼容 CSS3 的浏览器，也可以正常呈现页面，只不过忽略了对圆角和阴影的渲染。</p>
<p><strong>查看演示：</strong><a href="http://www.webdesignerwall.com/demo/css3-dropdown-menu" target="_blank">http://www.webdesignerwall.com/demo/css3-dropdown-menu</a></p>
<p><strong>预览</strong></p>
<p>下图展示了不兼容 CSS3 情况下的菜单样式。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/different-preview.gif" alt="" /></p>
<p><strong>使用了一个渐变图像</strong></p>
<p>白色透明的图像用于实现渐变效果。因为新的 CSS3 渐变特性还没有得到所有浏览器的支持，使用简便背景图片更为安全。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/gradient-image.gif" alt="" /></p>
<p>渐变的强度可以通过切换背景图像的上移或下移来改变。此外，渐变颜色可以很容易地通过改变背景颜色来调整。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/gradient-color-image.gif" alt="" /></p>
<p><strong>CSS 代码</strong></p>
<p>我不打算解释逐行解释 CSS 代码。下面的图片很好地解释了编写下拉菜单的关键点。</p>
<p><img src="http://www.mangguo.org/wp-content/uploads/2010/02/menu-css.gif" alt="" /><br />
<img src="http://www.mangguo.org/wp-content/uploads/2010/02/code-explanation.gif" alt="" /></p>
<p>英文原稿：<a href="http://www.webdesignerwall.com/tutorials/css3-dropdown-menu/" target="_blank">CSS3 Dropdown Menu | WebDesignerWall</a><br />
翻译整理：<a href="http://www.mangguo.org/css3-dropdown-menu" target="_blank">使用 CSS3 创建下拉菜单 | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li><li><a href="http://www.mangguo.org/the-basics-of-css3/" title="CSS3 基本要素概览">CSS3 基本要素概览</a> (0)</li><li><a href="http://www.mangguo.org/70-must-have-css3-and-html5-tutorial-and-resource/" title="70+ 必备的 CSS3 和 HTML5 教程资源">70+ 必备的 CSS3 和 HTML5 教程资源</a> (1)</li><li><a href="http://www.mangguo.org/css-3-0-reference-manual-chinese-version/" title="CSS 3.0 参考手册（中文版）">CSS 3.0 参考手册（中文版）</a> (11)</li><li><a href="http://www.mangguo.org/push-your-web-design-into-the-future-with-css3/" title="用 CSS3 实现未来的 Web">用 CSS3 实现未来的 Web</a> (6)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/css3-dropdown-menu/">固定链接</a> |
<a href="http://www.mangguo.org/css3-dropdown-menu/#comments">3 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/css3/" rel="tag">CSS3</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/css3-dropdown-menu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>使用 Qhub 建立自己的问答社区</title>
		<link>http://www.mangguo.org/build-your-own-qa-community-with-qhub/</link>
		<comments>http://www.mangguo.org/build-your-own-qa-community-with-qhub/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 01:39:34 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[分享]]></category>
		<category><![CDATA[Q&A]]></category>
		<category><![CDATA[Qhub]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2924</guid>
		<description><![CDATA[Qhub 是一个创建问答网站的简单方法。相比于其他交流信息和社区化的大型问答网站，Qhub 提供了更多有针对性的社区，由在特定主题领域感兴趣的人负责管理。
每个小组都由其拥有者建立和开始。可以邀请朋友，同事，论坛会员，一起参与问题的讨论。 Qhub 提供了站点自定义功能。社区创建人拥有对社区的完全管理权限，包括会员和内容。当然，更为强大的是，它还提供域名绑定的功能。
如果有人问你一个问题，你有没有答案，为什么不开放给网络社区来共享呢？
演示案例：http://help.qhub.com
官方主页：http://qhub.com
英文原稿：Build Your Own Q&#38;A Community with Qhub &#124; WebAppers
翻译整理：使用 Qhub 建立自己的问答社区 &#124; 芒果
随机文章Stimator，实用的网站价值评估工具 (4)CSS 3.0 参考手册（中文版） (11)Mail To Commenter，评论邮件通知插件 (1)Random.org，真正的随机数生成服务 (3)Web 设计与开发者必须知道的 15 个站点 (6)13+ 开发必备的实用 Google Chrome 扩展 (1)用 CSS3 实现未来的 Web (6)WordPress 多域名绑定 (5)
© 2010 芒果 版权所有 &#124;
固定链接 &#124;
没有评论 &#124;
标签 Q&#38;A, Qhub]]></description>
			<content:encoded><![CDATA[<p><a href="http://qhub.com" target="_blank">Qhub</a> 是一个创建问答网站的简单方法。相比于其他交流信息和社区化的大型问答网站，Qhub 提供了更多有针对性的社区，由在特定主题领域感兴趣的人负责管理。</p>
<p>每个小组都由其拥有者建立和开始。可以邀请朋友，同事，论坛会员，一起参与问题的讨论。 Qhub 提供了站点自定义功能。社区创建人拥有对社区的完全管理权限，包括会员和内容。当然，更为强大的是，它还提供域名绑定的功能。</p>
<p>如果有人问你一个问题，你有没有答案，为什么不开放给网络社区来共享呢？</p>
<p><strong>演示案例：</strong><a href="http://help.qhub.com" target="_blank">http://help.qhub.com</a><br />
<strong>官方主页：</strong><a href="http://qhub.com" target="_blank">http://qhub.com</a></p>
<p>英文原稿：<a href="http://www.webappers.com/2010/02/22/build-your-own-qa-community-with-qhub/" target="_blank">Build Your Own Q&amp;A Community with Qhub | WebAppers</a><br />
翻译整理：<a href="http://www.mangguo.org/build-your-own-qa-community-with-qhub/" target="_blank">使用 Qhub 建立自己的问答社区 | 芒果</a></p>
<h3  class="related_post_title">随机文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/compatible-with-different-browser-css-hack/" title="兼容不同浏览器的 CSS Hack 写法">兼容不同浏览器的 CSS Hack 写法</a> (0)</li><li><a href="http://www.mangguo.org/25-useful-web-design-development-blog/" title="25+ 最有用的网页设计开发类博客">25+ 最有用的网页设计开发类博客</a> (3)</li><li><a href="http://www.mangguo.org/twitter-default-short-url-service-change-to-bitly/" title="Twitter 默认网址缩短服务更换为 Bit.ly">Twitter 默认网址缩短服务更换为 Bit.ly</a> (0)</li><li><a href="http://www.mangguo.org/super-powerful-online-zip-unzip-php-script/" title="超强在线压缩/解压缩 PHP 脚本">超强在线压缩/解压缩 PHP 脚本</a> (2)</li><li><a href="http://www.mangguo.org/wp-click-tracker-link-click-track-plugin/" title="WP-Click-Tracker，链接点击跟踪插件">WP-Click-Tracker，链接点击跟踪插件</a> (1)</li><li><a href="http://www.mangguo.org/16-excellent-firefox-seo-plugin/" title="16 款优秀的 Firefox SEO 插件">16 款优秀的 Firefox SEO 插件</a> (2)</li><li><a href="http://www.mangguo.org/2-wordpress-theme-online-editor/" title="2 款 WordPress 主题在线编辑器">2 款 WordPress 主题在线编辑器</a> (0)</li><li><a href="http://www.mangguo.org/8-jquery-tip-and-trick/" title="8 个 JQuery 技巧和窍门">8 个 JQuery 技巧和窍门</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/build-your-own-qa-community-with-qhub/">固定链接</a> |
<a href="http://www.mangguo.org/build-your-own-qa-community-with-qhub/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/qa/" rel="tag">Q&amp;A</a>, <a href="http://www.mangguo.org/tag/qhub/" rel="tag">Qhub</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/build-your-own-qa-community-with-qhub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>增加反向链接以提高 PageRank 的几个方法</title>
		<link>http://www.mangguo.org/some-way-to-increase-backlink-improve-pagerank/</link>
		<comments>http://www.mangguo.org/some-way-to-increase-backlink-improve-pagerank/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 15:45:16 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[技巧]]></category>
		<category><![CDATA[BackLink]]></category>
		<category><![CDATA[PageRank]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2920</guid>
		<description><![CDATA[几年前，我曾经在搜索引擎优化 (SEO) 和获得优质反向链接上，花费了大量的时间和精力。这是因为博客较新，受众范围很小，因此仅仅靠发布优秀的内容并不快速见效。那么怎样才能吸引反向链接呢？主要有以下做三个要点：
1、将博客文章提交到社会化书签网站。
社会化书签网站大都有比较可观的用户群体。可以尝试在 Digg，StumbleUpon 和美味书签 (Delicious) 大量添加博文，发布优质文章，不但可以导入流量，还能获得相关的反向链接。
2、与同类博客建立关系。
和定位一致的博客建立关系是至关重要的。这意味着，增加了彼此互访的机率，促进资源的相互吸收。此处并不是在谈论友情链接交换，而是指高质量的自然链接。
3、博客留言评论。
以读者的身份通过留言评论来引入链接，虽然很多博客对评论内容中的链接做了 nofollow 处理，但这并不是一无是处的。有时，可以通过指向某个相关博客文章的方式，而不是直接指向主页，这能够在很大程度上提升搜索排名。
随着时间的推移，博客受众越来越广，反向链接也不断增长，此时就可以逐渐减少这些工作。也就是说，每一次发布文章后，一般都会被引用几次，而优质的文章甚至可以被引用几十次。因此反向链接和权重的提升会很自动化地展开，你只需要关注博客内容即可。
增加单篇文章的反向链接可以参考以下两点：
1、拥有一份 HTML 网站地图。
网站地图即在博客的某个单独页面中，可以链接到所有曾经发布过的文章。可以通过利用文章存档的方式。这是一个非常有效的均衡分配方式，因为所有博文链接都会产生联系，而且将链接到博客的所有文章页面。WordPress 可以采用芒果推荐过的 Google XML Sitemaps 插件。
2、在博文中相互链接引用。
链接到旧的、相关的文章也可以提高 PageRank 和搜索引擎排名，为读者带来更多的阅读价值。当你编写新文章时，请试图找一些内容相关的文章链接。
最后，请注意，过多的反向链接没有必要，并不能对 PageRank 产生良性影响。如果反向链接数目适当，并使用以上两种方法，你的链接资产自然会遍布整个博客，即便是没有反向链接的页面，也会获得一些 PageRank 值。
英文原稿：How Do I Get Backlinks to My Posts, Making Sure They Will Get a Good PageRank? &#124; Daily Blog Tips
翻译整理：增加反向链接以提高 PageRank 的几个方法 &#124; 芒果
相关文章没有大不留大不留大不留的芒果 (7)Google PageRank 再次更新，芒果心神不宁 (13)6 款 PageRank 值查询工具 (2)PageRank 更新，芒果 PageRank [...]]]></description>
			<content:encoded><![CDATA[<p>几年前，我曾经在搜索引擎优化 (SEO) 和获得优质反向链接上，花费了大量的时间和精力。这是因为博客较新，受众范围很小，因此仅仅靠发布优秀的内容并不快速见效。那么怎样才能吸引反向链接呢？主要有以下做三个要点：</p>
<p><strong>1、将博客文章提交到社会化书签网站。</strong><br />
社会化书签网站大都有比较可观的用户群体。可以尝试在 Digg，StumbleUpon 和美味书签 (Delicious) 大量添加博文，发布优质文章，不但可以导入流量，还能获得相关的反向链接。</p>
<p><strong>2、与同类博客建立关系。</strong><br />
和定位一致的博客建立关系是至关重要的。这意味着，增加了彼此互访的机率，促进资源的相互吸收。此处并不是在谈论友情链接交换，而是指高质量的自然链接。</p>
<p><strong>3、博客留言评论。</strong><br />
以读者的身份通过留言评论来引入链接，虽然很多博客对评论内容中的链接做了 nofollow 处理，但这并不是一无是处的。有时，可以通过指向某个相关博客文章的方式，而不是直接指向主页，这能够在很大程度上提升搜索排名。</p>
<p>随着时间的推移，博客受众越来越广，反向链接也不断增长，此时就可以逐渐减少这些工作。也就是说，每一次发布文章后，一般都会被引用几次，而优质的文章甚至可以被引用几十次。因此反向链接和权重的提升会很自动化地展开，你只需要关注博客内容即可。</p>
<p>增加单篇文章的反向链接可以参考以下两点：</p>
<p><strong>1、拥有一份 HTML 网站地图。</strong><br />
网站地图即在博客的某个单独页面中，可以链接到所有曾经发布过的文章。可以通过利用文章存档的方式。这是一个非常有效的均衡分配方式，因为所有博文链接都会产生联系，而且将链接到博客的所有文章页面。WordPress 可以采用芒果推荐过的 <a href="http://www.mangguo.org/google-xml-sitemaps/" target="_blank">Google XML Sitemaps</a> 插件。</p>
<p><strong>2、在博文中相互链接引用。</strong><br />
链接到旧的、相关的文章也可以提高 PageRank 和搜索引擎排名，为读者带来更多的阅读价值。当你编写新文章时，请试图找一些内容相关的文章链接。</p>
<p>最后，请注意，过多的反向链接没有必要，并不能对 PageRank 产生良性影响。如果反向链接数目适当，并使用以上两种方法，你的链接资产自然会遍布整个博客，即便是没有反向链接的页面，也会获得一些 PageRank 值。</p>
<p>英文原稿：<a href="http://www.dailyblogtips.com/how-do-i-get-backlinks-to-my-posts-making-sure-they-will-get-a-good-pagerank/" target="_blank">How Do I Get Backlinks to My Posts, Making Sure They Will Get a Good PageRank? | Daily Blog Tips</a><br />
翻译整理：<a href="http://www.mangguo.org/some-way-to-increase-backlink-improve-pagerank" target="_blank">增加反向链接以提高 PageRank 的几个方法 | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/mangguo-org-without-www/" title="没有大不留大不留大不留的芒果">没有大不留大不留大不留的芒果</a> (7)</li><li><a href="http://www.mangguo.org/google-pagerank-update-again-mangguo-feel-ill-at-ease/" title="Google PageRank 再次更新，芒果心神不宁">Google PageRank 再次更新，芒果心神不宁</a> (13)</li><li><a href="http://www.mangguo.org/6-pagerank-check-tool/" title="6 款 PageRank 值查询工具">6 款 PageRank 值查询工具</a> (2)</li><li><a href="http://www.mangguo.org/pagerank-update-mangguo-pagerank-rise-to-1/" title="PageRank 更新，芒果 PageRank 值升至 1">PageRank 更新，芒果 PageRank 值升至 1</a> (3)</li><li><a href="http://www.mangguo.org/pagerankalert-google-pagerank-detection-tool/" title="PageRankAlert，Google PageRank 监测工具">PageRankAlert，Google PageRank 监测工具</a> (1)</li><li><a href="http://www.mangguo.org/check-page-rank-pagerank-authenticity-check/" title="CheckPageRank，PageRank 真假查询">CheckPageRank，PageRank 真假查询</a> (1)</li><li><a href="http://www.mangguo.org/page-seo-check-pagerank-of-all-page/" title="Page SEO，查看所有页面的 PageRank 值">Page SEO，查看所有页面的 PageRank 值</a> (0)</li><li><a href="http://www.mangguo.org/google-pagerank-algorithm-explanation/" title="Google PageRank 算法详解">Google PageRank 算法详解</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/some-way-to-increase-backlink-improve-pagerank/">固定链接</a> |
<a href="http://www.mangguo.org/some-way-to-increase-backlink-improve-pagerank/#comments">2 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/backlink/" rel="tag">BackLink</a>, <a href="http://www.mangguo.org/tag/pagerank/" rel="tag">PageRank</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/some-way-to-increase-backlink-improve-pagerank/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PicPick，绿色小巧的屏幕截图软件</title>
		<link>http://www.mangguo.org/picpick-green-small-screen-cut-software/</link>
		<comments>http://www.mangguo.org/picpick-green-small-screen-cut-software/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 14:10:26 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[PicPick]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2913</guid>
		<description><![CDATA[还记得芒果介绍的 FastStone Capture，简单强悍的截图工具吗？一款功能强大的小工具将会使你事半功倍。
如果说 FastStone 很牛叉，那么 PicPick 就是灰常牛叉。  PicPick 提供了三大功能，即图像编辑、截取屏幕、辅助工具。
1. 图像编辑
图像编辑不但提供了类似画图工具的简单功能，而且支持剪贴板、缩放、旋转、图像效果等基本处理方式。另外，标签式操作方案更贴近 Photoshop 等软件，比较容易上手。
2. 截取屏幕
支持截取全屏、活动窗口、控件（指定区域）、矩形区域、固定区域、手绘区域，可进行重复截取、滚动截屏等操作。截取的图像允许指定保存格式，也可以指定输出方式，更甚者是直接发送到诸如 Facebook、Twitter、MS Office 办公软件的第三方应用程序。
3. 辅助工具
丰富实用的辅助工具是芒果推荐 PicPick 的一大理由。取色器、调色板、放大镜、标尺、量角器、坐标轴、白板……总之各式工具玲琅满目应有尽有。
其中，标尺需要方向键定位，这点貌似没有 FastStone 的鼠标定位方式灵活。这里推荐一下白板功能（这个白板不是麻将里的白板），让你直接在屏幕上涂鸦乱画，并且输出保存为图片。
注意：FastStone 的快捷键注册会和 PicPick 相冲突，如果喜欢习惯快捷键操作方式，请勿将这两款软件混合使用。
下载地址：Dropbox 网盘 &#124; 官方主页 &#124; 来自芒果
随机文章10 款基于 JavaScript 的 WYSIWYG 编辑器 (1)13+ 开发必备的实用 Google Chrome 扩展 (1)ThemeDreamer，可视化编辑 WordPress 主题 (0)Permalinks Migration，301 重定向固定链接 (1)Post to FriendFeed，FriendFeed 同步更新插件 (1)5 款优秀的 CSS 框架 (0)3 款 [...]]]></description>
			<content:encoded><![CDATA[<p>还记得<a href="http://www.mangguo.org" target="_blank">芒果</a>介绍的 <a href="http://www.mangguo.org/faststone-capture-simple-and-powerful-screenshot-tool/" target="_blank">FastStone Capture，简单强悍的截图工具</a>吗？一款功能强大的小工具将会使你事半功倍。</p>
<p>如果说 FastStone 很牛叉，那么 PicPick 就是灰常牛叉。  PicPick 提供了三大功能，即图像编辑、截取屏幕、辅助工具。</p>
<p><strong>1. 图像编辑</strong></p>
<p>图像编辑不但提供了类似画图工具的简单功能，而且支持剪贴板、缩放、旋转、图像效果等基本处理方式。另外，标签式操作方案更贴近 Photoshop 等软件，比较容易上手。</p>
<p><strong>2. 截取屏幕</strong></p>
<p>支持截取全屏、活动窗口、控件（指定区域）、矩形区域、固定区域、手绘区域，可进行重复截取、滚动截屏等操作。截取的图像允许指定保存格式，也可以指定输出方式，更甚者是直接发送到诸如 Facebook、Twitter、MS Office 办公软件的第三方应用程序。</p>
<p><strong>3. 辅助工具</strong></p>
<p>丰富实用的辅助工具是<a href="http://www.mangguo.org" target="_blank">芒果</a>推荐 PicPick 的一大理由。取色器、调色板、放大镜、标尺、量角器、坐标轴、白板……总之各式工具玲琅满目应有尽有。</p>
<p>其中，标尺需要方向键定位，这点貌似没有 FastStone 的鼠标定位方式灵活。这里推荐一下白板功能（这个白板不是麻将里的白板），让你直接在屏幕上涂鸦乱画，并且输出保存为图片。</p>
<p>注意：FastStone 的快捷键注册会和 PicPick 相冲突，如果喜欢习惯快捷键操作方式，请勿将这两款软件混合使用。</p>
<p><strong>下载地址：</strong><a href="http://dl.dropbox.com/u/4195848/PicPick.rar" target="_blank">Dropbox 网盘</a> | <a href="http://picpick.wiziple.net/features" target="_blank">官方主页</a> | <a href="http://www.mangguo.org" target="_blank">来自芒果</a></p>
<h3  class="related_post_title">随机文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/1tie-simple-online-notebook/" title="易贴，简易在线记事本">易贴，简易在线记事本</a> (0)</li><li><a href="http://www.mangguo.org/xiami-high-quality-music-interactive-community/" title="虾米网，高品质音乐互动社区">虾米网，高品质音乐互动社区</a> (0)</li><li><a href="http://www.mangguo.org/yui-2-dom-collection/" title="YUI 2: Dom Collection">YUI 2: Dom Collection</a> (0)</li><li><a href="http://www.mangguo.org/cool-tags-tag-cloud-color-plugin/" title="Cool Tags，标签云着色插件">Cool Tags，标签云着色插件</a> (3)</li><li><a href="http://www.mangguo.org/super-switch-forbid-wordpress-partial-function/" title="Super Switch，禁用 WordPress 部分功能">Super Switch，禁用 WordPress 部分功能</a> (0)</li><li><a href="http://www.mangguo.org/friendfeed-new-version-online-officially/" title="FriendFeed 全新版本正式上线">FriendFeed 全新版本正式上线</a> (0)</li><li><a href="http://www.mangguo.org/simplified-chinese-edition-bing-search-online/" title="简体中文版 Bing 搜索上线">简体中文版 Bing 搜索上线</a> (2)</li><li><a href="http://www.mangguo.org/10-temporary-email-service/" title="10 款临时电子邮件服务">10 款临时电子邮件服务</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/picpick-green-small-screen-cut-software/">固定链接</a> |
<a href="http://www.mangguo.org/picpick-green-small-screen-cut-software/#comments">3 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/picpick/" rel="tag">PicPick</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/picpick-green-small-screen-cut-software/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Data URI 初探及其自动化</title>
		<link>http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/</link>
		<comments>http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 12:27:40 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DataURI]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MHTML]]></category>
		<category><![CDATA[MIME]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2910</guid>
		<description><![CDATA[Data URI 方案提供了一种通过 base64 编码在网页中直接嵌入文件的方法。
浏览器支持
Mozilla Firefox/Opera/Safari/Google Chrome/Internet Explorer 8
注：IE8 对 Data URI 的支持仅限于 img 标签和 CSS 背景，且数据必须小于 32k
格式
data:[&#60;MIME-type&#62;][;charset="&#60;encoding&#62;"][;base64],&#60;data&#62;
MIME-type: 指定数据的 MIME[1] 类型
;charset="&#60;encoding&#62;": 指定数据的字符集
;base64: 指定数据的编码方案
默认编码方案由 ;base64 指定，如果缺省，数据必须使用 URL Encoding[2] 转换为有效 ASCII 格式。如果 &#60;MIME-type&#62; 缺省，默认参数为 text/plain 类型，字符集为 US-ASCII 方案。
示例
HTML:
&#60;img src="Data URI" alt="" /&#62;
CSS:
selector{background:url(Data URI);}
优势
1. 减少 HTTP 请求，节约带宽
2. 避免频繁建立 TCP 连接，加快载入速度
3. 使用 HTTPS 时，可减少开销
4. 避免浏览器并发连接数的限制
5. 防止非法的外部引用
缺陷
1. 不被单独缓存，父文件重新载入时必须重新加载
2. 内容变更时必须重新编码和嵌入
3. 缺乏 [...]]]></description>
			<content:encoded><![CDATA[<p>Data URI 方案提供了一种通过 base64 编码在网页中直接嵌入文件的方法。</p>
<p><strong>浏览器支持</strong></p>
<p>Mozilla Firefox/Opera/Safari/Google Chrome/Internet Explorer 8</p>
<p>注：IE8 对 Data URI 的支持仅限于 img 标签和 CSS 背景，且数据必须小于 32k</p>
<p><strong>格式</strong></p>
<pre>data:[&lt;MIME-type&gt;][;charset="&lt;encoding&gt;"][;base64],&lt;data&gt;</pre>
<p>MIME-type: 指定数据的 MIME<sup>[1]</sup> 类型<br />
;charset="&lt;encoding&gt;": 指定数据的字符集<br />
;base64: 指定数据的编码方案</p>
<p>默认编码方案由 ;base64 指定，如果缺省，数据必须使用 URL Encoding<sup>[2]</sup> 转换为有效 ASCII 格式。如果 &lt;MIME-type&gt; 缺省，默认参数为 text/plain 类型，字符集为 US-ASCII 方案。</p>
<p><strong>示例</strong></p>
<p>HTML:</p>
<pre>&lt;img src="Data URI" alt="" /&gt;</pre>
<p>CSS:</p>
<pre>selector{background:url(Data URI);}</pre>
<p><strong>优势</strong></p>
<p>1. 减少 HTTP 请求，节约带宽<br />
2. 避免频繁建立 TCP 连接，加快载入速度<br />
3. 使用 HTTPS 时，可减少开销<br />
4. 避免浏览器并发连接数的限制<br />
5. 防止非法的外部引用</p>
<p><strong>缺陷</strong></p>
<p>1. 不被单独缓存，父文件重新载入时必须重新加载<br />
2. 内容变更时必须重新编码和嵌入<br />
3. 缺乏 IE6 和 IE7 的支持<br />
4. IE8 限制数据大小为 32k<br />
5. base64 编码会增加 1/3 数据量</p>
<p><strong>自动化</strong></p>
<p>来自 <a href="http://www.nczonline.net" target="_blank">Nicholas C. Zakas</a> 的 <a href="http://github.com/nzakas/datauri " target="_blank">DataURI 自动化工具</a>，命令行格式：</p>
<pre>java -jar datauri-x.y.z.jar -o &lt;output filename&gt; &lt;input filename&gt;</pre>
<p><strong>兼容 IE6 &amp; IE7 </strong></p>
<p>通过 CSS Hacks 结合 MHTML<sup>[3]</sup> 方案解决 IE6 和 IE7 不支持 DataURI 的情况。</p>
<pre>/*
Content-Type: multipart/related; boundary="_"

--_
Content-Location:&lt;identifier&gt;
Content-Transfer-Encoding:base64

&lt;data&gt;
*/
selector{*background:url(mhtml:&lt;stylesheet&gt;!&lt;identifier&gt;);}</pre>
<p>_: 指定分隔符 (任意字符串)<br />
identifier: 指定内容位置标识符<br />
stylesheet: 指定样式表绝对路径</p>
<p>[1] MIME: <a href="http://zh.wikipedia.org/wiki/MIME" target="_blank">http://zh.wikipedia.org/wiki/MIME</a><br />
[2] URL Encoding: <a href="http://www.w3schools.com/TAGS/ref_urlencode.asp" target="_blank">http://www.w3schools.com/TAGS/ref_urlencode.asp</a><br />
[3] MHTML: <a href="http://en.wikipedia.org/wiki/Mhtml" target="_blank">http://en.wikipedia.org/wiki/Mhtml</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/" title="细线表格的浏览器兼容写法">细线表格的浏览器兼容写法</a> (0)</li><li><a href="http://www.mangguo.org/modularize-html-css-and-image/" title="模块化之 HTML CSS 以及图片">模块化之 HTML CSS 以及图片</a> (4)</li><li><a href="http://www.mangguo.org/web-development-and-designer-info-manual-part-one/" title="Web 开发与设计师速查手册大全（上）">Web 开发与设计师速查手册大全（上）</a> (2)</li><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li><li><a href="http://www.mangguo.org/mangguo-teach-you-clear-float/" title="芒果教你清除浮动">芒果教你清除浮动</a> (1)</li><li><a href="http://www.mangguo.org/the-basics-of-css3/" title="CSS3 基本要素概览">CSS3 基本要素概览</a> (0)</li><li><a href="http://www.mangguo.org/5-simple-but-useful-css-properties/" title="5 个简单实用的 CSS 属性">5 个简单实用的 CSS 属性</a> (5)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/">固定链接</a> |
<a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>, <a href="http://www.mangguo.org/tag/datauri/" rel="tag">DataURI</a>, <a href="http://www.mangguo.org/tag/html/" rel="tag">HTML</a>, <a href="http://www.mangguo.org/tag/mhtml/" rel="tag">MHTML</a>, <a href="http://www.mangguo.org/tag/mime/" rel="tag">MIME</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI 2: Dom Collection</title>
		<link>http://www.mangguo.org/yui-2-dom-collection/</link>
		<comments>http://www.mangguo.org/yui-2-dom-collection/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 09:08:11 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2907</guid>
		<description><![CDATA[文档对象模型集合 (Dom Collection) 由一系列简化 DOM 脚本编程任务的方法组成，包括元素定位和 CSS 样式管理，同时规范了跨浏览器的不一致性。
入门
使用 Dom Collection，需要在页面中使用 script 标签包含以下源文件：
&#60;!-- Dependencies --&#62;
&#60;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js"&#62;&#60;/script&#62;
&#60;!-- Source file --&#62;
&#60;script src="http://yui.yahooapis.com/2.8.0r4/build/dom/dom-min.js"&#62;&#60;/script&#62;
使用 Dom Collection
这部分介绍了 Dom Collection 的几种常见用途。包括以下几个小部分：
Quick Start
Positioning HTML Elements
Getting and Setting Styles
Getting the Viewport Size
Managing Class Names
快速入门
// #test: Find the element with an id of 'test' and store it in a variable
var element = YAHOO.util.Dom.get('test');

// .test: Get [...]]]></description>
			<content:encoded><![CDATA[<p>文档对象模型集合 (Dom Collection) 由一系列简化 DOM 脚本编程任务的方法组成，包括元素定位和 CSS 样式管理，同时规范了跨浏览器的不一致性。</p>
<p><strong>入门</strong></p>
<p>使用 Dom Collection，需要在页面中使用 script 标签包含以下源文件：</p>
<pre>&lt;!-- Dependencies --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js"&gt;&lt;/script&gt;
&lt;!-- Source file --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/dom/dom-min.js"&gt;&lt;/script&gt;</pre>
<p><strong>使用 Dom Collection</strong></p>
<p>这部分介绍了 Dom Collection 的几种常见用途。包括以下几个小部分：</p>
<p><a href="#quickstart">Quick Start</a><br />
<a href="#position">Positioning HTML Elements</a><br />
<a href="#styles">Getting and Setting Styles</a><br />
<a href="#viewport">Getting the Viewport Size</a><br />
<a href="#class">Managing Class Names</a></p>
<p><strong id="quickstart">快速入门</strong></p>
<pre>// #test: Find the element with an id of 'test' and store it in a variable
var element = YAHOO.util.Dom.get('test');

// .test: Get all elements with class 'test' (will be an array if there's more than one)
var elements = YAHOO.util.Dom.getElementsByClassName('test');

// div.test: Get all divs with class 'test'
var elements = YAHOO.util.Dom.getElementsByClassName('test', 'div');

// Get the first element with class 'test'
var element = YAHOO.util.Dom.getElementsByClassName('test'))[0];

// p: Get all p elements with the native DOM method getElementsByTagName
var elements = document.getElementsByTagName('p');

// Get the first p element
var element = document.getElementsByTagName('p'))[0];</pre>
<p><strong id="position">定位 HTML 元素</strong></p>
<p>由于不知道 HTML 元素在文档中的定位原理，获得元素在当前页面中的坐标可能比较困难。Dom Collection 提供的定位方法 (setXY(), getXY(), setX(), 等等) 可以确保准确定位。页面坐标被定义在整个 HTML 文档环境中，包括浏览器边框的一部分。</p>
<p>在以下示例中，getXY 方法返回一个带有 "test" 元素坐标值的数组。setXY 方法接受来自 HTML 元素 "test" 的坐标值，并将其应用到 "target" 元素上。</p>
<pre>var pos = YAHOO.util.Dom.getXY('test');
YAHOO.util.Dom.setXY('target', pos);</pre>
<p><strong id="styles">获取和设置样式</strong></p>
<p>getStyle 方法允许你检索给定元素样式对象的属性；setStyle 方法允许你设置元素样式对象的属性。在 CSS 中，由于浏览器的差异性，opacity (不透明度) 属性应用方式繁多，setStyle 和 getStyle 方法则规范化了 opacity 属性。注：CSS opacity 属性不支持 Opera 9 之前的版本。</p>
<p>以下示例中，setStyle 方法设置了 "test" 和 "test2" 元素的 opacity 属性值为 0.5 (即不透明度为 50%；不透明度的值被定义在 0 到 1 的范围内)。getStyle 方法返回 "test2" 元素的当前 opacity 属性值。</p>
<pre>YAHOO.util.Dom.setStyle(['test', 'test2'], 'opacity', 0.5);
var opacity = YAHOO.util.Dom.getStyle('test2', 'opacity');</pre>
<p>请注意，上面的示例还演示了如何在一次调用中将 Dom Collection 方法应用到多个元素。</p>
<p><strong id="viewport">获取可视区域大小</strong></p>
<p>可视区域 (Viewport) 被定义为当前可见文档区域的宽度和高度，与文档的绝对尺寸无关。由于浏览器和渲染模式的差异，获取当前可视区域大小可能有些困难。getViewportWidth 和 getViewportHeight 方法则能确保准确测量可视区域大小。</p>
<p>以下示例创建一个名为 viewport 的数组，并赋值当前可视区域的尺寸。</p>
<pre>var viewport = [
   YAHOO.util.Dom.getViewportWidth(),
   YAHOO.util.Dom.getViewportHeight()
];</pre>
<p><strong id="class">管理类名</strong></p>
<p>Dom Collection 提供了一些动态管理 CSS 类名的方法。</p>
<p>其中包括：</p>
<p>getElementsByClassName(className, tagName, rootNode): 返回一个给定类名的元素数组。可以选择标签名和/或根节点参数控制选择范围，以提高性能。<br />
hasClass(element, className): 确定某元素是否具有给定类名。<br />
addClass(element, className): 为元素附加给定类名。<br />
removeClass(element, className): 从元素中移除给定类名。<br />
replaceClass(element, oldClassName, newClassName): 将给定元素的一个类名替换为另一个类名。</p>
<p>以下示例返回一个带有 "test" 类名的 div 元素数组：</p>
<pre>var elements = YAHOO.util.Dom.getElementsByClassName('test', 'div');</pre>
<p>英文原稿：<a href="http://developer.yahoo.com/yui/dom" target="_blank">YUI 2: Dom Collection | Yahoo! Developer Network</a><br />
翻译整理：<a href="http://developer.yahoo.com/yui/dom" target="_blank">YUI 2: Dom Collection | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/yui-2-event-utility/" title="YUI 2: Event Utility">YUI 2: Event Utility</a> (0)</li><li><a href="http://www.mangguo.org/yui-2-yahoo-global-object/" title="YUI 2: YAHOO Global Object">YUI 2: YAHOO Global Object</a> (0)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/javascript-anonymous-function-code-pattern/" title="JavaScript 匿名函数代码模式">JavaScript 匿名函数代码模式</a> (0)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li><li><a href="http://www.mangguo.org/yuicompressor-powerful-js-css-code-compressor/" title="YUICompressor，强大的前端代码压缩工具">YUICompressor，强大的前端代码压缩工具</a> (1)</li><li><a href="http://www.mangguo.org/use-js-file-call-google-adsense-ad/" title="使用 JS 文件调用 Google AdSense 广告">使用 JS 文件调用 Google AdSense 广告</a> (2)</li><li><a href="http://www.mangguo.org/10-wysiwyg-editor-base-on-javascript/" title="10 款基于 JavaScript 的 WYSIWYG 编辑器">10 款基于 JavaScript 的 WYSIWYG 编辑器</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/yui-2-dom-collection/">固定链接</a> |
<a href="http://www.mangguo.org/yui-2-dom-collection/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://www.mangguo.org/tag/yui/" rel="tag">YUI</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/yui-2-dom-collection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP-tsina，新浪微博同步插件</title>
		<link>http://www.mangguo.org/wp-tsina-sina-micro-blog-sync-plugin/</link>
		<comments>http://www.mangguo.org/wp-tsina-sina-micro-blog-sync-plugin/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 11:17:39 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[插件]]></category>
		<category><![CDATA[Micro-Blogging]]></category>
		<category><![CDATA[Sina]]></category>
		<category><![CDATA[WP-tsina]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2901</guid>
		<description><![CDATA[针对 Twitter 的博客 RSS 同步，可以参考使用芒果之前介绍的 TwitterFeed，Twitter 同步更新服务。
虽然新浪微博上虚假帐号如雨后春笋般层出不穷，但芒果在此表示影响不大。
插件介绍：
WP-tsina是一个专为新浪微博用户开发的，可以将新发布的文章主动同步到新浪微博。后续功能将实现可在 WordPress 中对微博的管理。安装后，请设置好新浪微博的用户名和密码，以实现自动同步。
插件安装：
上传 WP-tsina 到你的 WordPress，激活，然后填写并保存新浪微博的用户名密码。（需要 WordPress 主机 PHP 配置支持 curl）
注：检测空间是否支持 curl 可以使用牛叉的 phpinfo() 函数。
由于芒果没能够抢注到 mangguo 这个帐号，不能不说是个遗憾。不过没关系，咱还有 Twitter 嘛！
插件主页：http://wordpress.org/extend/plugins/wp-tsina
下载地址：http://downloads.wordpress.org/plugin/wp-tsina.zip
相关文章Laconica，开源的微博客程序 (4)嘀咕，又一个微博客 (0)
© 2010 芒果 版权所有 &#124;
固定链接 &#124;
3 条评论 &#124;
标签 Micro-Blogging, Sina, WP-tsina]]></description>
			<content:encoded><![CDATA[<p>针对 Twitter 的博客 RSS 同步，可以参考使用芒果之前介绍的 <a href="http://www.mangguo.org/twitterfeed-twitter-synchronism-update-service/" target="_blank">TwitterFeed，Twitter 同步更新服务</a>。</p>
<p>虽然新浪微博上虚假帐号如雨后春笋般层出不穷，但<a href="http://www.mangguo.org" target="_blank">芒果</a>在此表示影响不大。</p>
<p>插件介绍：</p>
<p>WP-tsina是一个专为新浪微博用户开发的，可以将新发布的文章主动同步到新浪微博。后续功能将实现可在 WordPress 中对微博的管理。安装后，请设置好新浪微博的用户名和密码，以实现自动同步。</p>
<p>插件安装：</p>
<p>上传 WP-tsina 到你的 WordPress，激活，然后填写并保存新浪微博的用户名密码。（需要 WordPress 主机 PHP 配置支持 curl）</p>
<p>注：检测空间是否支持 curl 可以使用牛叉的 phpinfo() 函数。</p>
<p>由于芒果没能够抢注到 mangguo 这个帐号，不能不说是个遗憾。不过没关系，咱还有 Twitter 嘛！</p>
<p>插件主页：<a href="http://wordpress.org/extend/plugins/wp-tsina" target="_blank">http://wordpress.org/extend/plugins/wp-tsina</a><br />
下载地址：<a href="http://downloads.wordpress.org/plugin/wp-tsina.zip" target="_blank">http://downloads.wordpress.org/plugin/wp-tsina.zip</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/laconica-open-source-micro-blogging-application/" title="Laconica，开源的微博客程序">Laconica，开源的微博客程序</a> (4)</li><li><a href="http://www.mangguo.org/digu-another-microblog/" title="嘀咕，又一个微博客">嘀咕，又一个微博客</a> (0)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/wp-tsina-sina-micro-blog-sync-plugin/">固定链接</a> |
<a href="http://www.mangguo.org/wp-tsina-sina-micro-blog-sync-plugin/#comments">3 条评论</a> |
标签 <a href="http://www.mangguo.org/tag/micro-blogging/" rel="tag">Micro-Blogging</a>, <a href="http://www.mangguo.org/tag/sina/" rel="tag">Sina</a>, <a href="http://www.mangguo.org/tag/wp-tsina/" rel="tag">WP-tsina</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/wp-tsina-sina-micro-blog-sync-plugin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>细线表格的浏览器兼容写法</title>
		<link>http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/</link>
		<comments>http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 10:50:19 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2899</guid>
		<description><![CDATA[细线表格如果单纯设置边框，很难保证浏览器兼容。常见的做法是利用 CSS2 的 "border-collapse:collapse;" 属性合并表格边框；并对 table 元素设置左边框和上边框，对 th 和 td 元素设置右边框和下边框。
Markup:
&#60;table&#62;
    &#60;tr&#62;
        &#60;th&#62;table head (row1, col1)&#60;/th&#62;
        &#60;th&#62;table head (row1, col2)&#60;/th&#62;
        &#60;th&#62;table head (row1, col3)&#60;/th&#62;
    &#60;/tr&#62;
    &#60;tr&#62;
        &#60;td&#62;table data (row1, col1)&#60;/td&#62;
        &#60;td&#62;table data (row1, col2)&#60;/td&#62;
        &#60;td&#62;table data (row1, col3)&#60;/td&#62;
    &#60;/tr&#62;
    &#60;tr&#62;
        &#60;td&#62;table data (row2, col1)&#60;/td&#62;
        &#60;td&#62;table data (row2, col2)&#60;/td&#62;
        &#60;td&#62;table data (row2, col3)&#60;/td&#62;
    &#60;/tr&#62;
&#60;/table&#62;
CSS:
table{border-collapse:collapse;border-spacing:0;border-left:1px solid #888;border-top:1px [...]]]></description>
			<content:encoded><![CDATA[<p>细线表格如果单纯设置边框，很难保证浏览器兼容。常见的做法是利用 CSS2 的 "border-collapse:collapse;" 属性合并表格边框；并对 table 元素设置左边框和上边框，对 th 和 td 元素设置右边框和下边框。</p>
<p>Markup:</p>
<pre>&lt;table&gt;
    &lt;tr&gt;
        &lt;th&gt;table head (row1, col1)&lt;/th&gt;
        &lt;th&gt;table head (row1, col2)&lt;/th&gt;
        &lt;th&gt;table head (row1, col3)&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;table data (row1, col1)&lt;/td&gt;
        &lt;td&gt;table data (row1, col2)&lt;/td&gt;
        &lt;td&gt;table data (row1, col3)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;table data (row2, col1)&lt;/td&gt;
        &lt;td&gt;table data (row2, col2)&lt;/td&gt;
        &lt;td&gt;table data (row2, col3)&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;</pre>
<p>CSS:</p>
<pre>table{border-collapse:collapse;border-spacing:0;border-left:1px solid #888;border-top:1px solid #888;background:#efefef;}
th,td{border-right:1px solid #888;border-bottom:1px solid #888;padding:5px 15px;}
th{font-weight:bold;background:#ccc;}</pre>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/data-uri-preliminary-exploration-and-automation/" title="Data URI 初探及其自动化">Data URI 初探及其自动化</a> (0)</li><li><a href="http://www.mangguo.org/modularize-html-css-and-image/" title="模块化之 HTML CSS 以及图片">模块化之 HTML CSS 以及图片</a> (4)</li><li><a href="http://www.mangguo.org/web-development-and-designer-info-manual-part-one/" title="Web 开发与设计师速查手册大全（上）">Web 开发与设计师速查手册大全（上）</a> (2)</li><li><a href="http://www.mangguo.org/css3-please-instant-result/" title="CSS3 Please! CSS3 即时预览体验">CSS3 Please! CSS3 即时预览体验</a> (0)</li><li><a href="http://www.mangguo.org/mangguo-teach-you-clear-float/" title="芒果教你清除浮动">芒果教你清除浮动</a> (1)</li><li><a href="http://www.mangguo.org/the-basics-of-css3/" title="CSS3 基本要素概览">CSS3 基本要素概览</a> (0)</li><li><a href="http://www.mangguo.org/5-simple-but-useful-css-properties/" title="5 个简单实用的 CSS 属性">5 个简单实用的 CSS 属性</a> (5)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/">固定链接</a> |
<a href="http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/css/" rel="tag">CSS</a>, <a href="http://www.mangguo.org/tag/html/" rel="tag">HTML</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/thin-border-table-browser-compatible-writing-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI 2: YAHOO Global Object</title>
		<link>http://www.mangguo.org/yui-2-yahoo-global-object/</link>
		<comments>http://www.mangguo.org/yui-2-yahoo-global-object/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 10:45:12 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2893</guid>
		<description><![CDATA[YAHOO 全局对象 (YAHOO Global Object) 提供了一个单独的、被所有 YUI 框架代码所依赖的全局命名空间。每个使用 YUI 框架的页面必须包含它，并且必须在任何 YUI 组件出现之前被包含。
YAHOO 全局对象也包含了一些贯穿整个框架的方法。
入门
YAHOO 全局对象必须在任何 YUI 脚本文件载入之前被包含。
&#60;!-- YAHOO Global Object source file --&#62;
&#60;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js"&#62;&#60;/script&#62;
&#60;!-- Additional source files go here --&#62;
使用 YAHOO 对象的 Utility 方法
YAHOO.namespace
YAHOO.lang
YAHOO.lang.hasOwnProperty
YAHOO.lang.extend
YAHOO.lang.augment
YAHOO.log
YAHOO_config and YAHOO.env
YUI Module Names
YAHOO.namespace
YAHOO 对象自动创建了 YAHOO.util, YAHOO.widget, YAHOO.env, YAHOO.tool 和 YAHOO.example 五个命名空间。这些命名空间是为 YUI 框架本身所保留的。附加的命名空间用于创建基于 YUI 框架的自定义应用程序架构。
// Creates a namespace for "myproduct1"
YAHOO.namespace("myproduct1");
YAHOO.myproduct1.Class1 = function(info) [...]]]></description>
			<content:encoded><![CDATA[<p>YAHOO 全局对象 (YAHOO Global Object) 提供了一个单独的、被所有 YUI 框架代码所依赖的全局命名空间。每个使用 YUI 框架的页面必须包含它，并且必须在任何 YUI 组件出现之前被包含。</p>
<p>YAHOO 全局对象也包含了一些贯穿整个框架的方法。</p>
<p><strong>入门</strong></p>
<p>YAHOO 全局对象必须在任何 YUI 脚本文件载入之前被包含。</p>
<pre>&lt;!-- YAHOO Global Object source file --&gt;
&lt;script src="http://yui.yahooapis.com/2.8.0r4/build/yahoo/yahoo-min.js"&gt;&lt;/script&gt;
&lt;!-- Additional source files go here --&gt;</pre>
<p><strong>使用 YAHOO 对象的 Utility 方法</strong></p>
<p><a href="#namespace">YAHOO.namespace</a><br />
<a href="#lang">YAHOO.lang</a><br />
<a href="#hasOwnProperty">YAHOO.lang.hasOwnProperty</a><br />
<a href="#extend">YAHOO.lang.extend</a><br />
<a href="#augment">YAHOO.lang.augment</a><br />
<a href="#log">YAHOO.log</a><br />
<a href="#config">YAHOO_config and YAHOO.env</a><br />
<a href="#modulenames">YUI Module Names</a></p>
<p><strong>YAHOO.namespace</strong></p>
<p>YAHOO 对象自动创建了 YAHOO.util, YAHOO.widget, YAHOO.env, YAHOO.tool 和 YAHOO.example 五个命名空间。这些命名空间是为 YUI 框架本身所保留的。附加的命名空间用于创建基于 YUI 框架的自定义应用程序架构。</p>
<pre>// Creates a namespace for "myproduct1"
YAHOO.namespace("myproduct1");
YAHOO.myproduct1.Class1 = function(info) {
    alert(info);
};

// Creates a namespace for "myproduct2", and for "mysubproject1"
YAHOO.namespace("myproduct2.mysubproject1");
YAHOO.myproduct2.mysubproject1.Class1 = function(info) {
    alert(info);
};</pre>
<p><strong>YAHOO.lang</strong></p>
<p>YAHOO.lang 包含了 YUI 框架中所使用的 JavaScript 语言工具和扩展。</p>
<pre>// true, an array literal is an array
YAHOO.lang.isArray([1, 2]);

// false, an object literal is not an array
YAHOO.lang.isArray({"one": "two"});

// however, when declared as an array, it is true
function() {
    var a = new Array();
    a["one"] = "two";
    return YAHOO.lang.isArray(a);
}();

// false, a collection of elements is like an array, but isn't
YAHOO.lang.isArray(document.getElementsByTagName("body"));

// true, false is a boolean
YAHOO.lang.isBoolean(false);

// false, 1 and the string "true" are not booleans
YAHOO.lang.isBoolean(1);
YAHOO.lang.isBoolean("true");

// null is null, but false, undefined and "" are not
YAHOO.lang.isNull(null); // true
YAHOO.lang.isNull(undefined); // false
YAHOO.lang.isNull(""); // false

// a function is a function, but an object is not
YAHOO.lang.isFunction(function(){}); // true
YAHOO.lang.isFunction({foo: "bar"}); // false

// true, ints and floats are numbers
YAHOO.lang.isNumber(0);
YAHOO.lang.isNumber(123.123);

// false, strings that can be cast to numbers aren't really numbers
YAHOO.lang.isNumber("123.123");

// false, undefined numbers and infinity are not numbers we want to use
YAHOO.lang.isNumber(1/0);

// true, objects, functions, and arrays are objects
YAHOO.lang.isObject({});
YAHOO.lang.isObject(function(){});
YAHOO.lang.isObject([1,2]);

// false, primitives are not objects
YAHOO.lang.isObject(1);
YAHOO.lang.isObject(true);
YAHOO.lang.isObject("{}");

// strings
YAHOO.lang.isString("{}"); // true
YAHOO.lang.isString({foo: "bar"}); // false
YAHOO.lang.isString(123); // false
YAHOO.lang.isString(true); // false

// undefined is undefined, but null and false are not
YAHOO.lang.isUndefined(undefined); // true
YAHOO.lang.isUndefined(false); // false
YAHOO.lang.isUndefined(null); // false</pre>
<p><strong>YAHOO.lang.hasOwnProperty</strong></p>
<p>当遍历一个作为哈希表的对象时，YAHOO.lang.hasOwnProperty 用于过滤直接添加到对象原型上的属性。除 Safari 以外，该功能在所有 A 级浏览器中都得到了原生支持。由于 YUI 中所有的 hasOwnProperty 方法都具有一定的预见性，因此推荐使用它。如果本地浏览器支持原生方法，则 YAHOO.lang.hasOwnProperty 会优先调用。</p>
<pre>// this is what we are protecting against
Object.prototype.myCustomFunction = function(x) {
    alert(x);
}

var o = {};
o["foo"] = "bar";
o["marco"] = "polo";

// this is where we need the protection
for (var i in o) {
    if (YAHOO.lang.hasOwnProperty(o, i)) {
        alert("good key: " + i);
    } else {
        alert("bad key: " + i);
    }
}</pre>
<p><strong>YAHOO.lang.extend</strong></p>
<p>YAHOO.lang.extend 为建立继承对象的原型、构造、超类 (superclass) 属性，提供了一个简单的机制。能防止继承对象的构造方法 (例如，超类) 被执行两次。在 YUI 2.8.0r4 版本中，YAHOO.lang.extend 已被迁移至 YAHOO.lang 包。YAHOO.extend 是不建议使用的 YAHOO.lang.extend 别名。</p>
<pre>YAHOO.namespace("test");

YAHOO.test.Class1 = function(info) {
    alert("Class1: " + info);
};

YAHOO.test.Class1.prototype.testMethod = function(info) {
    alert("Class1: " + info);
};

YAHOO.test.Class2 = function(info) {
    // chain the constructors
    YAHOO.test.Class2.superclass.constructor.call(this, info);
    alert("Class2: " + info);
};

// Class2 extends Class1.  Must be done immediately after the Class2 constructor
YAHOO.lang.extend(YAHOO.test.Class2, YAHOO.test.Class1);

YAHOO.test.Class2.prototype.testMethod = function(info) {
    // chain the method
    YAHOO.test.Class2.superclass.testMethod.call(this, info);
    alert("Class2: " + info);
};

var class2Instance = new YAHOO.test.Class2("constructor executed");
class2Instance.testMethod("testMethod invoked");</pre>
<p><strong>YAHOO.lang.augment</strong></p>
<p>YAHOO.lang.augment 提供了将一个对象的原型属性应用到另一个对象的代码重用方法。YAHOO.augment 是不建议使用的 YAHOO.lang.augment 别名。</p>
<pre>&lt;!-- debugger output for environments without "console" --&gt;
&lt;div id="consoleelement"&gt;&amp;nbsp;&lt;/div&gt;</pre>
<pre>////////////////////////////////////////////////////////////////////////////
// The ConsoleProvider example will log to the console if available, or a
// div with id="consoleelement" if the console is not available
////////////////////////////////////////////////////////////////////////////
YAHOO.example.ConsoleProvider = function() { };
YAHOO.example.ConsoleProvider.prototype = {
    log: function(msg) {
        // use the error console if available (FF+FireBug or Safari)
        if (typeof console != "undefined") {
            console.log(msg);
        // write the msg to a well-known div element
        } else {
            var el = document.getElementById("consoleelement");
            if (el) {
                el.innerHTML += "

" + msg + "

";
            }
        }
    }
};

////////////////////////////////////////////////////////////////////////////
// Define a class that should be able to write debug messages
////////////////////////////////////////////////////////////////////////////
YAHOO.example.ClassWithLogging = function() { };
YAHOO.lang.augment(YAHOO.example.ClassWithLogging, YAHOO.example.ConsoleProvider);

////////////////////////////////////////////////////////////////////////////
// Try it out
////////////////////////////////////////////////////////////////////////////
var c = new YAHOO.example.ClassWithLogging();
c.log("worked");</pre>
<p><strong>YAHOO.log</strong></p>
<p>YAHOO.log 包含在 Yahoo 全局对象中，即便 YUI 日志记录组件 (YUI Logger Control) 未载入页面，也能确保日志代码可以在任何 YUI 代码环境中被包含。当你从项目移除调试组件时，这可以防止出现错误。如果日志记录组件可用，YAHOO.log 执行 YAHOO.widget.Logger.log 方法；否则不做任何事情。查看<a href="http://developer.yahoo.com/yui/logger/" target="_blank">日志记录组件文档</a>以获得更多信息。</p>
<pre>YAHOO.namespace("test");

YAHOO.test.Class1 = function(info) {
    YAHOO.log("Class1: " + info, "error", "Class1");
};</pre>
<p><strong>YAHOO_config and YAHOO.env</strong></p>
<p>YAHOO.env 包含了浏览器环境信息。尤其包含了已经在网页上加载的所有 YUI 组件信息。该数据可以被任何使用 YAHOO.env.getVersion 的组件访问，对于那些动态加载的 YUI 环境非常有用。</p>
<p>你可以在 YAHOO_config 中定义一个回调函数，每次当一个新的 YUI 模块被植入页面时，回调函数即刻执行。完美替代采用轮询技术载入 YUI 组件的方法。被定义为 YAHOO_config.listener 的回调方法，将获得包含以下信息的对象参数：</p>
<table>
<tbody>
<tr>
<th>property</th>
<th>type</th>
<th>description</th>
</tr>
<tr class="odd">
<td><code>name</code></td>
<td>string</td>
<td>The name of the YUI component that has just loaded. The name is an arbitrary string corresponding to a YUI component. Current YUI component names can be found <a href="#modulenames">in the YUI Module Names section below</a>.</td>
</tr>
<tr>
<td><code>version</code></td>
<td>string</td>
<td>The version in use (e.g., "2.8.0r4").</td>
</tr>
<tr class="odd">
<td><code>build</code></td>
<td>number</td>
<td>The build number of the current version. This is a continuously incremented integer that will grow larger with each version of the library.</td>
</tr>
<tr>
<td><code>versions</code></td>
<td>array</td>
<td>An array containing the string version information for all versions of this component that have been registered during the current page session. This can help identify issues that were the result of multiple versions of a module on the page.</td>
</tr>
<tr class="odd">
<td><code>builds</code></td>
<td>array</td>
<td>An array containing the numeric build information for all versions of this component that have been registered during the current page session.</td>
</tr>
<tr>
<td><code>mainClass</code></td>
<td>object</td>
<td>The principal object/class for the registered component. This object will have been stamped with its current version and build information. If <code>mainClass.VERSION != version</code> or <code>mainClass.BUILD != build</code>, multiple versions of pieces of the library have been loaded, potentially causing issues.</td>
</tr>
</tbody>
</table>
<p><strong>YUI Module Names</strong></p>
<p>每个 YUI 组件都有一个相应的模块名称，在 YUI 代码中作为唯一标识符来使用。例如，Event Utility (事件工具包) 被称为 "event"。YAHOO 全局对象和其他组件 (如 YUILoader 工具包) 都使用了这些独一无二的模块名称。以下是 YUI 框架的所有模块名称。</p>
<table>
<thead>
<tr>
<th>YUI Component</th>
<th>Module Name</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://developer.yahoo.com/yui/animation/">Animation Utility</a></td>
<td>animation</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/autocomplete/">AutoComplete Control</a></td>
<td>autocomplete</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/base/">Base CSS Style Foundation</a></td>
<td>base</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/button/">Button Control</a></td>
<td>button</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/calendar/">Calendar Control</a></td>
<td>calendar</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/carousel/">Carousel Control</a></td>
<td>carousel</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/charts/">Charts Control</a></td>
<td>charts</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/colorpicker/">Color Picker Control</a></td>
<td>colorpicker</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/connection/">Connection Manager</a></td>
<td>connection</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/cookie/">Cookie Utility</a></td>
<td>cookie</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/container/">Container Family Core (Module, Overlay)</a></td>
<td>containercore</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/container/">Container Family (Module, Overlay Panel, Tooltip, Dialog, SimpleDialog)</a></td>
<td>container</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/datasource/">DataSource Utility</a></td>
<td>datasource</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/datatable/">DataTable Control</a></td>
<td>datatable</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/dom/">Dom Collection</a></td>
<td>dom</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/dragdrop/">Drag &amp; Drop Utility</a></td>
<td>dragdrop</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/editor/">Rich Text Editor</a></td>
<td>editor</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/element/">Element Utility</a></td>
<td>element</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/event/">Event Utility</a></td>
<td>event</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/fonts/">Fonts CSS</a></td>
<td>fonts</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/get/">Get Utility</a></td>
<td>get</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/grids/">Grids CSS Kit</a></td>
<td>grids</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/history/">Browser History Manager</a></td>
<td>history</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/imageloader/">ImageLoader Utility</a></td>
<td>imageloader</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/imagecropper/">ImageCropper Control</a></td>
<td>imagecropper</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/json/">JSON Utility</a></td>
<td>json</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/layout/">Layout Manager</a></td>
<td>layout</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/logger/">Logger Control</a></td>
<td>logger</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/menu/">Menu Control</a></td>
<td>menu</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/paginator/">Paginator</a></td>
<td>paginator</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/profiler/">Profiler</a></td>
<td>profiler</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/profilerviewer/">ProfilerViewer Control</a></td>
<td>profilerviewer</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/progressbar/">ProgressBar Control</a></td>
<td>progressbar</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/resize/">Resize Utility</a></td>
<td>resize</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/reset/">Reset CSS</a></td>
<td>reset</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/selector/">Selector Utility</a></td>
<td>selector</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/editor/">Simple Editor</a></td>
<td>simpleeditor</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/slider/">Slider Control</a></td>
<td>slider</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/storage/">Storage Utility</a></td>
<td>storage</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/swf/">Swf Utility</a></td>
<td>swf</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/swf/">SwfDetect Utility</a></td>
<td>swfdetect</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/swfstore/">SwfStore Utility</a></td>
<td>swfstore</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/stylesheet/">StyleSheet Utility</a></td>
<td>stylesheet</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/tabview/">TabView Control</a></td>
<td>tabview</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/treeview/">TreeView Control</a></td>
<td>treeview</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/uploader/">Uploader Control</a></td>
<td>uploader</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/yahoo/">YAHOO Global Object</a></td>
<td>yahoo</td>
</tr>
<tr class="odd">
<td><a href="http://developer.yahoo.com/yui/yuiloader/">YUI Loader Utility</a></td>
<td>yuiloader</td>
</tr>
<tr>
<td><a href="http://developer.yahoo.com/yui/yuitest/">YUI Test</a></td>
<td>yuitest</td>
</tr>
</tbody>
</table>
<p>在以下扩展代码示例中，YAHOO_config 对象被用于在 YUI 组件加载时注册一个事件监听：</p>
<pre>&lt;html&gt;
&lt;head&gt;
&lt;script type="text/javascript"&gt;

// will be called each time a module is loaded
function mycallback(info) {

    // see the table in the documentation above for
	// the contents of the info object passed in here
	// as your argument. 

    alert(info.name + " loaded");

    // once the logger is on the page we can get to work
    if (info.name == "logger") {
        YAHOO.widget.Logger.enableBrowserConsole()
        var l = new YAHOO.widget.LogWriter("(");

        YAHOO.example.EnvTest = function() {
            function log(msg,cat) {
                var c=c||"info";
                YAHOO.log(msg,c,"LangTest");
            }

            return {
                init: function() {
                    new YAHOO.widget.LogReader("logoutput");
                    log("init");
                },

                showInfo: function(e, module){
                    // YAHOO.env.getVersion returns the same data
                    // object that YAHOO_config.listener receives
                    var info = YAHOO.env.getVersion(module);

                    log("name: " + info.name);
                    log("version: " + info.version);
                    log("build: " + info.build);
                    log("versions: " + info.versions);
                    log("builds: " + info.builds);
                    log("mainClass version: " + info.mainClass.VERSION);
                }
            };
        } ();

        YAHOO.util.Event.addListener(window, "load", YAHOO.example.EnvTest.init);
        YAHOO.util.Event.addListener("showeventbutton", "click", YAHOO.example.EnvTest.showInfo, "event");
    }
}

YAHOO_config = {
    listener: mycallback
};

&lt;/script&gt;
&lt;script src = "../src/js/YAHOO.js" &gt;&lt;/script&gt;
&lt;script src = "../../build/event/event.js" &gt;&lt;/script&gt;
&lt;script src = "../../build/dom/dom.js" &gt;&lt;/script&gt;
&lt;script src = "../../build/dragdrop/dragdrop.js" &gt;&lt;/script&gt;
&lt;script src = "../../build/logger/logger.js" &gt;&lt;/script&gt;
&lt;link rel="stylesheet" type="text/css" href="../../build/logger/assets/logger.css"&gt;
&lt;style&gt; #logoutput {float: right}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type="button" id="showeventbutton" value="show event version" /&gt;
&lt;div id="logoutput"&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>英文原稿：<a href="http://developer.yahoo.com/yui/yahoo" target="_blank">YUI 2: YAHOO Global Object | Yahoo! Developer Network</a><br />
翻译整理：<a href="http://www.mangguo.org/yui-2-yahoo-global-object">YUI 2: YAHOO Global Object | 芒果</a></p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/yui-2-event-utility/" title="YUI 2: Event Utility">YUI 2: Event Utility</a> (0)</li><li><a href="http://www.mangguo.org/yui-2-dom-collection/" title="YUI 2: Dom Collection">YUI 2: Dom Collection</a> (0)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/javascript-anonymous-function-code-pattern/" title="JavaScript 匿名函数代码模式">JavaScript 匿名函数代码模式</a> (0)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li><li><a href="http://www.mangguo.org/yuicompressor-powerful-js-css-code-compressor/" title="YUICompressor，强大的前端代码压缩工具">YUICompressor，强大的前端代码压缩工具</a> (1)</li><li><a href="http://www.mangguo.org/use-js-file-call-google-adsense-ad/" title="使用 JS 文件调用 Google AdSense 广告">使用 JS 文件调用 Google AdSense 广告</a> (2)</li><li><a href="http://www.mangguo.org/10-wysiwyg-editor-base-on-javascript/" title="10 款基于 JavaScript 的 WYSIWYG 编辑器">10 款基于 JavaScript 的 WYSIWYG 编辑器</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/yui-2-yahoo-global-object/">固定链接</a> |
<a href="http://www.mangguo.org/yui-2-yahoo-global-object/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://www.mangguo.org/tag/yui/" rel="tag">YUI</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/yui-2-yahoo-global-object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript 匿名函数代码模式</title>
		<link>http://www.mangguo.org/javascript-anonymous-function-code-pattern/</link>
		<comments>http://www.mangguo.org/javascript-anonymous-function-code-pattern/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 04:57:06 +0000</pubDate>
		<dc:creator>芒果</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.mangguo.org/?p=2888</guid>
		<description><![CDATA[匿名函数可以有效控制变量作用域，构造闭包 (Closure)，防止对全局变量造成污染。在 JavaScript 中，编写匿名函数，有以下几种方法：
错误模式：语法错误警告
function(){
// insert code here
}();
模式一：函数字面量 (Function Literal)
先声明函数对象，然后执行。
(function(){
// insert code here
})();
模式二：优先表达式 (Prior Expression)
由于 JavaScript 按照从内到外的顺序执行表达式，因此使用括号来强制执行已声明的函数。
(function(){
// insert code here
}());
模式三：Void 操作符 (Void Operator)
使用 Void 操作符执行一个单独的操作数。
void function(){
// insert code here
}();
从技术上讲，这三种代码模式是等价的。但在实际应用中，例如 YUI、jQuery 等框架，模式一更被广泛使用。
相关文章YUI 2: Event Utility (0)使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟 (0)YUI 2: Dom Collection (0)YUI 2: YAHOO Global Object (0)Closure Compiler，压缩！还是压缩！ (5)YUICompressor，强大的前端代码压缩工具 (1)使用 JS [...]]]></description>
			<content:encoded><![CDATA[<p>匿名函数可以有效控制变量作用域，构造闭包 (Closure)，防止对全局变量造成污染。在 JavaScript 中，编写匿名函数，有以下几种方法：</p>
<p>错误模式：语法错误警告</p>
<pre>function(){
// insert code here
}();</pre>
<p>模式一：函数字面量 (Function Literal)</p>
<p>先声明函数对象，然后执行。</p>
<pre>(function(){
// insert code here
})();</pre>
<p>模式二：优先表达式 (Prior Expression)</p>
<p>由于 JavaScript 按照从内到外的顺序执行表达式，因此使用括号来强制执行已声明的函数。</p>
<pre>(function(){
// insert code here
}());</pre>
<p>模式三：Void 操作符 (Void Operator)</p>
<p>使用 Void 操作符执行一个单独的操作数。</p>
<pre>void function(){
// insert code here
}();</pre>
<p>从技术上讲，这三种代码模式是等价的。但在实际应用中，例如 YUI、jQuery 等框架，模式一更被广泛使用。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://www.mangguo.org/yui-2-event-utility/" title="YUI 2: Event Utility">YUI 2: Event Utility</a> (0)</li><li><a href="http://www.mangguo.org/pure-html-clocks-using-javascript-css-rotation/" title="使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟">使用 JavaScript 和 CSS Rotation 的纯 HTML 时钟</a> (0)</li><li><a href="http://www.mangguo.org/yui-2-dom-collection/" title="YUI 2: Dom Collection">YUI 2: Dom Collection</a> (0)</li><li><a href="http://www.mangguo.org/yui-2-yahoo-global-object/" title="YUI 2: YAHOO Global Object">YUI 2: YAHOO Global Object</a> (0)</li><li><a href="http://www.mangguo.org/closure-compiler-compression-still-compression/" title="Closure Compiler，压缩！还是压缩！">Closure Compiler，压缩！还是压缩！</a> (5)</li><li><a href="http://www.mangguo.org/yuicompressor-powerful-js-css-code-compressor/" title="YUICompressor，强大的前端代码压缩工具">YUICompressor，强大的前端代码压缩工具</a> (1)</li><li><a href="http://www.mangguo.org/use-js-file-call-google-adsense-ad/" title="使用 JS 文件调用 Google AdSense 广告">使用 JS 文件调用 Google AdSense 广告</a> (2)</li><li><a href="http://www.mangguo.org/10-wysiwyg-editor-base-on-javascript/" title="10 款基于 JavaScript 的 WYSIWYG 编辑器">10 款基于 JavaScript 的 WYSIWYG 编辑器</a> (1)</li></ul><hr/>
© 2010 <a href="http://www.mangguo.org">芒果</a> 版权所有 |
<a href="http://www.mangguo.org/javascript-anonymous-function-code-pattern/">固定链接</a> |
<a href="http://www.mangguo.org/javascript-anonymous-function-code-pattern/#comments">没有评论</a> |
标签 <a href="http://www.mangguo.org/tag/javascript/" rel="tag">JavaScript</a>]]></content:encoded>
			<wfw:commentRss>http://www.mangguo.org/javascript-anonymous-function-code-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
