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

<channel>
	<title>Life Studio &#187; CSS</title>
	<atom:link href="http://wange.im/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://wange.im</link>
	<description>My Life, My Studio...</description>
	<lastBuildDate>Sat, 05 May 2012 00:26:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>网页栅格化布局之我见</title>
		<link>http://wange.im/web-page-layout-grid.html</link>
		<comments>http://wange.im/web-page-layout-grid.html#comments</comments>
		<pubDate>Fri, 29 Apr 2011 13:08:47 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[三言两语]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[OOCSS]]></category>
		<category><![CDATA[栅格化]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4811</guid>
		<description><![CDATA[上周，hou 同学给我们组内分享了一下网页栅格布局的理念，虽然因为时间关系只能“浅析”一下，但是对于我个人而言收获还是很大的。对于网页栅格化布局一直有所耳闻，只是从来没有真真实实地落到实处，也没有把它和 CSS 框架联系在一起。 首先，我前所未有地听说了栅格布局的分门别类有这么多，包括960 Grid System、YAML CSS Framework、YUI Grids CSS 等数十种栅格技术思想，而且各有各的特点，至今还有很多门户网站正在使用这一快捷高效的网页布局方式，比如说：Yahoo、淘宝、MySpace、新浪、网易等等。 当然，方法是有很多，也无所谓优劣，只有最适合自己的、最适合项目的才会是最好的。所以我决定采取全面撒网，重点捕鱼的学习策略，先对 hou 介绍的几种网页栅格布局方式进行比较，选择其中一种便于学习便于上手的方法应用实践到自己的项目中去。 本文的体会也就主要谈一下对淘宝DPL-栅格生成器使用的一些体验。 相比较之下，我更倾向于 hou 分享的那款淘宝DPL-栅格生成器，可以设定我们最常用的两栏、三栏布局，还有自定义宽度，在不改变其 HTML 结构的基础上，只需要改一个class，就可以实现两栏互换，主栏自适应宽度等效果，同时也不用担心在各浏览器下的表现问题，完美兼容。 个人观点： 1、 淘宝DPL-栅格生成器就是网页栅格思想的提炼工具，它比960 Grid System、YAML CSS Framework、YUI Grids CSS那些框架更精简，因为栅格生成器无需事先加载一段CSS框架库，它是按需生成的，所以小巧且实用。 2、很遗憾但很幸运的是，栅格生成器这样的工具只能协助我们完成大的结构布局。遗憾的是，很多细节的布局我们还需亲力亲为；幸运的是，我们不能受工具摆布，网页栅格化甚至便捷化的工具只能提供给我们一个很好的思路，但是绝不能成为依赖于它的理由。 3、栅格化和面向对象的 OOCSS 是一个相对的概念，前者是从大的整体布局框架而言，后者是从细节的样式上来说，如果是大型项目开发，这两者结合使用也许是个不错的选择。 那天晚上还在和任平生GG讨论网页栅格化布局的优势与劣势，当然结果还是没有争出个胜负，可以说栅格化是一个比较古董级的网页布局方法，但是还不至于被淘汰，我觉得无论是网页设计师还是前端架构师都应该了解网页栅格化这个概念，对我们做网站是会有所帮助的。 与 CSS,OOCSS,栅格化 相关的文章 面向对象的 OOCSS 2011年01月28日 浮动元素的水平居中 2011年04月4日 你看这个链接2不2？ 2011年03月16日 自适应树型结构的 HTML 2011年02月17日]]></description>
			<content:encoded><![CDATA[<p>上周，<a title="Dream Step" href="http://dreamstep.cn/" target="_blank">hou</a> 同学给我们组内分享了一下网页栅格布局的理念，虽然因为时间关系只能“浅析”一下，但是对于我个人而言收获还是很大的。对于网页栅格化布局一直有所耳闻，只是从来没有真真实实地落到实处，也没有把它和 CSS 框架联系在一起。</p>
<p>首先，我前所未有地听说了栅格布局的分门别类有这么多，包括960 Grid System、YAML CSS Framework、YUI Grids CSS 等数十种栅格技术思想，而且各有各的特点，至今还有很多门户网站正在使用这一快捷高效的网页布局方式，比如说：Yahoo、淘宝、MySpace、新浪、网易等等。</p>
<p>当然，方法是有很多，也无所谓优劣，只有最适合自己的、最适合项目的才会是最好的。所以我决定采取全面撒网，重点捕鱼的学习策略，先对 hou 介绍的几种网页栅格布局方式进行比较，选择其中一种便于学习便于上手的方法应用实践到自己的项目中去。</p>
<p>本文的体会也就主要谈一下对<a title="淘宝DPL栅格生成器" href="http://dreamstep.cn/tool/common/Dpl_grid.html" target="_blank">淘宝DPL-栅格生成器</a>使用的一些体验。</p>
<p>相比较之下，我更倾向于 hou 分享的那款淘宝DPL-栅格生成器，可以设定我们最常用的两栏、三栏布局，还有自定义宽度，在不改变其 HTML 结构的基础上，只需要改一个class，就可以实现两栏互换，主栏自适应宽度等效果，同时也不用担心在各浏览器下的表现问题，完美兼容。</p>
<p>个人观点：</p>
<p>1、 淘宝DPL-栅格生成器就是网页栅格思想的提炼工具，它比960 Grid System、YAML CSS Framework、YUI Grids CSS那些框架更精简，因为栅格生成器无需事先加载一段CSS框架库，它是按需生成的，所以小巧且实用。</p>
<p>2、很遗憾但很幸运的是，栅格生成器这样的工具只能协助我们完成大的结构布局。遗憾的是，很多细节的布局我们还需亲力亲为；幸运的是，我们不能受工具摆布，网页栅格化甚至便捷化的工具只能提供给我们一个很好的思路，但是绝不能成为依赖于它的理由。</p>
<p>3、栅格化和<a title="面向对象的 OOCSS" href="http://wange.im/object-oriented-css.html">面向对象的 OOCSS</a> 是一个相对的概念，前者是从大的整体布局框架而言，后者是从细节的样式上来说，如果是大型项目开发，这两者结合使用也许是个不错的选择。</p>
<p>那天晚上还在和<a title="任平生" href="http://rpsh.net/" target="_blank">任平生</a>GG讨论网页栅格化布局的优势与劣势，当然结果还是没有争出个胜负，可以说栅格化是一个比较古董级的网页布局方法，但是还不至于被淘汰，我觉得无论是网页设计师还是前端架构师都应该了解网页栅格化这个概念，对我们做网站是会有所帮助的。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/oocss/" title="OOCSS" rel="tag">OOCSS</a>,<a href="http://wange.im/tag/grid/" title="栅格化" rel="tag">栅格化</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/mood.jpg" alt="三言两语" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/object-oriented-css.html" rel="bookmark" title="面向对象的 OOCSS">面向对象的 OOCSS</a>        <div class="rl_date">2011年01月28日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/mood.jpg" alt="三言两语" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/floating-element-center.html" rel="bookmark" title="浮动元素的水平居中">浮动元素的水平居中</a>        <div class="rl_date">2011年04月4日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/cssforest.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="你看这个链接2不2？" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/webdings-font-family.html" rel="bookmark" title="你看这个链接2不2？">你看这个链接2不2？</a>        <div class="rl_date">2011年03月16日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/mood.jpg" alt="三言两语" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/tree-html.html" rel="bookmark" title="自适应树型结构的 HTML">自适应树型结构的 HTML</a>        <div class="rl_date">2011年02月17日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/web-page-layout-grid.html/feed</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
		<item>
		<title>浮动元素的水平居中</title>
		<link>http://wange.im/floating-element-center.html</link>
		<comments>http://wange.im/floating-element-center.html#comments</comments>
		<pubDate>Mon, 04 Apr 2011 15:34:00 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4727</guid>
		<description><![CDATA[今天有同学在群里问起怎么让一个浮动元素水平居中，可能是我表达能力太差，解释了半天木有说清楚，索性还是写一个简单的 DEMO，那位同学倒是一下子就明白了。其实关于浮动元素的居中问题，在之前的自适应树型结构的 HTML中的 DEMO 就有体现，这次的浮动元素水平居中 DEMO 只是一个超级简化版。 对于定宽的非浮动元素我们可以用 margin:0 auto; 进行水平居中，对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题。分解如下： 1、HTML 部分： &#60;div class="box"&#62;     &#60;p&#62;我是浮动的&#60;/p&#62;     &#60;p&#62;我也是居中的&#60;/p&#62; &#60;/div&#62; 2、CSS 部分： .box{     float:left;     position:relative;     left:50%; } p{     float:left;     position:relative;     right:50%; } 这样看来就很简单了吧，父元素和子元素同时左浮动，然后父元素相对左移动50%，再然后子元素相对右移动50%，或者子元素相对左移动-50%也就可以了。如此简单如此神奇。 亮点总是在文末，大家请注意了，崔凯帅哥在我的逼迫下，开通了一个前端征婚群，欢迎搞前端的 MM 加入：105677671 哇哈哈哈哈～～～ 与 CSS,HTML 相关的文章 自适应树型结构的 HTML 2011年02月17日 CSS 技巧：未知高度水平垂直居中 2010年11月22日 PSD 转成 HTML [...]]]></description>
			<content:encoded><![CDATA[<p>今天有同学在群里问起怎么让一个浮动元素水平居中，可能是我表达能力太差，解释了半天木有说清楚，索性还是写一个简单的 <a title="浮动元素的居中" href="http://wange.im/demo/float-center/">DEMO</a>，那位同学倒是一下子就明白了。其实关于浮动元素的居中问题，在之前的<a title="自适应树型结构的 HTML" href="http://wange.im/tree-html.html">自适应树型结构的 HTML</a>中的 DEMO 就有体现，这次的浮动元素水平居中 <a title="浮动元素的居中" href="http://wange.im/demo/float-center/">DEMO</a> 只是一个超级简化版。</p>
<p>对于定宽的非浮动元素我们可以用 margin:0 auto; 进行水平居中，对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题。分解如下：</p>
<p>1、HTML 部分：</p>
<div class="source" style="font-family: 'Courier New', 'Lucida Console', 'monospace'; color: #000000;"><span style="color: #000080; font-weight: bold;">&lt;div</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"box"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
    <span style="color: #000080; font-weight: bold;">&lt;p&gt;</span><span style="color: #000000;">我是浮动的</span><span style="color: #000080; font-weight: bold;">&lt;/p&gt;</span><br />
    <span style="color: #000080; font-weight: bold;">&lt;p&gt;</span><span style="color: #000000;">我也是居中的</span><span style="color: #000080; font-weight: bold;">&lt;/p&gt;</span><br />
<span style="color: #000080; font-weight: bold;">&lt;/div&gt;</span></div>
<p>2、CSS 部分：</p>
<div class="source" style="font-family: 'Courier New', 'Lucida Console', 'monospace'; color: #000000;"><span style="color: #000000;">.box</span><span style="color: #000000;">{</span><br />
    <span style="color: #000080; font-weight: bold;">float</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">left</span>;<br />
    <span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<br />
    <span style="color: #000080; font-weight: bold;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">50%</span>;<br />
<span style="color: #000000;">}</span><br />
p<span style="color: #000000;">{</span><br />
    <span style="color: #000080; font-weight: bold;">float</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">left</span>;<br />
    <span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<br />
    <span style="color: #000080; font-weight: bold;">right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">50%</span>;<br />
<span style="color: #000000;">}</span></div>
<p>这样看来就很简单了吧，父元素和子元素同时左浮动，然后父元素相对左移动50%，再然后子元素相对右移动50%，或者子元素相对左移动-50%也就可以了。如此简单如此神奇。</p>
<p>亮点总是在文末，大家请注意了，<a title="崔凯，前端开发" href="http://uicss.cn/" target="_blank">崔凯</a>帅哥在我的逼迫下，开通了一个前端征婚群，欢迎搞前端的 MM 加入：105677671 哇哈哈哈哈～～～</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/html/" title="HTML" rel="tag">HTML</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/tree-html.html" rel="bookmark" title="自适应树型结构的 HTML">自适应树型结构的 HTML</a>        <div class="rl_date">2011年02月17日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/horizontal-and-vertical-in-css.html" rel="bookmark" title="CSS 技巧：未知高度水平垂直居中">CSS 技巧：未知高度水平垂直居中</a>        <div class="rl_date">2010年11月22日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/psd-to-html.html" rel="bookmark" title="PSD 转成 HTML 的大致思路">PSD 转成 HTML 的大致思路</a>        <div class="rl_date">2010年04月20日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/web-page-layout-grid.html" rel="bookmark" title="网页栅格化布局之我见">网页栅格化布局之我见</a>        <div class="rl_date">2011年04月29日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/floating-element-center.html/feed</wfw:commentRss>
		<slash:comments>113</slash:comments>
		</item>
		<item>
		<title>你看这个链接2不2？</title>
		<link>http://wange.im/webdings-font-family.html</link>
		<comments>http://wange.im/webdings-font-family.html#comments</comments>
		<pubDate>Wed, 16 Mar 2011 13:59:17 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4658</guid>
		<description><![CDATA[相信大多数网站前端从业人员或者是前端爱好者会关注一个叫作 CSS 森林的博客，至少应该有所耳闻吧。当你第一次打开这个网站的时候，或许你会觉得这个网站也不过如此，甚至设计得有些单调不给力。但是当你认真去研究这个博客的 CSS 时，你会发现它的给力已经超出了你的想象，还有一些我都不知道干什么用的私用属性夹杂在它的 CSS 中，很高深的样子。 昨天无聊的时候又去关注了一下这个博客，发现它的所有站外链接后都会显示一个“2”，其实这个问题很早就发现了，只是一直没有深究，昨天实在被这个“2”搞迷糊了，就想深究一下下，难道 CSS 森林是想要表达所有外链都很2这个意思吗？不会吧。。。在同事丁锅锅的提点下，终于揭开了这个“2”的神秘面纱。 原来这个“2”只是在 Firefox 下的效果，在 Chrome、IE8 等浏览器下就不是表现为“2”了，而是新窗口打开的一个小图标，确切来说，那并不是一个图标，而是一个用特别字体显示出来的文字图案。效果如图： 情不自禁地翻了一下它的 CSS 样式表，发现它的数字“2”用的是 Webdings 字体，难道这个字体可以让数字转换成奇妙的图案吗？顺着这个思路 Google 了一下，不 G 不知道，一 G 还真是如此。Webdings 字体转换成一些有趣的类似于小图标的符号，这样就可以省去了切图的麻烦，但是让我没想到的是 CSS 森林用的渐进增强居然把 Firefox 也给抛弃了，更奇妙的是，IE 居然反常地可以支持这个字体的转化。 最后，把它做成了一个 DEMO，用非 Firefox 和 Opera 的朋友可以看一下。神奇吧？不相信你的眼睛，你可以复制下来看看，其实你复制的就是一串数字。 与 CSS,博客,浏览器 相关的文章 让浏览器的私有属性通过 W3C 验证 2011年01月15日 CSS 中 font 的 px 与 em 的区别 2010年12月23日 CSS [...]]]></description>
			<content:encoded><![CDATA[<p>相信大多数网站前端从业人员或者是前端爱好者会关注一个叫作 <a title="CSS森林" rel="external nofollow" href="http://www.cssforest.org/blog/" target="_blank">CSS 森林</a>的博客，至少应该有所耳闻吧。当你第一次打开这个网站的时候，或许你会觉得这个网站也不过如此，甚至设计得有些单调不给力。但是当你认真去研究这个博客的 CSS 时，你会发现它的给力已经超出了你的想象，还有一些我都不知道干什么用的私用属性夹杂在它的 CSS 中，很高深的样子。</p>
<p>昨天无聊的时候又去关注了一下这个博客，发现它的所有站外链接后都会显示一个“2”，其实这个问题很早就发现了，只是一直没有深究，昨天实在被这个“2”搞迷糊了，就想深究一下下，难道 CSS 森林是想要表达所有外链都很2这个意思吗？不会吧。。。在同事丁锅锅的提点下，终于揭开了这个“2”的神秘面纱。</p>
<p><img style="float: right;" src="http://t0mlua.bay.livefilestore.com/y1pTTLQluaUBvmKzx4RiJcX40E7H-qaAjFEKXv_GuQxpfWL5_It9QdVoGax3BVP5b4dTXxgHU7gDYjdtb3dlZKlFM2v_fTeUdXq/cssforest.jpg" alt="" />原来这个“2”只是在 Firefox 下的效果，在 Chrome、IE8 等浏览器下就不是表现为“2”了，而是新窗口打开的一个小图标，确切来说，那并不是一个图标，而是一个用特别字体显示出来的文字图案。效果如图：</p>
<p>情不自禁地翻了一下它的 CSS 样式表，发现它的数字“2”用的是 Webdings 字体，难道这个字体可以让数字转换成奇妙的图案吗？顺着这个思路 Google 了一下，不 G 不知道，一 G 还真是如此。Webdings 字体转换成一些有趣的类似于小图标的符号，这样就可以省去了切图的麻烦，但是让我没想到的是 CSS 森林用的渐进增强居然把 Firefox 也给抛弃了，更奇妙的是，IE 居然反常地可以支持这个字体的转化。</p>
<p>最后，把它做成了一个 <a title="webdings" href="http://wange.im/demo/webdings/">DEMO</a>，用非 Firefox 和 Opera 的朋友可以看一下。神奇吧？不相信你的眼睛，你可以复制下来看看，其实你复制的就是一串数字。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/blog/" title="博客" rel="tag">博客</a>,<a href="http://wange.im/tag/browser/" title="浏览器" rel="tag">浏览器</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/private-property-checked-w3c-validation.html" rel="bookmark" title="让浏览器的私有属性通过 W3C 验证">让浏览器的私有属性通过 W3C 验证</a>        <div class="rl_date">2011年01月15日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/font-size.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="CSS 中 font 的 px 与 em 的区别" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/px-and-em-in-css.html" rel="bookmark" title="CSS 中 font 的 px 与 em 的区别">CSS 中 font 的 px 与 em 的区别</a>        <div class="rl_date">2010年12月23日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/blink-effect-with-css-or-js.html" rel="bookmark" title="CSS 或 JS 实现闪烁文字">CSS 或 JS 实现闪烁文字</a>        <div class="rl_date">2010年02月8日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/div-css-and-ie.html" rel="bookmark" title="DIV+CSS与不同IE版本等的兼容性">DIV+CSS与不同IE版本等的兼容性</a>        <div class="rl_date">2010年01月31日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/webdings-font-family.html/feed</wfw:commentRss>
		<slash:comments>186</slash:comments>
		</item>
		<item>
		<title>自适应树型结构的 HTML</title>
		<link>http://wange.im/tree-html.html</link>
		<comments>http://wange.im/tree-html.html#comments</comments>
		<pubDate>Thu, 17 Feb 2011 13:51:46 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4554</guid>
		<description><![CDATA[早上看到玲玲在微博上求助一个树型结构的 HTML，我一般对美女的求助都是没有任何抵抗力的，看了一眼草图，我勒了个擦，还真是一个刁钻的结构。如果用 Office 办公软件来画这个树型图那是只要两三分钟就搞定了，但是这个结构要用 HTML 来写还真点费点脑细胞。 主要难度集中在以下几点： 1、自适应宽度，这个倒不是最难的，难的是宽度撑开后顶部“树枝”的分叉节点要保存居中。 2、自适应列数，这个倒也不是最难的，难的是随着列数的改变要保持整个“树干”居中位置。 3、最后一个节点和第一个节点处的拐脚处非得特殊照顾一下。 花了点时间研究了一下，终于做了一个还比较满意的，扩展性比较强的 DEMO，自己作为记录写下来，说不定哪天我自己也用的上。分解如下： 1、HTML 部分： &#60;div class="box clearfix"&#62;     &#60;div class="hd"&#62;         &#60;h2&#62;&#60;span&#62;大标题 宽度自适应测试&#60;/span&#62;&#60;/h2&#62;     &#60;/div&#62;     &#60;div class="bd"&#62;         &#60;dl&#62;             &#60;dt&#62;&#60;strong&#62;&#60;span&#62;标题一 宽度自适应测试&#60;/span&#62;&#60;/strong&#62;&#60;/dt&#62;             &#60;dd&#62;&#60;span&#62;内容一&#60;/span&#62;&#60;/dd&#62;             &#60;dd&#62;&#60;span&#62;内容二&#60;/span&#62;&#60;/dd&#62;             &#60;dd&#62;&#60;span&#62;内容三&#60;/span&#62;&#60;/dd&#62;             &#60;dd&#62;&#60;span&#62;内容四&#60;/span&#62;&#60;/dd&#62;         &#60;/dl&#62;         &#60;dl&#62;             &#60;dt&#62;&#60;strong&#62;&#60;span&#62;标题二&#60;/span&#62;&#60;/strong&#62;&#60;/dt&#62;             &#60;dd&#62;&#60;span&#62;内容一&#60;/span&#62;&#60;/dd&#62;         &#60;/dl&#62;         &#60;dl&#62;             &#60;dt&#62;&#60;strong&#62;&#60;span&#62;标题八&#60;/span&#62;&#60;/strong&#62;&#60;/dt&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>早上看到玲玲在微博上求助一个树型结构的 HTML，我一般对美女的求助都是没有任何抵抗力的，看了一眼<a title="树型 HTML 结构图" href="http://www.xwenz.com/wp-content/uploads/2011/02/tree.gif" target="_blank">草图</a>，我勒了个擦，还真是一个刁钻的结构。如果用 Office 办公软件来画这个树型图那是只要两三分钟就搞定了，但是这个结构要用 HTML 来写还真点费点脑细胞。</p>
<p>主要难度集中在以下几点：</p>
<p>1、自适应宽度，这个倒不是最难的，难的是宽度撑开后顶部“树枝”的分叉节点要保存居中。</p>
<p>2、自适应列数，这个倒也不是最难的，难的是随着列数的改变要保持整个“树干”居中位置。</p>
<p>3、最后一个节点和第一个节点处的拐脚处非得特殊照顾一下。</p>
<p>花了点时间研究了一下，终于做了一个还比较满意的，扩展性比较强的 <a title="树型结构 HTML" href="http://wange.im/demo/tree/">DEMO</a>，自己作为记录写下来，说不定哪天我自己也用的上。分解如下：</p>
<p>1、HTML 部分：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000080; font-weight: bold;">&lt;div</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"box clearfix"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
    <span style="color: #000080; font-weight: bold;">&lt;div</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"hd"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;h2&gt;&lt;span&gt;</span><span style="color: #000000;">大标题 宽度自适应测试</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/h2&gt;</span><br />
    <span style="color: #000080; font-weight: bold;">&lt;/div&gt;</span><br />
    <span style="color: #000080; font-weight: bold;">&lt;div</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"bd"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;dl&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dt&gt;&lt;strong&gt;&lt;span&gt;</span><span style="color: #000000;">标题一 宽度自适应测试</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/strong&gt;&lt;/dt&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容一</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容二</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容三</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容四</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;/dl&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;dl&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dt&gt;&lt;strong&gt;&lt;span&gt;</span><span style="color: #000000;">标题二</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/strong&gt;&lt;/dt&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容一</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;/dl&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;dl&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dt&gt;&lt;strong&gt;&lt;span&gt;</span><span style="color: #000000;">标题八</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/strong&gt;&lt;/dt&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容一</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容二</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
            <span style="color: #000080; font-weight: bold;">&lt;dd&gt;&lt;span&gt;</span><span style="color: #000000;">内容三 宽度自适应测试</span><span style="color: #000080; font-weight: bold;">&lt;/span&gt;&lt;/dd&gt;</span><br />
        <span style="color: #000080; font-weight: bold;">&lt;/dl&gt;</span><br />
    <span style="color: #000080; font-weight: bold;">&lt;/div&gt;</span><br />
<span style="color: #000080; font-weight: bold;">&lt;/div&gt;</span></div>
<p>因为篇幅有限，我只写了三列的 HTML，更多可见 <a title="树型结构 HTML" href="http://wange.im/demo/tree/">DEMO</a> 页。</p>
<p>2、CSS 样式部分：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000000;">*</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">margin</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span>;<span style="color: #000080; font-weight: bold;">padding</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.clearfix</span><span style="color: #000000;">:after</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">clear</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">both</span>;<span style="color: #000080; font-weight: bold;">display</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">block</span>;<span style="color: #000080; font-weight: bold;">visibility</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">hidden</span>;<span style="color: #000080; font-weight: bold;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span>;<span style="color: #000080; font-weight: bold;">line-height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span>;<span style="color: #000080; font-weight: bold;">content</span><span style="color: #000000;">:</span><span style="color: #0000ff;">""</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.clearfix</span><span style="color: #000000;">{</span><span style="color: #000000;">zoom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.box</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">margin</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span> <span style="color: #000080; font-weight: bold;">auto</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span>;<span style="color: #000080; font-weight: bold;">padding</span><span style="color: #000000;">:</span><span style="color: #0000ff;">10px</span> <span style="color: #0000ff;">0</span>;<span style="color: #000080; font-weight: bold;">overflow</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">hidden</span>;<span style="color: #000000;">zoom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1</span>;<span style="color: #000080; font-weight: bold;">font-size</span><span style="color: #000000;">:</span><span style="color: #0000ff;">12px</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.hd</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">text-align</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">center</span>;<span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#fff</span> <span style="color: #0000ff;">url(images/line.png)</span> <span style="color: #000080; font-weight: bold;">repeat-y</span> <span style="color: #000080; font-weight: bold;">center</span> <span style="color: #0000ff;">0</span>;<span style="color: #000080; font-weight: bold;">padding-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">30px</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.hd</span> <span style="color: #000080; font-weight: bold;">h2</span> <span style="color: #000080; font-weight: bold;">span</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">display</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">inline</span><span style="color: #000000;">-</span><span style="color: #000080; font-weight: bold;">block</span>;<span style="color: #000080; font-weight: bold;">padding</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span>;<span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#73ABFE</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">clear</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">both</span>;<span style="color: #000080; font-weight: bold;">float</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">left</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">50%</span>;<span style="color: #000080; font-weight: bold;">text-align</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">center</span>;<span style="color: #000080; font-weight: bold;">padding-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">13px</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000080; font-weight: bold;">dl</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">float</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">left</span>;<span style="color: #000080; font-weight: bold;">padding-left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">50%</span>;<span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/dl_bg.png)</span> <span style="color: #000080; font-weight: bold;">no-repeat</span> <span style="color: #000080; font-weight: bold;">center</span> <span style="color: #0000ff;">0</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000000;">.firstDl</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/firstdl.png)</span> <span style="color: #000080; font-weight: bold;">no-repeat</span> <span style="color: #000080; font-weight: bold;">center</span> <span style="color: #0000ff;">0</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000000;">.lastDl</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/lastdl.png)</span> <span style="color: #000080; font-weight: bold;">no-repeat</span> <span style="color: #000080; font-weight: bold;">center</span> <span style="color: #0000ff;">0</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000080; font-weight: bold;">dl</span> <span style="color: #000080; font-weight: bold;">dt</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">border-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px</span> <span style="color: #000080; font-weight: bold;">dotted</span> <span style="color: #0000ff;">#999</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000080; font-weight: bold;">dl</span> <span style="color: #000080; font-weight: bold;">dt</span> <span style="color: #000080; font-weight: bold;">strong</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">display</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">block</span>;<span style="color: #000080; font-weight: bold;">padding-top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">13px</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">z-index</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000080; font-weight: bold;">dl</span> <span style="color: #000080; font-weight: bold;">dt</span> <span style="color: #000080; font-weight: bold;">strong</span> <span style="color: #000080; font-weight: bold;">span</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#73ABFE</span>;<span style="color: #000080; font-weight: bold;">display</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">block</span>;<span style="color: #000080; font-weight: bold;">padding</span><span style="color: #000000;">:</span><span style="color: #0000ff;">10px</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">10px</span>;<span style="color: #000080; font-weight: bold;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">16px</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000080; font-weight: bold;">dl</span> <span style="color: #000080; font-weight: bold;">dd</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">border-left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px</span> <span style="color: #000080; font-weight: bold;">dotted</span> <span style="color: #0000ff;">#999</span>;<span style="color: #000080; font-weight: bold;">border-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px</span> <span style="color: #000080; font-weight: bold;">dotted</span> <span style="color: #0000ff;">#999</span><span style="color: #000000;">;}</span><br />
<span style="color: #000000;">.bd</span> <span style="color: #000080; font-weight: bold;">dl</span> <span style="color: #000080; font-weight: bold;">dd</span> <span style="color: #000080; font-weight: bold;">span</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#71C6FF</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span>;<span style="color: #000080; font-weight: bold;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">10px</span>;<span style="color: #000080; font-weight: bold;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">26px</span>;<span style="color: #000080; font-weight: bold;">margin-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">12px</span>;<span style="color: #000080; font-weight: bold;">padding</span><span style="color: #000000;">:</span><span style="color: #0000ff;">8px</span> <span style="color: #0000ff;">10px</span>;<span style="color: #000080; font-weight: bold;">display</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">block</span><span style="color: #000000;">;}</span></div>
<p>样式中用到了四张小图片，分别处理节点的拐脚处，本来想用纯 CSS 解决的，但是为了效果，还是用了一些小图，不知道大家有没有更好的解决办法？</p>
<p>3、脚本部分</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000080; font-weight: bold;">&lt;script </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/javascript"</span> <span style="color: #ff0000;">src=</span><span style="color: #0000ff;">"http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js?ver=1.3.2"</span><span style="color: #000080; font-weight: bold;">&gt;&lt;/script&gt;</span><br />
<span style="color: #000080; font-weight: bold;">&lt;script </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/javascript"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
    <span style="color: #000000;">$</span>(<span style="color: #000000;">document</span><span style="color: #000000;">).</span><span style="color: #000000;">ready</span>(<span style="color: #000080; font-weight: bold;">function</span><span style="color: #000000;">(){</span><br />
        <span style="color: #000000;">$</span>(<span style="color: #0000ff;">'.bd dl:first'</span><span style="color: #000000;">).</span><span style="color: #000000;">addClass</span>(<span style="color: #0000ff;">'firstDl'</span>);<br />
        <span style="color: #000000;">$</span>(<span style="color: #0000ff;">'.bd dl:last'</span><span style="color: #000000;">).</span><span style="color: #000000;">addClass</span>(<span style="color: #0000ff;">'lastDl'</span>);<br />
    <span style="color: #000000;">});</span><br />
<span style="color: #000080; font-weight: bold;">&lt;/script&gt;</span></div>
<p>可以看到，这是一段非常简单的 jQuery，作用就是获取第一列和最后一列，分别加上拐点的背景图片。好了，收工。</p>
<p>差点忘了今天是元宵节，外面鞭炮放得还挺热闹的，大家元宵节快乐啦~</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/html/" title="HTML" rel="tag">HTML</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/floating-element-center.html" rel="bookmark" title="浮动元素的水平居中">浮动元素的水平居中</a>        <div class="rl_date">2011年04月4日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/horizontal-and-vertical-in-css.html" rel="bookmark" title="CSS 技巧：未知高度水平垂直居中">CSS 技巧：未知高度水平垂直居中</a>        <div class="rl_date">2010年11月22日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/psd-to-html.html" rel="bookmark" title="PSD 转成 HTML 的大致思路">PSD 转成 HTML 的大致思路</a>        <div class="rl_date">2010年04月20日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/web-page-layout-grid.html" rel="bookmark" title="网页栅格化布局之我见">网页栅格化布局之我见</a>        <div class="rl_date">2011年04月29日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/tree-html.html/feed</wfw:commentRss>
		<slash:comments>113</slash:comments>
		</item>
		<item>
		<title>杂谈 CSS 实现的图片放大效果</title>
		<link>http://wange.im/zoom-in-pic-with-css.html</link>
		<comments>http://wange.im/zoom-in-pic-with-css.html#comments</comments>
		<pubDate>Tue, 08 Feb 2011 12:04:04 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[兼容]]></category>
		<category><![CDATA[图片]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4511</guid>
		<description><![CDATA[我的文章内容总是围绕着自己的博客出发，本文也不例外，今天比较了一下关于各浏览器中用 CSS 实现的图片放大效果，特别是 IE 和 Firefox、Chrome 等其他一些标准的浏览器，我在自己的博客也用上了这样的效果。实例请见我博客顶部右侧的 SNS 分享和订阅按钮，把鼠标移动上去就会有图标放大的效果，如果还在 CSS2.0 时代，或者说是 IE 浏览器时代，要实现这样的效果只需要给 hover 伪类另外定义一个图片就可以了。但是现在已经是 CSS3.0 时代了，这个效果的实现将会更加简单，但是与此同时，我们要知道 CSS3.0 时代是不属于 IE 的时代。 为了总结比较这两种效果，我特地做了两个 DEMO。 我们先看 DEMO1，这个图片放大效果是 CSS2.0 下的，具体的 HTML 和 CSS 如下： &#60;style type="text/css"&#62;     .rss{         position:absolute;         top:200px;         left:200px;         text-indent:-9999em;         width:100px;         height:100px;         display:block;         background:url(rss_s.jpg) no-repeat;     }     [...]]]></description>
			<content:encoded><![CDATA[<p>我的文章内容总是围绕着自己的博客出发，本文也不例外，今天比较了一下关于各浏览器中用 CSS 实现的图片放大效果，特别是 IE 和 Firefox、Chrome 等其他一些标准的浏览器，我在自己的博客也用上了这样的效果。实例请见我博客顶部右侧的 SNS 分享和订阅按钮，把鼠标移动上去就会有图标放大的效果，如果还在 CSS2.0 时代，或者说是 IE 浏览器时代，要实现这样的效果只需要给 hover 伪类另外定义一个图片就可以了。但是现在已经是 CSS3.0 时代了，这个效果的实现将会更加简单，但是与此同时，我们要知道 CSS3.0 时代是不属于 IE 的时代。</p>
<p>为了总结比较这两种效果，我特地做了两个 DEMO。</p>
<p>我们先看 <a title="CSS2.0 的图片放大效果" href="http://wange.im/demo/zoom-in/css2.html">DEMO1</a>，这个图片放大效果是 CSS2.0 下的，具体的 HTML 和 CSS 如下：</p>
<div class="source" style="color: #000000; font-family: 'Courier New','Lucida Console','monospace';"><span style="font-weight: bold; color: #000080;">&lt;style </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/css"</span><span style="font-weight: bold; color: #000080;">&gt;</span><br />
    <span style="color: #000000;">.rss</span><span style="color: #000000;">{</span><br />
        <span style="font-weight: bold; color: #000080;">position</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">absolute</span>;<br />
        <span style="font-weight: bold; color: #000080;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">200px</span>;<br />
        <span style="font-weight: bold; color: #000080;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">200px</span>;<br />
        <span style="font-weight: bold; color: #000080;">text-indent</span><span style="color: #000000;">:-</span><span style="color: #0000ff;">9999em</span>;<br />
        <span style="font-weight: bold; color: #000080;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">100px</span>;<br />
        <span style="font-weight: bold; color: #000080;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">100px</span>;<br />
        <span style="font-weight: bold; color: #000080;">display</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">block</span>;<br />
        <span style="font-weight: bold; color: #000080;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(rss_s.jpg)</span> <span style="font-weight: bold; color: #000080;">no-repeat</span>;<br />
    <span style="color: #000000;">}</span><br />
    <span style="color: #000000;">#css2</span><span style="color: #000000;">:hover</span><span style="color: #000000;">{</span><br />
        <span style="font-weight: bold; color: #000080;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span>;<br />
        <span style="font-weight: bold; color: #000080;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span>;<br />
        <span style="font-weight: bold; color: #000080;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">500px</span>;<br />
        <span style="font-weight: bold; color: #000080;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">500px</span>;<br />
        <span style="font-weight: bold; color: #000080;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(rss_l.jpg)</span> <span style="font-weight: bold; color: #000080;">no-repeat</span>;<br />
    <span style="color: #000000;">}</span><br />
<span style="font-weight: bold; color: #000080;">&lt;/style&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"rss"</span> <span style="color: #ff0000;">id=</span><span style="color: #0000ff;">"css2"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"#"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">RSS</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span></div>
<p>优点：兼容性好，所有浏览器支持。</p>
<p>缺点：1、分别需要大图和小图两张图片。</p>
<p>2、因为用到 hover，所以在 IE6 下只有 a 标签才可以，IE6 不支持 hover 以外的 伪类。</p>
<p>然后我们再来看 <a title="CSS3.0 的图片放大效果" href="http://wange.im/demo/zoom-in/css3.html">DEMO2</a>，这个图片放大效果是 CSS3.0 下的，部分 HTML 和 CSS 是和上面的样同的，我也就再重复写一遍了，具体的 HTML 和 CSS 如下：</p>
<div class="source" style="color: #000000; font-family: 'Courier New','Lucida Console','monospace';"><span style="font-weight: bold; color: #000080;">&lt;style </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/css"</span><span style="font-weight: bold; color: #000080;">&gt;</span><br />
    <span style="color: #000000;">.rss</span><span style="color: #000000;">{</span><br />
        <span style="font-weight: bold; color: #000080;">position</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">absolute</span>;<br />
        <span style="font-weight: bold; color: #000080;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">200px</span>;<br />
        <span style="font-weight: bold; color: #000080;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">200px</span>;<br />
        <span style="font-weight: bold; color: #000080;">text-indent</span><span style="color: #000000;">:-</span><span style="color: #0000ff;">9999em</span>;<br />
        <span style="font-weight: bold; color: #000080;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">100px</span>;<br />
        <span style="font-weight: bold; color: #000080;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">100px</span>;<br />
        <span style="font-weight: bold; color: #000080;">display</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">block</span>;<br />
        <span style="font-weight: bold; color: #000080;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(rss_s.jpg)</span> <span style="font-weight: bold; color: #000080;">no-repeat</span>;<br />
    <span style="color: #000000;">}</span><br />
    <span style="color: #000000;">#css3</span><span style="color: #000000;">:hover</span><span style="color: #000000;">{</span><br />
        <span style="color: #000000;">-</span><span style="color: #000000;">webkit</span><span style="color: #000000;">-</span><span style="color: #000000;">transform</span><span style="color: #000000;">:</span><span style="color: #000000;">scale</span>(<span style="color: #0000ff;">5</span>);<br />
        <span style="color: #000000;">-</span><span style="color: #000000;">moz</span><span style="color: #000000;">-</span><span style="color: #000000;">transform</span><span style="color: #000000;">:</span><span style="color: #000000;">scale</span>(<span style="color: #0000ff;">5</span>);<br />
        <span style="color: #000000;">-</span><span style="color: #a61717; background-color: #e3d2d2;">o</span><span style="color: #000000;">-</span><span style="color: #000000;">transform</span><span style="color: #000000;">:</span><span style="color: #000000;">scale</span>(<span style="color: #0000ff;">5</span>);<br />
    <span style="color: #000000;">}</span><br />
<span style="font-weight: bold; color: #000080;">&lt;/style&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"rss"</span> <span style="color: #ff0000;">id=</span><span style="color: #0000ff;">"css3"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"#"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">RSS</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span></div>
<p>优点：只需要一张图片就可以实现。</p>
<p>缺点：1、IE 不支持。</p>
<p>2、小图被强行扯大，分辨率不变的前提下，放大后会显得模糊。</p>
<p>到底哪个方法更好？这还要看具体需求。比如，我在顶部的几个小图标上就是用的 CSS3 的方法，因为放大的倍数不大，所以也不是很模糊，IE就无视了。</p>
<p>话再说回来，我把 CSS3 的 transform 属性拿来和 CSS2 中的图片放大效果比较，实在是太太太屈才了。因为一方面，CSS2 的那个方法严格意义上来说并不是放大方法，只是用 hover 伪类来模仿的效果，再者， transfrom 不仅仅是可以作用于图片，文字也同样有效，而且放大只是 transform 的一个值，它还能旋转，如果你的浏览器不是 IE，可以把鼠标放到评论头像上看看效果，那也是用 transform 实现的，很好很强大吧。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/css3/" title="CSS3" rel="tag">CSS3</a>,<a href="http://wange.im/tag/ie/" title="IE" rel="tag">IE</a>,<a href="http://wange.im/tag/compatible/" title="兼容" rel="tag">兼容</a>,<a href="http://wange.im/tag/picture/" title="图片" rel="tag">图片</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/doraemon.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="当多啦A梦遇到 IE 浏览器" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/when-doraemon-under-ie.html" rel="bookmark" title="当多啦A梦遇到 IE 浏览器">当多啦A梦遇到 IE 浏览器</a>        <div class="rl_date">2010年05月24日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/border-radius.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="关于 CSS3 中的圆角介绍" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/border-radius-in-css3.html" rel="bookmark" title="关于 CSS3 中的圆角介绍">关于 CSS3 中的圆角介绍</a>        <div class="rl_date">2010年04月19日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/div-css-and-ie.html" rel="bookmark" title="DIV+CSS与不同IE版本等的兼容性">DIV+CSS与不同IE版本等的兼容性</a>        <div class="rl_date">2010年01月31日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/ie-bug.html" rel="bookmark" title="汇总 IE 在 CSS 中常见的 中 bug">汇总 IE 在 CSS 中常见的 中 bug</a>        <div class="rl_date">2010年01月29日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/zoom-in-pic-with-css.html/feed</wfw:commentRss>
		<slash:comments>91</slash:comments>
		</item>
		<item>
		<title>导航垂直滚动条的两种实现方法</title>
		<link>http://wange.im/nav-scroll-in-two-ways.html</link>
		<comments>http://wange.im/nav-scroll-in-two-ways.html#comments</comments>
		<pubDate>Sun, 06 Feb 2011 13:52:37 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[滚动条]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4492</guid>
		<description><![CDATA[ 今天有位童鞋对本站主栏和侧边栏中间的“上天、入地”这个导航垂直滚动条产生了兴趣，但是在扣扣上这个东西三言两语也说不清，所以我就索性整理一下写了这么个教程。 实现这样的导航垂直滚动条的方法很多，关键是要知道其中原理也就不难了，从本站的这个垂直导航可以看出，它的基本效果就是可以随着浏览器的滚动条而滚动，换言之，这个垂直导航的位置相对于浏览器窗口是固定不变的。下面我提供两种实现的方法，各有特点，按需选择吧。因为两种方法的 HTML 和 CSS 部分大致相同，所以我就写在一个 DEMO 里了，这样也可以方便大家比较。 两种方法，一种是用纯 CSS 实现的（ DEMO 中对应的 id="l"），另一种是用 jQuery 实现的（ DEMO 中对应的 id="r"）。 HTML 部分： &#60;div id="r" class="scroll"&#62; &#60;a title="我要上天" href="#"&#62;上&#60;/a&#62; &#60;a title="Q我吧~" target="_blank" href="http://wange.im/qq"&#62;Q&#60;/a&#62; &#60;a title="邮我吧~" target="_blank" href="http://wange.im/gtalk"&#62;邮&#60;/a&#62; &#60;a title="我要入地" href="#"&#62;下&#60;/a&#62; &#60;/div&#62; &#60;div id="l" class="scroll"&#62; &#60;a title="我要上天" href="#"&#62;上&#60;/a&#62; &#60;a title="Q我吧~" target="_blank" href="http://wange.im/qq"&#62;Q&#60;/a&#62; &#60;a title="邮我吧~" target="_blank" href="http://wange.im/gtalk"&#62;邮&#60;/a&#62; &#60;a title="我要入地" [...]]]></description>
			<content:encoded><![CDATA[<p> 今天有位童鞋对本站主栏和侧边栏中间的“上天、入地”这个导航垂直滚动条产生了兴趣，但是在扣扣上这个东西三言两语也说不清，所以我就索性整理一下写了这么个教程。</p>
<p>实现这样的导航垂直滚动条的方法很多，关键是要知道其中原理也就不难了，从本站的这个垂直导航可以看出，它的基本效果就是可以随着浏览器的滚动条而滚动，换言之，这个垂直导航的位置相对于浏览器窗口是固定不变的。下面我提供两种实现的方法，各有特点，按需选择吧。因为两种方法的 HTML 和 CSS 部分大致相同，所以我就写在一个 <a title="导航垂直滚动条" href="http://wange.im/demo/navscroll">DEMO</a> 里了，这样也可以方便大家比较。</p>
<p>两种方法，一种是用纯 CSS 实现的（ DEMO 中对应的 id="l"），另一种是用 jQuery 实现的（ DEMO 中对应的 id="r"）。</p>
<p>HTML 部分：</p>
<div class="source" style="color: #000000; font-family: 'Courier New','Lucida Console','monospace';"><span style="font-weight: bold; color: #000080;">&lt;div</span> <span style="color: #ff0000;">id=</span><span style="color: #0000ff;">"r"</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"scroll"</span><span style="font-weight: bold; color: #000080;">&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"我要上天"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"#"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">上</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"Q我吧~"</span> <span style="color: #ff0000;">target=</span><span style="color: #0000ff;">"_blank"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"http://wange.im/qq"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">Q</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"邮我吧~"</span> <span style="color: #ff0000;">target=</span><span style="color: #0000ff;">"_blank"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"http://wange.im/gtalk"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">邮</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"我要入地"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"#"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">下</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;/div&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;div</span> <span style="color: #ff0000;">id=</span><span style="color: #0000ff;">"l"</span> <span style="color: #ff0000;">class=</span><span style="color: #0000ff;">"scroll"</span><span style="font-weight: bold; color: #000080;">&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"我要上天"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"#"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">上</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"Q我吧~"</span> <span style="color: #ff0000;">target=</span><span style="color: #0000ff;">"_blank"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"http://wange.im/qq"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">Q</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"邮我吧~"</span> <span style="color: #ff0000;">target=</span><span style="color: #0000ff;">"_blank"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"http://wange.im/gtalk"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">邮</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;a</span> <span style="color: #ff0000;">title=</span><span style="color: #0000ff;">"我要入地"</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"#"</span><span style="font-weight: bold; color: #000080;">&gt;</span><span style="color: #000000;">下</span><span style="font-weight: bold; color: #000080;">&lt;/a&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;/div&gt;</span></div>
<p>CSS 部分：</p>
<div class="source" style="color: #000000; font-family: 'Courier New','Lucida Console','monospace';"><span style="color: #008800; font-style: italic;">/* Start 公共样式 */</span><br />
<span style="font-weight: bold; color: #000080;">body</span> <span style="color: #000000;">{</span><br />
    <span style="font-weight: bold; color: #000080;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">3000px</span>;    <span style="color: #008800; font-style: italic;">/* 为了出现滚动条，强行撑开页面高度 */</span><br />
<span style="color: #000000;">}</span><br />
<span style="color: #000000;">.scroll</span> <span style="font-weight: bold; color: #000080;">a</span> <span style="color: #000000;">{</span><br />
    <span style="font-weight: bold; color: #000080;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">15px</span>;<br />
    <span style="font-weight: bold; color: #000080;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">15px</span>;<br />
    <span style="font-weight: bold; color: #000080;">display</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">block</span>;<br />
    <span style="font-weight: bold; color: #000080;">margin-bottom</span><span style="color: #000000;">:</span><span style="color: #0000ff;">5px</span>;<br />
    <span style="font-weight: bold; color: #000080;">font</span><span style="color: #000000;">:</span><span style="color: #0000ff;">12px</span><span style="color: #000000;">/</span><span style="color: #0000ff;">15px</span> <span style="color: #000000;">Arial</span><span style="color: #000000;">,</span><span style="color: #000000;">SimSun</span>;<br />
    <span style="font-weight: bold; color: #000080;">text-align</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">center</span>;<br />
    <span style="font-weight: bold; color: #000080;">border</span><span style="color: #000000;">:</span><span style="color: #0000ff;">1px</span> <span style="font-weight: bold; color: #000080;">solid</span> <span style="color: #0000ff;">#000</span>;<br />
    <span style="font-weight: bold; color: #000080;">text-decoration</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">none</span>;<br />
<span style="color: #000000;">}</span><br />
<span style="color: #008800; font-style: italic;">/* Start 公共样式 */</span><br />
<span style="color: #008800; font-style: italic;">/* Start 右侧导航滚动 */</span><br />
<span style="color: #000000;">#r</span> <span style="color: #000000;">{</span><br />
    <span style="font-weight: bold; color: #000080;">right</span><span style="color: #000000;">:</span><span style="color: #0000ff;">30%</span>;<br />
    <span style="font-weight: bold; color: #000080;">position</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">absolute</span>;<br />
    <span style="font-weight: bold; color: #000080;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">250px</span>;<br />
<span style="color: #000000;">}</span><br />
<span style="color: #008800; font-style: italic;">/* End 右侧导航滚动 */</span><br />
<span style="color: #008800; font-style: italic;">/* Start 左侧导航滚动 */</span><br />
<span style="color: #000000;">#l</span> <span style="color: #000000;">{</span><br />
    <span style="font-weight: bold; color: #000080;">left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">30%</span>;<br />
    <span style="font-weight: bold; color: #000080;">position</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">fixed</span>;<br />
    <span style="font-weight: bold; color: #000080;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">250px</span>;<br />
    <span style="color: #a61717; background-color: #e3d2d2;">_</span><span style="font-weight: bold; color: #000080;">position</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">absolute</span>;<br />
    <span style="color: #a61717; background-color: #e3d2d2;">_</span><span style="font-weight: bold; color: #000080;">top</span><span style="color: #000000;">:</span><span style="color: #000000;">expression</span>(<span style="color: #0000ff;">250</span><span style="color: #000000;">+</span>((<span style="color: #a61717; background-color: #e3d2d2;">e</span><span style="color: #000000;">=</span><span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">documentElement</span><span style="color: #000000;">.</span><span style="color: #000000;">scrollTop</span>)<span style="color: #000000;">?</span><span style="color: #a61717; background-color: #e3d2d2;">e</span><span style="color: #000000;">:</span><span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">body</span><span style="color: #000000;">.</span><span style="color: #000000;">scrollTop</span>)<span style="color: #000000;">+</span><span style="color: #0000ff;">"px"</span>);<br />
<span style="color: #000000;">}</span><br />
<span style="font-weight: bold; color: #000080;">html</span> <span style="color: #000000;">{</span><br />
    <span style="color: #008800; font-style: italic;">/* 下面两行是为了解决 IE6 下抖动的 bug */</span><br />
    <span style="color: #a61717; background-color: #e3d2d2;">_</span><span style="font-weight: bold; color: #000080;">background-image</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(about:blank)</span>;<br />
    <span style="color: #a61717; background-color: #e3d2d2;">_</span><span style="font-weight: bold; color: #000080;">background-attachment</span><span style="color: #000000;">:</span><span style="font-weight: bold; color: #000080;">fixed</span>;<br />
<span style="color: #000000;">}</span><br />
<span style="color: #008800; font-style: italic;">/* End 左侧导航滚动 */</span></div>
<p>jQuery 部分：</p>
<div class="source" style="color: #000000; font-family: 'Courier New','Lucida Console','monospace';"><span style="color: #008800; font-style: italic;">&lt;!-- 以下脚本仅作用于右侧导航滚动 --&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;script </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/javascript"</span> <span style="color: #ff0000;">src=</span><span style="color: #0000ff;">"https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"</span><span style="font-weight: bold; color: #000080;">&gt;&lt;/script&gt;</span><br />
<span style="font-weight: bold; color: #000080;">&lt;script </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/javascript"</span><span style="font-weight: bold; color: #000080;">&gt;</span><br />
<span style="color: #000000;">$</span>(<span style="color: #000000;">document</span><span style="color: #000000;">).</span><span style="color: #000000;">ready</span>(<span style="font-weight: bold; color: #000080;">function</span><span style="color: #000000;">(){</span><br />
<span style="color: #000000;">$</span>(<span style="color: #000000;">window</span><span style="color: #000000;">).</span><span style="color: #000000;">scroll</span>(<span style="font-weight: bold; color: #000080;">function</span>() <span style="color: #000000;">{</span><br />
<span style="font-weight: bold; color: #000080;">var</span> <span style="color: #000000;">bodyTop</span> <span style="color: #000000;">=</span> <span style="color: #0000ff;">0</span>;<br />
<span style="font-weight: bold; color: #000080;">if</span> (<span style="font-weight: bold; color: #000080;">typeof</span> <span style="color: #000000;">window</span><span style="color: #000000;">.</span><span style="color: #000000;">pageYOffset</span> <span style="color: #000000;">!=</span> <span style="color: #0000ff;">'undefined'</span>) <span style="color: #000000;">{</span><br />
<span style="color: #000000;">bodyTop</span> <span style="color: #000000;">=</span> <span style="color: #000000;">window</span><span style="color: #000000;">.</span><span style="color: #000000;">pageYOffset</span><br />
<span style="color: #000000;">}</span> <span style="font-weight: bold; color: #000080;">else</span> <span style="font-weight: bold; color: #000080;">if</span> (<span style="font-weight: bold; color: #000080;">typeof</span> <span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">compatMode</span> <span style="color: #000000;">!=</span> <span style="color: #0000ff;">'undefined'</span> <span style="color: #000000;">&amp;&amp;</span> <span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">compatMode</span> <span style="color: #000000;">!=</span> <span style="color: #0000ff;">'BackCompat'</span>) <span style="color: #000000;">{</span><br />
<span style="color: #000000;">bodyTop</span> <span style="color: #000000;">=</span> <span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">documentElement</span><span style="color: #000000;">.</span><span style="color: #000000;">scrollTop</span><br />
<span style="color: #000000;">}</span> <span style="font-weight: bold; color: #000080;">else</span> <span style="font-weight: bold; color: #000080;">if</span> (<span style="font-weight: bold; color: #000080;">typeof</span> <span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">body</span> <span style="color: #000000;">!=</span> <span style="color: #0000ff;">'undefined'</span>) <span style="color: #000000;">{</span><br />
<span style="color: #000000;">bodyTop</span> <span style="color: #000000;">=</span> <span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">body</span><span style="color: #000000;">.</span><span style="color: #000000;">scrollTop</span><br />
<span style="color: #000000;">}</span><br />
<span style="color: #000000;">$</span>(<span style="color: #0000ff;">"#r"</span><span style="color: #000000;">).</span><span style="color: #000000;">css</span>(<span style="color: #0000ff;">"top"</span><span style="color: #000000;">,</span> <span style="color: #0000ff;">250</span> <span style="color: #000000;">+</span> <span style="color: #000000;">bodyTop</span>);<br />
<span style="color: #000000;">});</span><br />
<span style="color: #000000;">});</span><br />
<span style="font-weight: bold; color: #000080;">&lt;/script&gt;</span><br />
<span style="color: #008800; font-style: italic;">&lt;!-- 以上脚本仅作用于右侧导航滚动 --&gt;</span></div>
<p>两者可以比较一下，用 jQuery 的方法在拖动浏览器滚动条的时候会有抖动的瑕疵，而用纯 CSS 的方法则很平滑，但是我们也会发现，CSS 的方法中用到了 HACK 和 expression，这都是我们写页面时需要尽量避免的，特别是 expression，不可多用，会影响 IE 浏览器的性能，RP 差一些的还会引起 IE 假死和崩溃。</p>
<p>另外，关于“上天、入地”这样锚链接之间的互相滚动的效果可以参看<a title="JQuery 实现锚点链接之间的平滑滚动" href="http://wange.im/smooth-scroll-with-jquery.html">这篇文章</a>，这里就不重复说明了。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/jquery/" title="jQuery" rel="tag">jQuery</a>,<a href="http://wange.im/tag/scroll-bar/" title="滚动条" rel="tag">滚动条</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/jq-1.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="首页添加页面载入中提示效果" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/loading-effect-by-jquery.html" rel="bookmark" title="首页添加页面载入中提示效果">首页添加页面载入中提示效果</a>        <div class="rl_date">2009年12月4日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/add-scroll-bar-for-wordpress-comment-box.html" rel="bookmark" title="给 Wordpress 评论框加滚动条">给 Wordpress 评论框加滚动条</a>        <div class="rl_date">2009年08月27日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/input-focus-blur-text.html" rel="bookmark" title="input 输入框获得/失去焦点时隐藏/显示文字">input 输入框获得/失去焦点时隐藏/显示文字</a>        <div class="rl_date">2012年05月5日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/marquee-scroll.html" rel="bookmark" title="基于 jQuery 的图片/文字无缝滚动">基于 jQuery 的图片/文字无缝滚动</a>        <div class="rl_date">2011年12月20日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/nav-scroll-in-two-ways.html/feed</wfw:commentRss>
		<slash:comments>118</slash:comments>
		</item>
		<item>
		<title>面向对象的 OOCSS</title>
		<link>http://wange.im/object-oriented-css.html</link>
		<comments>http://wange.im/object-oriented-css.html#comments</comments>
		<pubDate>Fri, 28 Jan 2011 14:56:54 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[OOCSS]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4406</guid>
		<description><![CDATA[前两天在组内小会的时候第一次听说了这个名词：OOCSS（Object-Oriented CSS），翻译过来就是面向对象的 CSS。OOXX 我知道，OOCSS 还真是第一次听说，很新鲜。只是这几天一直忙着没时间去了解什么个 OOXX 的 CSS 才算是 OOCSS （很 YD 的名词拆分法，少儿不宜~~~）今天终于把手上的工作结束了，也就翻了一些相关的资料，我不想说的很专业，一方面我自己也没有完全理解，另一方面也只是谈谈对新鲜事物的看法。 先撇开 CSS 不说，关于面向对象这个概念，我记得接触得最多的也就是大学里才学过的面向对象程序设计了，虽然基本上已经把那些程序语言忘得差不多了，只能用一些关键词来描述我所理解的什么“面向对象”，那就是：对象、类、封装、重用性、灵活性、扩展性。 其实对于 CSS 而言，本来就有类和重用性的概念在里面了，那什么是 OOCSS 呢？我看了一些相关资料，总结了一下自己的看法。我们现在所认为的 WEB 标准就是将结构、表现、行为这三者分离，CSS 就是负责其中的“表现”，而 OOCSS 认为“表现”还可以分离为容器和内容，可能这么说还比较抽象。我来举个例子，OOCSS 就是一个句子，句子的主谓宾就是它的“容器”，句子的定语、状语、补语就是它的“内容”，我们把主谓宾把握住了，就可以基本固定整个页面的结构，而定状补只是用来修饰整个页面结构，OOCSS 的理念是把这些修饰样式分离出来，这样做的理由就是可以为日后页面快速改版留有接口和余地。 仅用文字来描述 OOCSS 总会有些无力，再举个例子： &#60;div class="WanGe blogger sexy"&#62;是 OOCSS，不是 OOXX~~~&#60;/div&#62; 我们这里只需要关注我给它加的 class，首先，我用 WanGe 这个 class 来定义这个 div，基本结构可以写在这个 class 里，然后用其他 class 来描述这个 div，比如说，我们知道 WanGe 是个 blogger，而且很 sexy，那就可以这样定义，如果哪天我们需要对页面进行改版，给 WanGe 增加一些特性，比如说 [...]]]></description>
			<content:encoded><![CDATA[<p>前两天在组内小会的时候第一次听说了这个名词：OOCSS（Object-Oriented CSS），翻译过来就是面向对象的 CSS。OOXX 我知道，OOCSS 还真是第一次听说，很新鲜。只是这几天一直忙着没时间去了解什么个 OOXX 的 CSS 才算是 OOCSS （很 YD 的名词拆分法，少儿不宜~~~）今天终于把手上的工作结束了，也就翻了一些相关的资料，我不想说的很专业，一方面我自己也没有完全理解，另一方面也只是谈谈对新鲜事物的看法。</p>
<p>先撇开 CSS 不说，关于面向对象这个概念，我记得接触得最多的也就是大学里才学过的面向对象程序设计了，虽然基本上已经把那些程序语言忘得差不多了，只能用一些关键词来描述我所理解的什么“面向对象”，那就是：对象、类、封装、重用性、灵活性、扩展性。</p>
<p>其实对于 CSS 而言，本来就有类和重用性的概念在里面了，那什么是 OOCSS 呢？我看了一些相关资料，总结了一下自己的看法。我们现在所认为的 WEB 标准就是将结构、表现、行为这三者分离，CSS 就是负责其中的“表现”，而 OOCSS 认为“表现”还可以分离为容器和内容，可能这么说还比较抽象。我来举个例子，OOCSS 就是一个句子，句子的主谓宾就是它的“容器”，句子的定语、状语、补语就是它的“内容”，我们把主谓宾把握住了，就可以基本固定整个页面的结构，而定状补只是用来修饰整个页面结构，OOCSS 的理念是把这些修饰样式分离出来，这样做的理由就是可以为日后页面快速改版留有接口和余地。</p>
<p>仅用文字来描述 OOCSS 总会有些无力，再举个例子：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000000;">&lt;</span><span style="color: #000080; font-weight: bold;">div</span> <span style="color: #000080; font-weight: bold;">class</span><span style="color: #000000;">=</span><span style="color: #0000ff;">"WanGe blogger sexy"</span><span style="color: #000000;">&gt;</span><span style="color: #a61717;">是</span> <span style="color: #000080; font-weight: bold;">OOCSS</span><span style="color: #a61717;">，不是</span> <span style="color: #000080; font-weight: bold;">OOXX</span><span style="color: #000000;">~~~&lt;/</span><span style="color: #000080; font-weight: bold;">div</span><span style="color: #000000;">&gt;</span></div>
<p>我们这里只需要关注我给它加的 class，首先，我用 WanGe 这个 class 来定义这个 div，基本结构可以写在这个 class 里，然后用其他 class 来描述这个 div，比如说，我们知道 WanGe 是个 blogger，而且很 sexy，那就可以这样定义，如果哪天我们需要对页面进行改版，给 WanGe 增加一些特性，比如说 handsome，那可以继续把这个 class 加在 sexy 后面，或者替换 sexy 这个 class。</p>
<p>那我们为什么不把 blogger、sexy、handsome 这些相对应的值都加在 WanGe 这个 class 值里面呢？这就是 OOCSS 的奥义所在了，迅速改版！仅是替换/增加/减少一个 class 就可以大范围改变页面风格，另外，这样也可以避免触动到页面基本布局的样式结构。</p>
<p>那什么时候适合用 OOCSS 呢？我个人认为，OOCSS 的真正关键在于它的灵活性和扩展性，像博客这样的小型网站并没有太大的必要使用这种方法，因为这样会增加不少 class，让页面结构相对累赘了不少，大型的门户企业网站倒是很适合使用。再回头来看我现在的主题，也无意之间用到了一些 OOCSS 的理念，比如，我把所有圆角效果分离出来单独列了一个 class="radius"，不过这也只能体现这个 OOCSS 原理的雏形。</p>
<p>唠了一大篇，各位路过的大神们，不知有何高见呢？</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/oocss/" title="OOCSS" rel="tag">OOCSS</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/web-page-layout-grid.html" rel="bookmark" title="网页栅格化布局之我见">网页栅格化布局之我见</a>        <div class="rl_date">2011年04月29日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/floating-element-center.html" rel="bookmark" title="浮动元素的水平居中">浮动元素的水平居中</a>        <div class="rl_date">2011年04月4日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/cssforest.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="你看这个链接2不2？" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/webdings-font-family.html" rel="bookmark" title="你看这个链接2不2？">你看这个链接2不2？</a>        <div class="rl_date">2011年03月16日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/tree-html.html" rel="bookmark" title="自适应树型结构的 HTML">自适应树型结构的 HTML</a>        <div class="rl_date">2011年02月17日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/object-oriented-css.html/feed</wfw:commentRss>
		<slash:comments>100</slash:comments>
		</item>
		<item>
		<title>让浏览器的私有属性通过 W3C 验证</title>
		<link>http://wange.im/private-property-checked-w3c-validation.html</link>
		<comments>http://wange.im/private-property-checked-w3c-validation.html#comments</comments>
		<pubDate>Sat, 15 Jan 2011 14:04:24 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4363</guid>
		<description><![CDATA[用过 Willin 大师 A9 主题的小盆友应该都会感叹这款主题的强大和代码的规范精简，虽然我没有用过大师的这款主题，但是我也曾下载了一个研究过，有很多细节值得学习。其中就有一个技巧让我叹为观止，就是让浏览器的一些私有属性通过 W3C 验证！特地拿过来分享给大家。 我们知道，像 border-radius 这样一些 CSS3 的属性即使在高级的 Firefox、Chrome 等浏览器中也是不能直接支持的，必须要加上 -moz-、-webkit- 这样的私有属性前缀才可以让浏览器们支持。但是很遗憾的是，在样式表中加上这些私有属性之后就无法通过 W3C 的验证，CSS2.0 说我们家族里没有 border-radius 这样的属性，CSS3.0 说我们家族里没有 -moz-、-webkit- 这样的怪胎。多杯具呀。 Willin 大师的方法让私有属性的 W3C 验证不再杯具（不知道是不是 Willin 大师的首创，至少这招我是从他那里学来的）。怎么一个方法呢？其实很简单，就是把样式写进 Javascript，W3C 验证会无视脚本，多简单的原理，只是我们都没有想到这一点。 举个例子，如下样式： &#60;style type="text/css"&#62;     .box{-moz-border-radius:5px;} &#60;/style&#62; 如果要写进 Javascript 的话就应该是： &#60;script type="text/javascript"&#62;     document.write('&#60;style type="text\/css"&#62;.box{-moz-border-radius:5px;}&#60;\/style&#62;'); &#60;/script&#62; 就是这样简单的转换就可以帮助你的浏览器私有属性通过 W3C 的验证，当然有了这个原理，我们还可以扩展一下，比如说 IE 的滤镜、expression 等被 W3C 认为是非法的东东都可以扔进脚本里绕开验证。 感谢 [...]]]></description>
			<content:encoded><![CDATA[<p>用过 Willin 大师 <a title="A9 主題下載" href="http://kan.willin.org/?p=1330" target="_blank">A9 主题</a>的小盆友应该都会感叹这款主题的强大和代码的规范精简，虽然我没有用过大师的这款主题，但是我也曾下载了一个研究过，有很多细节值得学习。其中就有一个技巧让我叹为观止，就是让浏览器的一些私有属性通过 W3C 验证！特地拿过来分享给大家。</p>
<p>我们知道，像 border-radius 这样一些 CSS3 的属性即使在高级的 Firefox、Chrome 等浏览器中也是不能直接支持的，必须要加上 -moz-、-webkit- 这样的私有属性前缀才可以让浏览器们支持。但是很遗憾的是，在样式表中加上这些私有属性之后就无法通过 W3C 的验证，CSS2.0 说我们家族里没有 border-radius 这样的属性，CSS3.0 说我们家族里没有 -moz-、-webkit- 这样的怪胎。多杯具呀。</p>
<p>Willin 大师的方法让私有属性的 W3C 验证不再杯具（不知道是不是 Willin 大师的首创，至少这招我是从他那里学来的）。怎么一个方法呢？其实很简单，就是把样式写进 Javascript，W3C 验证会无视脚本，多简单的原理，只是我们都没有想到这一点。</p>
<p>举个例子，如下样式：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000080; font-weight: bold;">&lt;style </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/css"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
    <span style="color: #000000;">.box</span><span style="color: #000000;">{</span><span style="color: #000000;">-</span><span style="color: #000000;">moz</span><span style="color: #000000;">-</span><span style="color: #000080; font-weight: bold;">border</span><span style="color: #000000;">-</span><span style="color: #000000;">radius</span><span style="color: #000000;">:</span><span style="color: #0000ff;">5px</span><span style="color: #000000;">;}</span><br />
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span></div>
<p>如果要写进 Javascript 的话就应该是：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000080; font-weight: bold;">&lt;script </span><span style="color: #ff0000;">type=</span><span style="color: #0000ff;">"text/javascript"</span><span style="color: #000080; font-weight: bold;">&gt;</span><br />
    <span style="color: #000000;">document</span><span style="color: #000000;">.</span><span style="color: #000000;">write</span>(<span style="color: #0000ff;">'&lt;style type="text\/css"&gt;.box{-moz-border-radius:5px;}&lt;\/style&gt;'</span>);<br />
<span style="color: #000080; font-weight: bold;">&lt;/script&gt;</span></div>
<p>就是这样简单的转换就可以帮助你的浏览器私有属性通过 W3C 的验证，当然有了这个原理，我们还可以扩展一下，比如说 IE 的滤镜、expression 等被 W3C 认为是非法的东东都可以扔进脚本里绕开验证。</p>
<p>感谢 Willin 大师的这个方法，让我的 <a title="万戈牌主题上线测试" href="http://wange.im/wange-theme-beta.html">HTML5 主题</a>顺利通过了 HTML5 和 CSS3 的 W3C 验证。有个神级的重构牛人和我说过这样一句话：验证不是目的，验证只是手段，通过验证来检验自己在编写样式的时候有没有出现低级的语法错误。这句话很受用，但是为了我那对代码有着洁癖的完美主义，我还是用了这样那样的手段让自己的网站通过这样那样的验证。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/w3c/" title="W3C" rel="tag">W3C</a>,<a href="http://wange.im/tag/browser/" title="浏览器" rel="tag">浏览器</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/div-css-and-ie.html" rel="bookmark" title="DIV+CSS与不同IE版本等的兼容性">DIV+CSS与不同IE版本等的兼容性</a>        <div class="rl_date">2010年01月31日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/simple-trick-to-solve-the-compatibility-issue-in-ie8.html" rel="bookmark" title="一招简单解决IE8兼容问题">一招简单解决IE8兼容问题</a>        <div class="rl_date">2009年05月23日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/cssforest.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="你看这个链接2不2？" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/webdings-font-family.html" rel="bookmark" title="你看这个链接2不2？">你看这个链接2不2？</a>        <div class="rl_date">2011年03月16日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/x-ua-compatible-ie9-to-ie7.html" rel="bookmark" title="让 IE9 见他爷爷去吧">让 IE9 见他爷爷去吧</a>        <div class="rl_date">2011年01月11日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/private-property-checked-w3c-validation.html/feed</wfw:commentRss>
		<slash:comments>155</slash:comments>
		</item>
		<item>
		<title>CSS 技巧之渐变文字</title>
		<link>http://wange.im/gradient-text.html</link>
		<comments>http://wange.im/gradient-text.html#comments</comments>
		<pubDate>Thu, 30 Dec 2010 13:35:52 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[渐变]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4279</guid>
		<description><![CDATA[渐变用的好是很帅的一个效果，最近在自娱自乐的时候就在想这个问题。我们都知道 CSS3 中有使背景颜色渐变的属性，虽然 Firefox、Chrome 依旧是各自为阵用着私用属性才能实现，而 IE 也可以用滤镜勉强实现背景渐变的效果，但是，却没有文字渐变的属性，很遗憾。不知道是开发 CSS 的大牛在开发的时候给忘了？为啥阴影可以分 text-shadow 和 box-shadow，渐变咋就不行呢？ 好了，发完牢骚，切入正题，没有原始的 CSS 属性可以实现文字渐变，那就自己动手，模拟一个渐变文字吧。先来看一个 DEMO 吧。下面上代码： 1.HTML 很简单，就一行： &#60;h2&#62;&#60;a href="http://wange.im/gradient-text.html"&#62;&#60;span&#62;&#60;/span&#62;CSS 技巧之渐变文字&#60;/a&#62;&#60;/h2&#62; 注意看哟，这个不是一般的 h2 里套 a，还有一组 span 空标签哟~这文字渐变的关键就在这组 span 上了。 2.再来看 CSS 部分： body{background:#000;} h2{position:relative;} h2 span{width:100%;height:20px;position:absolute;cursor:pointer;top:0;background:url(gradient-dark.png) repeat-x;} h2 a{text-decoration:none;font:19px/20px Arial,"Microsoft YaHei",SimSun;color:#fff;} h2 a:hover{color:#1A88A8;} 稍微解释一下吧，把这里的 h2 作为相对定位，然后 h2 的子标签以 h2 为基准绝对定位，横向平铺一张 1px 宽的透明渐变图片，使 span 同级覆盖在 [...]]]></description>
			<content:encoded><![CDATA[<p>渐变用的好是很帅的一个效果，最近在自娱自乐的时候就在想这个问题。我们都知道 CSS3 中有使背景颜色渐变的属性，虽然 Firefox、Chrome 依旧是各自为阵用着私用属性才能实现，而 IE 也可以用滤镜勉强实现背景渐变的效果，但是，却没有文字渐变的属性，很遗憾。不知道是开发 CSS 的大牛在开发的时候给忘了？为啥阴影可以分 text-shadow 和 box-shadow，渐变咋就不行呢？</p>
<p>好了，发完牢骚，切入正题，没有原始的 CSS 属性可以实现文字渐变，那就自己动手，模拟一个渐变文字吧。先来看一个 <a title="CSS 技巧之渐变文字" href="http://wange.im/demo/gradient-text/">DEMO</a> 吧。下面上代码：</p>
<p>1.HTML 很简单，就一行：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000080; font-weight: bold;">&lt;h2&gt;&lt;a</span> <span style="color: #ff0000;">href=</span><span style="color: #0000ff;">"http://wange.im/gradient-text.html"</span><span style="color: #000080; font-weight: bold;">&gt;&lt;span&gt;&lt;/span&gt;</span><span style="color: #000000;">CSS 技巧之渐变文字</span><span style="color: #000080; font-weight: bold;">&lt;/a&gt;&lt;/h2&gt;</span></div>
<p>注意看哟，这个不是一般的 h2 里套 a，还有一组 span 空标签哟~这文字渐变的关键就在这组 span 上了。</p>
<p>2.再来看 CSS 部分：</p>
<div class="source" style="font-family: 'Courier New', 'Consolas', 'Lucida Console'; color: #000000;"><span style="color: #000080; font-weight: bold;">body</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#000</span><span style="color: #000000;">;}</span><br />
<span style="color: #000080; font-weight: bold;">h2</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">relative</span><span style="color: #000000;">;}</span><br />
<span style="color: #000080; font-weight: bold;">h2</span> <span style="color: #000080; font-weight: bold;">span</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">100%</span>;<span style="color: #000080; font-weight: bold;">height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">20px</span>;<span style="color: #000080; font-weight: bold;">position</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">absolute</span>;<span style="color: #000080; font-weight: bold;">cursor</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">pointer</span>;<span style="color: #000080; font-weight: bold;">top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">0</span>;<span style="color: #000080; font-weight: bold;">background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(gradient-dark.png)</span> <span style="color: #000080; font-weight: bold;">repeat-x</span><span style="color: #000000;">;}</span><br />
<span style="color: #000080; font-weight: bold;">h2</span> <span style="color: #000080; font-weight: bold;">a</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">text-decoration</span><span style="color: #000000;">:</span><span style="color: #000080; font-weight: bold;">none</span>;<span style="color: #000080; font-weight: bold;">font</span><span style="color: #000000;">:</span><span style="color: #0000ff;">19px</span><span style="color: #000000;">/</span><span style="color: #0000ff;">20px</span> <span style="color: #000000;">Arial</span><span style="color: #000000;">,</span><span style="color: #0000ff;">"Microsoft YaHei"</span><span style="color: #000000;">,</span><span style="color: #000000;">SimSun</span>;<span style="color: #000080; font-weight: bold;">color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#fff</span><span style="color: #000000;">;}</span><br />
<span style="color: #000080; font-weight: bold;">h2</span> <span style="color: #000080; font-weight: bold;">a</span><span style="color: #000000;">:hover</span><span style="color: #000000;">{</span><span style="color: #000080; font-weight: bold;">color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">#1A88A8</span><span style="color: #000000;">;}</span></div>
<p>稍微解释一下吧，把这里的 h2 作为相对定位，然后 h2 的子标签以 h2 为基准绝对定位，横向平铺一张 1px 宽的透明渐变图片，使 span 同级覆盖在 a 之上，是不是很帅呀？</p>
<p>另外，仔细的童鞋也会注意到这里用到了透明图片，那在 IE6 下是不是会杯具呢？当然会，所以还需要 fix ie6 的 PNG 透明问题，这里就不作介绍了，我在 DEMO 中已经用上了一种我最常用最喜欢的方法，有兴趣的可以研究下 <a title="CSS 技巧之渐变文字" href="http://wange.im/demo/gradient-text/">DEMO</a> 的源码。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/png/" title="PNG" rel="tag">PNG</a>,<a href="http://wange.im/tag/gradient/" title="渐变" rel="tag">渐变</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/web-page-layout-grid.html" rel="bookmark" title="网页栅格化布局之我见">网页栅格化布局之我见</a>        <div class="rl_date">2011年04月29日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/floating-element-center.html" rel="bookmark" title="浮动元素的水平居中">浮动元素的水平居中</a>        <div class="rl_date">2011年04月4日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/cssforest.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="你看这个链接2不2？" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/webdings-font-family.html" rel="bookmark" title="你看这个链接2不2？">你看这个链接2不2？</a>        <div class="rl_date">2011年03月16日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/tree-html.html" rel="bookmark" title="自适应树型结构的 HTML">自适应树型结构的 HTML</a>        <div class="rl_date">2011年02月17日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/gradient-text.html/feed</wfw:commentRss>
		<slash:comments>116</slash:comments>
		</item>
		<item>
		<title>CSS 中 font 的 px 与 em 的区别</title>
		<link>http://wange.im/px-and-em-in-css.html</link>
		<comments>http://wange.im/px-and-em-in-css.html#comments</comments>
		<pubDate>Thu, 23 Dec 2010 12:51:36 +0000</pubDate>
		<dc:creator>万戈</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://wange.im/?p=4238</guid>
		<description><![CDATA[在过去很长一段时间里，我都被 CSS 中字体大小的单位所困扰，px、em、pt、%……其他都很好理解，只有那个 em 让我有些糊涂了，我知道，px 是像素单位，而 em 是相对单位，可我觉得用 px 一个单位就可以覆盖网站上所有的字体单位，那还要 em 这些干什么？结果我错了，而且错得那么无知。如果你和我一样混淆使用着 px 和 em，那么你应该改改这个坏习惯了。 如果你不服气，很正常，要一下子改掉这个坏习惯没有说服力的证据很难让人信服。还是先来看一个 DEMO 吧，一定要用 IE 浏览器看哟，因为在 IE 浏览器菜单中的查看-文字大小有“最大、较大、中、较小、最小”五个层次选项可以调节，看到什么变化了吗？是的，用 px 作为单位的那行文字无论怎么调节都是固定不变的，用 em 作为单位的那行文字就可以随着浏览器对字体大小控制而变化。这就是两者的区别！ 继续刨根问底一下，那么在写样式的时候，我们怎么控制 em 和 px 呢？换句话说，em 和 px 的比例关系是什么呢？已经有前辈找到了答案，在未经 reset 的浏览器都符合以下比例：16px = 1em，也就是说那么 10px = 0.625em。如此一来，我们可以在 body 中添加 font-size:62.5%; 于是乎，1em = 16px*62.5% = 10px; 1.2em = 12px; 1.4em = 14px。 [...]]]></description>
			<content:encoded><![CDATA[<p>在过去很长一段时间里，我都被 CSS 中字体大小的单位所困扰，px、em、pt、%……其他都很好理解，只有那个 em 让我有些糊涂了，我知道，px 是像素单位，而 em 是相对单位，可我觉得用 px 一个单位就可以覆盖网站上所有的字体单位，那还要 em 这些干什么？结果我错了，而且错得那么无知。如果你和我一样混淆使用着 px 和 em，那么你应该改改这个坏习惯了。</p>
<p><img style="float: right;" src="http://public.bay.livefilestore.com/y1puHJX1Ed2U8JSHyZvbGsmTXgL5QngcWGpdCTwz_cj7T0s5IDD7iglGysnhnXJGq1K4id3weSvxrYLQQQsZ7QNUg/font-size.jpg" alt="" />如果你不服气，很正常，要一下子改掉这个坏习惯没有说服力的证据很难让人信服。还是先来看一个 <a title="CSS 中 font 的 px 与 em 的区别" href="http://wange.im/demo/font-size/">DEMO</a> 吧，一定要用 IE 浏览器看哟，因为在 IE 浏览器菜单中的查看-文字大小有“最大、较大、中、较小、最小”五个层次选项可以调节，看到什么变化了吗？是的，用 px 作为单位的那行文字无论怎么调节都是固定不变的，用 em 作为单位的那行文字就可以随着浏览器对字体大小控制而变化。这就是两者的区别！</p>
<p>继续刨根问底一下，那么在写样式的时候，我们怎么控制 em 和 px 呢？换句话说，em 和 px 的比例关系是什么呢？已经有前辈找到了答案，在未经 reset 的浏览器都符合以下比例：16px = 1em，也就是说那么 10px = 0.625em。如此一来，我们可以在 body 中添加 font-size:62.5%; 于是乎，1em = 16px*62.5% = 10px; 1.2em = 12px; 1.4em = 14px。</p>
<p>有的同学要问了，不是16px = 1em 吗？怎么一会儿又变成 10px = 1em 了？没错，这就是 em 的魅力所在，也就是之前所提到的 em 是相对单位的优势。这样转换是为了我们可以更方便地使用 em 这个单位，因为这就是一个十倍的关系。</p>
<p>是不是对 px 和 em 有了一个全新的认识呢？现在再回过头来看看这个 <a title="CSS 中 font 的 px 与 em 的区别" href="http://wange.im/demo/font-size/">DEMO</a>，我想你会有兴趣看看此页的源代码，你也可以自己试着写一个比较体会一下 px 和 em。希望没有把你弄晕。</p>
<div id="rl_posts">    <div id="rl_posts_hd" class="box_hd">        <span id="rl_posts_title" class="box_title">与 <h2 itemprop="keywords"><a href="http://wange.im/tag/css/" title="CSS" rel="tag">CSS</a>,<a href="http://wange.im/tag/browser/" title="浏览器" rel="tag">浏览器</a></h2> 相关的文章        </span>    </div>    <div id="rl_posts_bd">        <ul class="clearfix"><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/timthumb.php?src=http://wange.im/cache/cssforest.jpg&amp;h=45&amp;w=45&amp;zc=1" alt="你看这个链接2不2？" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/webdings-font-family.html" rel="bookmark" title="你看这个链接2不2？">你看这个链接2不2？</a>        <div class="rl_date">2011年03月16日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/private-property-checked-w3c-validation.html" rel="bookmark" title="让浏览器的私有属性通过 W3C 验证">让浏览器的私有属性通过 W3C 验证</a>        <div class="rl_date">2011年01月15日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/blink-effect-with-css-or-js.html" rel="bookmark" title="CSS 或 JS 实现闪烁文字">CSS 或 JS 实现闪烁文字</a>        <div class="rl_date">2010年02月8日</div>    </div></li><li>    <div class="rl_thumb"><img src="http://wange.im/wp-content/themes/wange/imgs/category/computer.jpg" alt="电脑网络" width="45" height="45" itemprop="thumbnailUrl" />    </div>    <div class="rl_title">        <a href="http://wange.im/div-css-and-ie.html" rel="bookmark" title="DIV+CSS与不同IE版本等的兼容性">DIV+CSS与不同IE版本等的兼容性</a>        <div class="rl_date">2010年01月31日</div>    </div></li>        </ul>    </div></div>]]></content:encoded>
			<wfw:commentRss>http://wange.im/px-and-em-in-css.html/feed</wfw:commentRss>
		<slash:comments>97</slash:comments>
		</item>
	</channel>
</rss>

