<?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>Think Again &#187; CSS</title>
	<atom:link href="http://www.thinkagain.cn/archives/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://www.thinkagain.cn</link>
	<description>Inspire thinking, inspire creativity, inspire future.</description>
	<lastBuildDate>Wed, 01 Feb 2012 07:31:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>继续修改模板</title>
		<link>http://www.thinkagain.cn/archives/721.html</link>
		<comments>http://www.thinkagain.cn/archives/721.html#comments</comments>
		<pubDate>Sat, 15 Sep 2007 14:41:27 +0000</pubDate>
		<dc:creator>山之岚</dc:creator>
				<category><![CDATA[Blogger]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.thinkagain.cn/archives/721.html</guid>
		<description><![CDATA[继将CSS修改符合W3C规范后，今天花了点时间，也将模板代码修改完毕，通过W3C XHTML 1.0 Transitional验证。若不是好友风暴轻狂的提醒，我自己以前还从未注意过这些验证问题。不过狂兄最近似乎比... ]]></description>
			<content:encoded><![CDATA[<p>继将CSS修改符合W3C规范后，今天花了点时间，也将模板代码修改完毕，通过W3C XHTML 1.0 Transitional验证。若不是好友<a href="http://lxz.name" target="_blank">风暴轻狂</a>的提醒，我自己以前还从未注意过这些验证问题。不过狂兄最近似乎比较忙，很久没看到他的狂言了。</p>
<p>一直对自己现有的模板不太满意，无论是布局还是配色。且因为编写该模板时，自己刚接触Wordpress，不说php，当时连对html和css等基本不懂，几乎是边写模板，边查资料这样编过来的，所以很多地方都不符合规范。用W3C的在线XHTML检查，会查出多达几百个错误。本想花点时间重新写一个模板，计划回归2栏布局，昨天和<a href="http://ecvip.org" target="_blank">Oxygen</a>聊天，他告诉我，这是“审美疲劳”现象。回过头，想想也是，当初&#8221;<a href="http://www.thinkagain.cn/archives/103.html">首个3 columns WordPress模板制作完毕!</a>&#8220;时，也曾是无比兴奋。</p>
<p>今天是周六，研究室人比较少，难得清静。于是就挂上耳麦，边听&#8221;辛晓琪的爱的回答&#8221;，开始修改现有模板代码。一动手，马上就发现不少问题，禁不住开始要骂TMD了。看来不仅仅是我的代码，很多插件生成的代码等通不过W3C验证，随便列举几个：</p>
<p>插件生成的代码无法通过验证：</p>
<blockquote><p>Akismet提供的Spam数查看代码；</p>
<p>WS Download Manager生成的下载框代码；</p>
<p>Pagenavi提供的下拉页面显示框代码；</p>
</blockquote>
<p>&nbsp;</p>
<p>WordPress提供的下拉存档显示框代码无法通过验证，wp_get_archives函数，WP官方提供的dropdown Box代码：</p>
<blockquote><p><span style="color: #0000ff">&lt;</span><span style="color: #800000">select </span><span style="color: #ff0000">name</span>=<span style="color: #0000ff">&#8220;archive-dropdown&#8221; </span><span style="color: #ff0000">onChange</span></p>
<p><span style="color: #ff0000"></span>=<span style="color: #0000ff">&#8216;document</span><span style="color: #0000ff">.location.href=this.options</span></p>
<p><span style="color: #0000ff">[this.selectedIndex].value;&#8217;</span><span style="color: #0000ff">&gt;</span></p>
<p><span style="color: #0000ff"></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">option</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">&#8220;&#8221;</span><span style="color: #0000ff">&gt;</span></p>
<p><span style="color: #0000ff"></span><span style="color: #0000ff">&lt;?</span>php <a style="color: #0000ff" href="http://www.php.net/echo">echo</a> attribute_escape(__(&#8216;<span style="color: #8b0000">Select Month</span>&#8216;)); <span style="color: #0000ff">?&gt;</span></p>
<p><span style="color: #0000ff"></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">option</span><span style="color: #0000ff">&gt;</span></p>
<p><span style="color: #0000ff">&lt;?</span>php wp_get_archives(&#8216;<span style="color: #8b0000">type=monthly&amp;format=option&amp;show_post_count=1</span></p>
<p><span style="color: #8b0000"></span>&#8216;); <span style="color: #0000ff">?&gt;</span> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">select</span><span style="color: #0000ff">&gt;</span></p>
</blockquote>
<p>其中<span style="color: red">onChange</span>是大写，但Xhtml中所有元素必须是以小写形式出现，所以务必将<span style="color: red">onChange</span>改为<span style="color: red">onchange</span>。</p>
<p><span style="color: #0000ff"></span>&nbsp;</p>
<p>&nbsp;</p>
<p>Windows Live Writer编写的代码无法通过验证：</p>
<blockquote><p>WLW自带的表格编制功能编制的表格中，会自动生成<span style="color: red">unSelectable=&#8221;on&#8221;</span>，务必将该代码删掉。</p>
</blockquote>
<blockquote><p>WLW的图片编辑功能，有的会自动生成<span style="color: red">atomicselection=&#8221;true&#8221;</span>，必须删除该代码。</p>
</blockquote>
<blockquote><p>WLW插入图片，均为&lt;img src=&#8221;**&#8221;&gt;，此种写法，虽可以正常显示图片，但规范的写法是&lt;img src=&#8221;**&#8221;/&gt;，即每个img必须要有闭合符号/。</p>
</blockquote>
<p>&nbsp;</p>
<p>还有，Google Adsense Search代码无法通过验证，只好暂替换为WP自带的站内搜索了。Youtube提供的视频内嵌html代码也无法通过验证。这个不完全是Youtube的问题，因为Youtube的flv视频属于flash，而Xhtml对flash的支持较差。除了以上的一些问题外，其实只要在编制模板的时候，小心注意下，都能通过W3C的验证。总结了些，希望能够有所帮助，如：</p>
<p>1.页首，一般在header.php内，一定要有文档类型声明，如下面代码将文档声明为XHTML 1.0 Transitional。</p>
<blockquote><p><span style="color: #0000ff">&lt;</span>!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; </p>
<p>&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;<span style="color: #0000ff">&gt;</span></p>
<p><span style="color: #0000ff"></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span> <span style="color: #ff0000">xmlns</span>=<span style="color: #0000ff">http://www.w3.org/1999/xhtml</span></p>
<p><span style="color: #0000ff"></span>&nbsp;&lt;?<span style="color: #ff0000">php</span> <span style="color: #ff0000">language_attributes</span>(); ?<span style="color: #0000ff">&gt;</span>&gt;</p>
<p><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span> <span style="color: #ff0000">profile</span>=<span style="color: #0000ff">&#8220;http://gmpg.org/xfn/11&#8243;</span><span style="color: #0000ff">&gt;</span></p>
<p><span style="color: #0000ff">&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;</span></p>
<p><span style="color: #0000ff">&lt;?php bloginfo(&#8216;html_type&#8217;); ?&gt;;</span></p>
<p><span style="color: #0000ff">&nbsp;charset=&lt;?php bloginfo(&#8216;charset&#8217;); ?&gt;&#8221; /&gt;</span></p>
</blockquote>
<p>&nbsp;</p>
<p>2.代码中的每个元素的前后标签必须都有，且前后标签内必须包含内容，即不能存在空元素。如&lt;ul&gt;&lt;/ul&gt;是非法的，且&lt;p&gt;&lt;p&gt;****&lt;/p&gt;&lt;/p&gt;之类的重复嵌套也是非法。</p>
<p>3.诸如&lt;br&gt;&lt;hr&gt;等标签必须包括闭合符/，如&lt;br&gt;是非法，而正确的是&lt;br/&gt;。</p>
<p>4.img元素必须包括alt属性，否则将视为错误。</p>
<p>5.所有元素都应该以小写形式出现。</p>
<p>6.&amp;符号，必须以&amp;amp;形式出现等。</p>
<p>晚上将目前首页内含的8个文章的html代码都修改了，除了含有ws download下载框和youtube视频外，其它的几篇都可以通过W3C验证。拟将几个页面代码修改下，其余文章就算了，任其自然吧。重要的是从现在开始要注意所发文章的代码了，因为习惯用WLW写文章，而WLW竟然存在这么多兼容性问题，所以以后每篇文章发布前都要检查下其html。看来用WLW等编辑软件离线发布文章时，最好要养成检查html代码的习惯。</p>
<p>修改模板的同时，顺手将最新留言的函数Hack了，原来留言只部分留言内容，现在改为显示留言者名字和留言内容。稍微调整了下侧边栏和页脚的显示内容，挂上了W3C XHTML和CSS验证标志，嘿嘿，以及CreativeCommon的版权说明logo。接下来打算安排点时间，将站内搜索改为Google Ajax Search，以及继续修改模板的CSS。今天只修改了菜单栏的字体显示效果，改天要来个大动作，将颜色搭配等修改下。</p>
<hr/><p style="font-size:1.5em;font-weight:bold;"><a href="http://www.thinkagain.cn/archives/721.html#comments">评论4:</a></p><p><strong>4.</strong><i>2007.09.24.9:31.am</i>.&nbsp;<a href="http://www.thinkagain.cn">山之岚</a>: 狂兄说得对。我也开始糊涂，模板到底该怎么弄了。</p><p><strong>3.</strong><i>2007.09.23.8:44.pm</i>.&nbsp;<a href="http://neimba.com">yuanzhu</a>: 模板真的不错，尤其是上面的标题画</p><p><strong>2.</strong><i>2007.09.23.1:40.pm</i>.&nbsp;<a href="http://lxz.name">ddkk3000</a>: 模板越简单越不易疲劳，字体越大越方便阅读。边栏越少越好，否则游客不会看，而且不容易集中阅读，影响视觉啊。</p><p><strong>1.</strong><i>2007.09.18.12:29.pm</i>.&nbsp;<a href="http://www.marketing-life.cn">Shaoqing</a>: 还是别改成两栏了。我采用的是两栏，SIDEBAR太多东西，拉得很长，感觉不是很好。
最新留言栏，改得不错啊，比之前的好。
另外，自带的日历样子实在太看，不会修改，我还是没用它。</p><hr/><p style="font-size:1.5em;font-weight:bold;">推荐阅读</p><p><i>2008.09.09.8:58.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/994.html" title="今天，Wordpress官方发布了2.6.2版。没有跑去Trac看代码变动地方，直接就将程">Wordpress Hacks:WP2.2版后中文邮件标题乱码解决方法 (22)</a></p><p><i>2008.07.27.10:44.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/971.html" title="WP2.6带来了很多新功能。如后台的turbo等。相比2.3到2.5，2.5到2.6之间给我的">Wordpress Hacks:如何关闭WP2.6的主题预览 (18)</a></p><p><i>2007.12.08.10:50.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/888.html" title="2007-12-09：注，我已经写了一个插件用于含有nextpage或more标签的feed全文输出">如何使用Wordpress内置的分页（Nextpage）功能？ (52)</a></p><p><i>2007.10.31.12:42.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/830.html" title="Updated:此问题已经在2.3.3中被修复。
*****************************
前几天，将Wordp">Wordpress Hacks:升级2.3.1可能出现邮件提醒失效的解决方法 (20)</a></p><p><i>2007.10.22.11:05.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/822.html" title="在wordpress中，默认点击评论者的链接时，会在同一窗口内打开该链接。这在">Wordpress Hacks: 在新窗口中打开评论者链接和no follow属性 (16)</a></p><p><i>2007.09.11.8:43.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/707.html" title="晚上写extended summary实在是无聊之极，打开FF又逛到了Blog上。回想起曾和风">CSS通过W3C验证 (5)</a></p><p><i>2007.08.21.8:44.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/611.html" title="又是一时心血来潮，试用过Wordpress后，想装上Movable Type 4.0玩玩看。于是就">图文介绍如何在本地服务器安装Movable Type 4.0 (15)</a></p><p><i>2007.06.11.3:55.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/189.html" title="由于博客上的图片大部分都是放在Flickr上的，所以Flickr被禁后导致国内朋友">WordPress解决Flickr图片显示方法 (3)</a></p><hr/><p>Copyright &copy; 2012&nbsp;|&nbsp;<a href="http://www.thinkagain.cn">Think Again</a>&nbsp;|&nbsp;<a href="http://www.thinkagain.cn/archives/721.html">原文链接</a></p><img src="http://img.tongji.cn.yahoo.com/710673/ystat.gif"/>]]></content:encoded>
			<wfw:commentRss>http://www.thinkagain.cn/archives/721.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS通过W3C验证</title>
		<link>http://www.thinkagain.cn/archives/707.html</link>
		<comments>http://www.thinkagain.cn/archives/707.html#comments</comments>
		<pubDate>Tue, 11 Sep 2007 12:43:19 +0000</pubDate>
		<dc:creator>山之岚</dc:creator>
				<category><![CDATA[Blogger]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://www.thinkagain.cn/archives/707.html</guid>
		<description><![CDATA[晚上写extended summary实在是无聊之极，打开FF又逛到了Blog上。回想起曾和风暴轻狂谈过CSS的W3C验证问题，自己的模板虽然是通过了W3C的CSS验证，但提示竟然有多达58个Warnings。趁着兴头，将模板的... ]]></description>
			<content:encoded><![CDATA[<p>晚上写extended summary实在是无聊之极，打开FF又逛到了Blog上。回想起曾和<a href="http://lxz.name">风暴轻狂</a>谈过CSS的<a href="http://jigsaw.w3.org/css-validator/">W3C验证</a>问题，自己的模板虽然是通过了W3C的CSS验证，但提示竟然有多达58个Warnings。趁着兴头，将模板的style.css下载了下来，对着W3C的Warning，一个个给它修正过来。嘿嘿，功夫不负有心人哪，花了近1个小时，顺利搞定，现在模板的CSS可以完全通过W3C的验证了，Warning一个都没有。有兴趣，<a href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.thinkagain.cn&#038;warning=1&#038;profile=css21&#038;usermedium=all">点此</a>检查下。</p>
<p>对照着Warnings，发现很多问题都是出现在颜色的定义和诸如hover、active等伪类的定义上。也懒得多花时间去刨根问底，只是简单做了些Hacks。凑合着用吧。等下次改版重写CSS时再注意细节。</p>
<hr/><p style="font-size:1.5em;font-weight:bold;"><a href="http://www.thinkagain.cn/archives/707.html#comments">评论5:</a></p><p><strong>5.</strong><i>2008.12.19.9:26.pm</i>.&nbsp;<a href="http://www.thinkagain.cn">山之岚</a>: <a href="#comment-81538" rel="nofollow">@WEB </a>这个是因为折叠目录那个插件生成的代码的问题。升级到2.7后，似乎这个插件工作有些不大正常。回头要修改下。</p><p><strong>4.</strong><i>2008.12.19.12:12.pm</i>.&nbsp;<a href="http://2admin_c.814e.com/order/youyi.html">WEB</a>: Result:	1 Error
Line 415, Column 10: ID "parent_3" already defined.
LZ文件类别宣告是过渡标准（Transitional）
用 严格标准（Strict）试验哈～</p><p><strong>3.</strong><i>2007.09.13.10:59.am</i>.&nbsp;<a href="http://www.marketing-life.cn">Shaoqing</a>: 我的估计不少ERRORS.唉</p><p><strong>2.</strong><i>2007.09.12.8:34.pm</i>.&nbsp;<a href="http://www.thinkagain.cn">山之岚</a>: Warning无所谓，error就不大好了。
嘿嘿，刚才帮你测了下，有4个errors，不过都是颜色定义的，很容易改掉。</p><p><strong>1.</strong><i>2007.09.12.8:22.pm</i>.&nbsp;<a href="http://ljhui.cn">ljhui</a>: 我用的那个主题.有这么多前辈在用就该不会存在Warning的问题.</p><hr/><p style="font-size:1.5em;font-weight:bold;">推荐阅读</p><p><i>2007.09.15.10:41.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/721.html" title="继将CSS修改符合W3C规范后，今天花了点时间，也将模板代码修改完毕，通过">继续修改模板 (4)</a></p><p><i>2008.09.09.8:58.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/994.html" title="今天，Wordpress官方发布了2.6.2版。没有跑去Trac看代码变动地方，直接就将程">Wordpress Hacks:WP2.2版后中文邮件标题乱码解决方法 (22)</a></p><p><i>2008.08.20.8:11.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/987.html" title="假设您已经阅读过上文，对于此问题背景的来龙去脉有所了解。此文将正式">Wordpress Hacks:解决晒SPAM数无法通过W3C验证&#8230;续 (11)</a></p><p><i>2008.08.20.1:52.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/986.html" title="此文谨献给爱晒SPAM数的人。比如说，看这篇文章的您，因为您要不是正想">Wordpress Hacks: to 解决晒Askimet SPAM数无法通过W3C验证问题 (24)</a></p><p><i>2008.08.03.11:23.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/978.html" title="难得一个周末呆在家里，想睡个懒觉都不行。隔壁的朝鲜学校的音乐CIRCLE的">鸟儿早起 (43)</a></p><p><i>2008.07.27.10:44.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/971.html" title="WP2.6带来了很多新功能。如后台的turbo等。相比2.3到2.5，2.5到2.6之间给我的">Wordpress Hacks:如何关闭WP2.6的主题预览 (18)</a></p><p><i>2007.12.08.10:50.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/888.html" title="2007-12-09：注，我已经写了一个插件用于含有nextpage或more标签的feed全文输出">如何使用Wordpress内置的分页（Nextpage）功能？ (52)</a></p><p><i>2007.10.31.12:42.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/830.html" title="Updated:此问题已经在2.3.3中被修复。
*****************************
前几天，将Wordp">Wordpress Hacks:升级2.3.1可能出现邮件提醒失效的解决方法 (20)</a></p><hr/><p>Copyright &copy; 2012&nbsp;|&nbsp;<a href="http://www.thinkagain.cn">Think Again</a>&nbsp;|&nbsp;<a href="http://www.thinkagain.cn/archives/707.html">原文链接</a></p><img src="http://img.tongji.cn.yahoo.com/710673/ystat.gif"/>]]></content:encoded>
			<wfw:commentRss>http://www.thinkagain.cn/archives/707.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>该死的ie、css的bug</title>
		<link>http://www.thinkagain.cn/archives/104.html</link>
		<comments>http://www.thinkagain.cn/archives/104.html#comments</comments>
		<pubDate>Tue, 13 Mar 2007 02:55:38 +0000</pubDate>
		<dc:creator>山之岚</dc:creator>
				<category><![CDATA[My Zone]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://lovepc.i-lady.cn/archives/104</guid>
		<description><![CDATA[因为一直是用firefox2.0和ie7.0来调试模板的，今天上来用研究室的电脑上的ie6.0上来一看，怎么搞得，右边的侧边栏已经被挤到下面去了，整个页面框架格局已经被破坏了。而且文章内容的左边界... ]]></description>
			<content:encoded><![CDATA[<p>因为一直是用firefox2.0和ie7.0来调试模板的，今天上来用研究室的电脑上的ie6.0上来一看，怎么搞得，右边的侧边栏已经被挤到下面去了，整个页面框架格局已经被破坏了。而且文章内容的左边界比博客标题左边界缩进了不少。下载安装opera9.1，打开一看效果和firefox一样，布局好好的。看来问题是出在ie上面了，网上查了下ie对css的bug，发现主要的麻烦还是在ie对margin和padding，这2个属性的解释上了。在各种浏览器中，firefox对css的支持最好，ie是最差的一个了。firefox对box模型宽度，是margin+padding+对象宽度，而ie是margin+对象宽度，padding是被计算在对象宽度里面的，所以如果设置同样的box宽度，margin以及padding值，但2者显示的对象宽度是不一样的。还有一点，为了避免在ie处理框架出现问题，最好不要把padding的设置应用到元素上，而是应该直接应用到内容上的。还有一个就是text-align:justify属性，在我对p元素应用了justify属性，在firefox下看到的段落都是两边对齐的，但在ie和opera下去看，虽说也有两边对齐，但效果很差。再加上安全性之类的，我还是推荐用firefox作为主要上网的浏览器吧。所以今天在侧边栏加上了这个firefox的下载链接。</p>
<p>看来什么等有空了要好好整理下所学的css知识了。最近都在忙着些东西，自己研究上的东西都没有什么进展，下周就要去香港发表了，幻灯片到现在也还没有改好，口语练习也没有做。真是耽误了正事了。以后在时间的安排上的得好好下工夫了。昨天看了一篇“<a target="_blank" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9011975&amp;pageNumber=1" title="20个必需安装的firefox插件">20 must-have Firefox extensions</a>”（20个必备的firefox插件），是国外有名的《ComputerWorld》的一篇文章，推荐了20个必备的firefox插件，看了下，有不少自己已经在用了。有准备把这篇文章的主要部分翻译成中文，等搞定了再发上来吧。</p>
<hr/><p style="font-size:1.5em;font-weight:bold;">推荐阅读</p><p><i>2007.09.15.10:41.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/721.html" title="继将CSS修改符合W3C规范后，今天花了点时间，也将模板代码修改完毕，通过">继续修改模板 (4)</a></p><p><i>2009.01.03.4:57.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/1031.html" title="English user please navigates to http://wordpress.org/extend/plugins/wp-smilies/&#160; for instruct">Wordpress插件: WP Smilies (49)</a></p><p><i>2008.12.19.12:20.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/1030.html" title=" 有段时间没有写些技术类的文章了，（p.s，似乎其它文章也没多写。。。">12行代码给Wordpress主题挂上AJAX (35)</a></p><p><i>2008.12.07.9:51.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/1029.html" title=" 这一阵子，Google Friend Connect似乎闹得挺热乎的。周围的网友博客们纷纷在">Hot friends新增支持用户自定义头像显示 (65)</a></p><p><i>2008.10.27.9:52.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/1024.html" title="如题。将Hot friends和mailtocommenter插件分别更新到1.3.2和1.3版。

其中hotfriends">从更新hot friends和mailtocmmenter谈起 (33)</a></p><p><i>2008.09.09.8:58.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/994.html" title="今天，Wordpress官方发布了2.6.2版。没有跑去Trac看代码变动地方，直接就将程">Wordpress Hacks:WP2.2版后中文邮件标题乱码解决方法 (22)</a></p><p><i>2008.08.25.11:06.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/989.html" title="English user please navigates to http://wordpress.org/extend/plugins/mailtocommenter/ for instructi">Wordpress插件: Mail To Commenter v1.3.2 (377)</a></p><p><i>2008.08.20.8:11.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/987.html" title="假设您已经阅读过上文，对于此问题背景的来龙去脉有所了解。此文将正式">Wordpress Hacks:解决晒SPAM数无法通过W3C验证&#8230;续 (11)</a></p><hr/><p>Copyright &copy; 2012&nbsp;|&nbsp;<a href="http://www.thinkagain.cn">Think Again</a>&nbsp;|&nbsp;<a href="http://www.thinkagain.cn/archives/104.html">原文链接</a></p><img src="http://img.tongji.cn.yahoo.com/710673/ystat.gif"/>]]></content:encoded>
			<wfw:commentRss>http://www.thinkagain.cn/archives/104.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>css布局</title>
		<link>http://www.thinkagain.cn/archives/60.html</link>
		<comments>http://www.thinkagain.cn/archives/60.html#comments</comments>
		<pubDate>Tue, 06 Feb 2007 08:34:38 +0000</pubDate>
		<dc:creator>山之岚</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://lovepc.i-lady.cn/archives/60</guid>
		<description><![CDATA[centering align CSS其中一个优点是它能够在不使用表现的标记来控制页面的layout。所有的css layout技术都依赖于三个基本的概念：positioning，floating和margin的操作。 长度过长的内容读起来很困难，特... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: bold">centering align</span></p>
<p>CSS其中一个优点是它能够在不使用表现的标记来控制页面的layout。所有的css layout技术都依赖于三个基本的概念：positioning，floating和margin的操作。</p>
<p>长度过长的内容读起来很困难，特别是现代的显示器的宽度越来越大，屏幕的可读性问题就变得越来越重要了，设计师解决这个问题的方法就是把他们的设计居中显示而不是全屏显示。居中的设计只是跨越屏幕的一部分，以创建一个较短的和易于阅读宽度。</p>
<p>居中设计在现在是一种很流行的方法，因此，学习怎样在css里使用居中显示也是很多开发者想学的第一样东西。居中设计有两个基本的方法：一种是使用auto margins，另一种是使用positioning 和负margins，下面介绍这两种方法。</p>
<p> </p>
<p>1. auto margins</p>
<p>&lt;body&gt;<br />
&lt;div id=&#8221;wrapper&#8221;&gt;<br />
&lt;/div&gt;</p>
<p>水平居中div元素的css为：</p>
<p>#wrapper{ width:720px; margin:0 auto; border:5px #666 solid; }</p>
<p>水 平居中我们就可以更灵活地控制div里的内容显示了，我们也可用百分比和用字符数单位em来表示div的宽度了。上面的代码在现在的浏览器里可以工作得很 好，但是在IE 5.X和IE 6上就不能正常工作（居左显示），幸运的是IE误解了text-align:center，它会将所有元素都居中而不只是文本，所以我们可以这样：</p>
<p>body{text-align:center;}<br />
#wrapper{ width:720px; margin:0 auto; border:5px #666 solid; text-align:center;}</p>
<p>这是一个hack的方法，这个fairly innocuouse（无害的）hack也不会对你的代码有不利的影响，现在在IE上可以居中显示了。</p>
<p>2. positioning 和负 margins</p>
<p>如果你不想法用之前的方法，认为不必多加一个hack，那可以用下面这个方法，首先将div的左边居中，然后再将div的margin-left设置为它的宽度一半的负数，就这样的简单：</p>
<p>#wrapper { width: 720px; position: relative; left: 50%; margin-left:-360px; border:5px #666 solid;}</p>
<p>方便吧，快去用到你自己的设计中去吧。</p>
<p><span style="color: blue"><br />
</span><span style="font-weight: bold">float-based layout</span><br style="font-weight: bold" /><br />
创建css为基础的layout，可以使用positioning和负margins，但是我发现用float-based layout方法更加容易。而使用float-base layout最重要是需要使用clear（清除）the floats。</p>
<p>两列floated layout：</p>
<p>要使用floats来布局两列的设计，你需要使用XHTML framework。下面的例子将包含有好几个区域，branding，content，navigation和footer，然后嵌套在div wrapper里，div wrapper将会使用水平居中。</p>
<p>&lt;div id=&#8221;wrapper&#8221;&gt;<br />
&lt;div id=&#8221;branding&#8221;&gt;<br />
&#8230;<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;content&#8221;&gt;<br />
&#8230;<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;mainNav&#8221;&gt;<br />
&#8230;<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;footer&#8221;&gt;<br />
&#8230;<br />
&lt;/div&gt;</p>
<p>主 导航会在左边，主内容将会在右边，通常，当人们创建float为基础的layout时，他们会float两列到左边（float:left），然后用 margin或者padding创建两列之间的间隙。用这种方法会导致这两列被紧紧地包在一个有限的空间里而没有气可喘。虽然很多浏览器运行时不会出现问 题，但是有些buggy（如IE）浏览器，两列会被迫互相挤压，导致layout被破坏。</p>
<p>为了预防这些现象发生，你需要避免将floated layout完满包含他们的元素中，不要使用水平的margin和padding来创建两列之间的空隙，你可以floating 一个元素在左边和floating一个元素在右边来创建间隙，实现的css很简单：</p>
<p>#content { width: 520px; float: right; }<br />
#mainNav { width: 180px; float: left; }</p>
<p>要确保div footer能正确地放置在上面两个div元素的下面，div footer需要被cleared：</p>
<p>#footer { clear:both; }</p>
<p>下面设置一下div content和div mainNav周围的空隙，将它们可以有气可喘：<br />
#mainNav { padding-top: 20px; padding-bottom: 20px; }<br />
#mainNav li { padding-left: 20px; padding-right: 20px; }<br />
#content h1, #content h2, #content p { padding-right: 20px; }</p>
<p>一个简单的两列布局就过完，快去实践一下吧。</p>
<p>三列floated layout：</p>
<p>三列的布局（以下称三列）与两列的布局是非常类似的，不同的是三列需要增加两个新的div到div content里，一个mainContent作为主内容，另一个secContent作为第二内容，如下：</p>
<p>&lt;div id=&#8221;content&#8221;&gt;<br />
&lt;div id=&#8221;mainContent&#8221;&gt;<br />
…<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;secContent&#8221;&gt;<br />
…<br />
&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>相同地，你可以在div content里将mainContent设置左浮动，设置secContent右浮动，这就创建了三列的效果。css代码也很简单：</p>
<p>#mainContent { width: 320px; float: left; }<br />
#secContent { width: 180px; float: right; }</p>
<p>删除之前content内元素设置的padding，然后用下面的设置代替：</p>
<p>#secondaryContent h1, #secondaryContent h2,#secondaryContent p { padding-left: 20px; padding-right: 20px;}</p>
<p>一个完整三列布局出现在你的面前了，是否有点成就感了。</p>
<p><br style="font-weight: bold" /><span style="font-weight: bold; color: blue"></span><span style="font-weight: bold">Fixed-width, liquid, and elastic layout</span></p>
<p>直 到现在为止，上面的所有例子都用了固定的像素来设置宽度，这就是fixed-width layout了，有时也叫“ice layout”，fixed-width layout的使用也比较普遍，然而，因为它固定了宽度，随着大屏幕的革命，为800*600的分辨率设计的布局会显得太小了，相反为1024*768分 辨率设计的布局在小屏幕下又会出现滚动条。另一个缺点就是当文本的字体变大的时候，elastic layout会变得比较浏览器窗口的宽度更易宽，从而被迫出现水平的滚动条，有一个解决方法就是设计body标签的max-width为100%，但是 max-width只在现在浏览器才技术，IE就不支持max-width，然而为了解决这此问题，你可以使用下面的两种布局来代替。</p>
<p>Liquid layout(易变的layout)</p>
<p>liquid layout是将它的尺寸设置为百分比来代替用像素，它能根据浏览器窗口大小的改变来作出相应的放大与缩小，liquid layout的一个缺点就是当浏览器的窗口太大和太小都会影响用户的阅读，那么可以使用设置它的最大宽度和最小宽度来修正。现在你可以用这个技术来将 fixed -width 的三列布局用liquid的三列布局来实现，如下：</p>
<p>#wrapper { width: 85%; }<br />
#mainNav { width: 23%; float: left; }<br />
#content { width: 75%; float: right; }</p>
<p>mainNav 与content留有2%的可视空间，然后你可以设置content里面两列的宽度，如果你想secContent的宽度与mainNav一样的话，那你 可以取23%，但在content就是75%中的23%，那应该是31%，为留出可视空间，你可以设置mainContent的width为66%，如 下：</p>
<p>#mainContent { width: 66%; float: left; }<br />
#secContent { width: 31%; float: right; }</p>
<p>上面的liquid三列的布局在1024*768的分辨率是显示为最佳，但是比这更大或者更小的分辨率也能使用用户阅读得很舒服，最后最好设置一下wrapper的最小宽度（min-width:720px;），以防窗口变小的挤压得变形了。</p>
<p>Elastic layout（弹性的layout）</p>
<p>liquid layout虽然能做到很好的显示效果，但是上面也说到了它的一些缺点，然而，Elastic layout能很好地解决liquid layout的缺点造成的问题。Elastic layout是用相关的字体的大小来设置元素的宽度，而不是用浏览器的宽度，用em来进行设置，这样你就可以确保你的字体变大的时候，整个布局也会随之自 动调整。还有，就是这样的布局能让文本的行高得到一个可读性好的大小，对减少用户视觉和感觉混乱都是很有帮助的。</p>
<p>像其它的布局技术一样， elastic layout也有它的缺点，它的缺点和fixed-width layout一样，就是当文本的字体变大的时候，elastic layout会变得比较浏览器窗口的宽度更易宽，从而被迫出现水平的滚动条，有一个解决方法就是设计body标签的max-width为100%，但是 max-width只在现在浏览器才技术，IE就不支持max-width。</p>
<p>将fixed-width layout改为Elastic layout是非常简单的，窍门是在body中设置基本的字体大小，使得1em等10像素，因为在大部门浏览器默认的字体大小是16像素，所以设置字体等于默认字体的62.5%就等10像素了，如下：</p>
<p>body { font-size: 62.5%; }</p>
<p>然后将fixed-width layout中所有像素表示的宽度用em来代替，如下：<br />
#wrapper { width: 72em; margin: 0 auto; text-align: left; }<br />
#mainNav { width: 18em; float: left; }<br />
#content { width: 52em; float: right; }<br />
#mainContent { width: 32em; float: left; }<br />
#secContent { width: 18em; float: right; }</p>
<p>Fixed-width, liquid, and elastic layout都已经介绍完了，自己动手试一下吧。</p>
<hr/><p style="font-size:1.5em;font-weight:bold;">推荐阅读</p><p><i>2007.09.15.10:41.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/721.html" title="继将CSS修改符合W3C规范后，今天花了点时间，也将模板代码修改完毕，通过">继续修改模板 (4)</a></p><p><i>2007.09.11.8:43.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/707.html" title="晚上写extended summary实在是无聊之极，打开FF又逛到了Blog上。回想起曾和风">CSS通过W3C验证 (5)</a></p><p><i>2007.03.13.10:55.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/104.html" title="因为一直是用firefox2.0和ie7.0来调试模板的，今天上来用研究室的电脑上的ie6">该死的ie、css的bug (0)</a></p><p><i>2007.01.28.4:57.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/81.html" title="转自网络

关于CSS样式表

一.在学习CSS之前你应该掌握哪些基础知识

1.">CSS入门教程 关于css样式表 (0)</a></p><hr/><p>Copyright &copy; 2012&nbsp;|&nbsp;<a href="http://www.thinkagain.cn">Think Again</a>&nbsp;|&nbsp;<a href="http://www.thinkagain.cn/archives/60.html">原文链接</a></p><img src="http://img.tongji.cn.yahoo.com/710673/ystat.gif"/>]]></content:encoded>
			<wfw:commentRss>http://www.thinkagain.cn/archives/60.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS入门教程 关于css样式表</title>
		<link>http://www.thinkagain.cn/archives/81.html</link>
		<comments>http://www.thinkagain.cn/archives/81.html#comments</comments>
		<pubDate>Mon, 29 Jan 2007 00:57:14 +0000</pubDate>
		<dc:creator>山之岚</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://lovepc.i-lady.cn/archives/81</guid>
		<description><![CDATA[<strong>关于CSS样式表</strong>

一.在学习CSS之前你应该掌握哪些基础知识

1.什么是网页，什么是超文本语言（HTML）。
2.会使用Dreamweaver等常用的网页编辑器... ]]></description>
			<content:encoded><![CDATA[<p>转自网络</p>
<p><strong>关于CSS样式表</strong></p>
<p>一.在学习CSS之前你应该掌握哪些基础知识</p>
<p>1.什么是网页，什么是超文本语言（HTML）。<br />
2.会使用Dreamweaver等常用的网页编辑器。</p>
<p>Dreamweaver 是现今最好的网站编辑工具之一，而Dreamweaver8增加的对CSS的支持更是你容易得来使用CSS，用它来给制作网页的CSS样式表会更简单、更 方便。本教程教你如何利用Dreamweaver8在页面中加入CSS，你不用死记硬背的记代码标记，也不用去看很厚的CSS手册，你就可以轻松自如的在 网页中运用CSS。不过首先你要对CSS有一定的了解。因此，本教程的前面4章为CSS理论知识，主要是对CSS的全面介绍，希望读者看后对CSS的语 法、结构、应用有一个全面的了解；后面4章为DW实战，主要是教你如何利用Dreamweaver8灵活运用CSS在网页中。阅读此文前，你需要对 HTML有一定的了解，并会使用Dreamweaver。</p>
<p>二.认识CSS</p>
<p>CSS就是Cascading Style Sheets，中文翻译为“层叠样式表”，简称样式表，它是一种制作网页的新技术。</p>
<p>网 页设计最初是用HTML标记来定义页面文档及格式，例如标题&lt;h1&gt;、段落&lt;p&gt;、表格&lt;table&gt;、链接 &lt;a&gt;等，但这些标记不能满足更多的文档样式需求，为了解决这个问题，在1997年W3C(The World Wide Web Consortium)颁布HTML4标准的同时也公布了有关样式表的第一个标准CSS1, 自CSS1的版本之后，又在1998年5月发布了CSS2版本，样式表得到了更多的充实。W3C把DHTML(Dynamic HTML)分为三个部分来实现：脚本语言(包括JavaScript、Vbscript等)、支持动态效果的浏览器(包括Internet Explorer、Netscape Navigator等)和CSS样式表。</p>
<p>注意：CSS需要IE4(Internet Explorer 4.0)和NC4(Netscape 4.0)以上的浏览器支持，有些效果需要更高版本的浏览器支持。</p>
<p>三.怎样使用CSS</p>
<p>如果你使用的是Dreamweaver MX 2004以上的版本，在定义文字字体、颜色、大小等属性的时候，查看一下代码你会发现有这样的一部分在head区域：</p>
<p>&lt;style type=&#8221;text/CSS&#8221;&gt;<br />
&lt;!&#8211;<br />
.STYLE2 {<br />
font-size: 16pt;<br />
font-family: &#8220;Courier New&#8221;, Courier, monospace;<br />
font-weight: bold;<br />
color: #FF3300;<br />
}<br />
&#8211;&gt;<br />
&lt;/style&gt;</p>
<p>那么恭喜你，你已经使用了CSS设计网页。<br />
那么除了这种调用CSS的方法外，还有别的吗？回答是“当然有了”，下面是系统介绍</p>
<p>标记加注法(in-line)：<br />
如果只有一个HTML标记需要设定样式，则可在该标记内，加上属性</p>
<p>style=&#8221; &#8221;</p>
<p>以个别修订样式。</p>
<p>页面内嵌法：</p>
<p>&lt;style type=&#8221;text/CSS&#8221;&gt; &lt;!&#8211; body { background : white ; color : black ; } &#8211;&gt; &lt;/style&gt;</p>
<p>外部调用法：</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; rev=&#8221;stylesheet&#8221; href=&#8221;../../CSS/style.CSS&#8221; type=&#8221;text/CSS&#8221; media=&#8221;all&#8221; /&gt;</p>
<p>双表法调用样式表：</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; rev=&#8221;stylesheet&#8221; href=&#8221;../../CSS/style.CSS&#8221; type=&#8221;text/CSS&#8221; media=&#8221;all&#8221; /&gt;<br />
&lt;style type=&#8221;text/CSS&#8221; media=&#8221;all&#8221;&gt;@import url( CSS/style01.CSS );&lt;/style&gt;</p>
<p><strong><font size="3">语法基础</font></strong></p>
<p>1. 基本语法<br />
CSS的定义是由三个部分构成：选择符（selector），属性（properties）和属性的取值（value）。<br />
基本格式如下：</p>
<p>selector {property: value}</p>
<p>（选择符 {属性：值}）<br />
选择符是可以是多种形式，一般是你要定义样式的HTML标记，例如BODY、P、TABLE……，你可以通过此方法定义它的属性和值，属性和值要用冒号隔开：</p>
<p>body {color: black}<br />
选择符body是指页面主体部分，color是控制文字颜色的属性，black是颜色的值，此例的效果是使页面中的文字为黑色。</p>
<p>如果属性的值是多个单词组成，必须在值上加引号，比如字体的名称经常是几个单词的组合：</p>
<p>p {font-family: &#8220;sans serif&#8221;}</p>
<p>（定义段落字体为sans serif）</p>
<p>如果需要对一个选择符指定多个属性时，我们使用分号将所有的属性和值分开：</p>
<p>p {text-align: center; color: red}</p>
<p>（段落居中排列；并且段落中的文字为红色）</p>
<p>为了使你定义的样式表方便阅读，你可以采用分行的书写格式：</p>
<p>p<br />
{<br />
text-align: center;<br />
color: black;<br />
font-family: arial<br />
}</p>
<p>（段落排列居中，段落中文字为黑色，字体是arial）</p>
<p>2. 选择符组</p>
<p>你可以把相同属性和值的选择符组合起来书写，用逗号将选择符分开，这样可以减少样式重复定义：</p>
<p>h1, h2, h3, h4, h5, h6 { color: green }</p>
<p>（这个组里包括所有的标题元素，每个标题元素的文字都为绿色）</p>
<p>p, table{ font-size: 9pt }</p>
<p>（段落和表格里的文字尺寸为9号字）</p>
<p>效果完全等效于：</p>
<p>p { font-size: 9pt }<br />
table { font-size: 9pt }</p>
<p>3. 类选择符</p>
<p>用类选择符你能够把相同的元素分类定义不同的样式，定义类选择符时，在自定类的名称前面加一个点号。假如你想要两个不同的段落，一个段落向右对齐，一个段落居中，你可以先定义两个类：</p>
<p>p.right {text-align: right}<br />
p.center {text-align: center}</p>
<p>然后用不在不同的段落里，只要在HTML标记里加入你定义的class参数：</p>
<p>&lt;p class=&#8221;right&#8221;&gt; 这个段落向右对齐的<br />
&lt;/p&gt;</p>
<p>&lt;p class=&#8221;center&#8221;&gt;<br />
这个段落是居中排列的<br />
&lt;/p&gt;</p>
<p>注意：类的名称可以是任意英文单词或以英文开头与数字的组合，一般以其功能和效果简要命名。</p>
<p>类选择符还有一种用法，在选择符中省略HTML标记名，这样可以把几个不同的元素定义成相同的样式：</p>
<p>.center {text-align: center}</p>
<p>（定义.center的类选择符为文字居中排列）<br />
这样的类可以被应用到任何元素上。下面我们使h1元素（标题1）和p元素（段落）都归为“center”类，这使两个元素的样式都跟随“.center”这个类选择符：</p>
<p>&lt;h1 class=&#8221;center&#8221;&gt;<br />
这个标题是居中排列的<br />
&lt;/h1&gt;<br />
&lt;p class=&#8221;center&#8221;&gt;<br />
这个段落也是居中排列的<br />
&lt;/p&gt;</p>
<p>注意：这种省略HTML标记的类选择符是我们经后最常用的CSS方法，使用这种方法，我们可以很方便的在任意元素上套用预先定义好的类样式。</p>
<p>4. ID选择符</p>
<p>在HTML页面中ID参数指定了某个单一元素，ID选择符是用来对这个单一元素定义单独的样式。<br />
ID选择符的应用和类选择符类似，只要把CLASS换成ID即可。将上例中类用ID替代：</p>
<p>&lt;p id=&#8221;intro&#8221;&gt;<br />
这个段落向右对齐<br />
&lt;/p&gt;</p>
<p>定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同，定义ID选择符的属性也有两种方法。下面这个例子，ID属性将匹配所有id=&#8221;intro&#8221;的元素：</p>
<p>#intro<br />
{<br />
font-size:110%;<br />
font-weight:bold;<br />
color:#0000ff;<br />
background-color:transparent<br />
}</p>
<p>（字体尺寸为默认尺寸的110%；粗体；蓝色；背景颜色透明）<br />
下面这个例子，ID属性只匹配id=&#8221;intro&#8221;的段落元素：</p>
<p>p#intro<br />
{<br />
font-size:110%;<br />
font-weight:bold;<br />
color:#0000ff;<br />
background-color:transparent<br />
}</p>
<p>注意：ID选择符局限性很大，只能单独定义某个元素的样式，一般只在特殊情况下使用。</p>
<p>5. 包含选择符</p>
<p>可以单独对某种元素包含关系定义的样式表，元素1里包含元素2，这种方式只对在元素1里的元素2定义，对单独的元素1或元素2无定义，例如：</p>
<p>table a<br />
{<br />
font-size: 12px<br />
}</p>
<p>在表格内的链接改变了样式，文字大小为12象素，而表格外的链接的文字仍为默认大小。</p>
<p>6. 样式表的层叠性</p>
<p>层叠性就是继承性，样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上，所有在元素中嵌套的元素都会继承外层元素指定的属性值，有时会把很多层嵌套的样式叠加在一起，除非另外更改。例如在DIV标记中嵌套P标记：</p>
<p>div { color: red; font-size:9pt}<br />
……<br />
&lt;div&gt;<br />
&lt;p&gt;<br />
这个段落的文字为红色9号字<br />
&lt;/p&gt;<br />
&lt;/div&gt;</p>
<p>（P元素里的内容会继承DIV定义的属性）<br />
注意：有些情况下内部选择符不继承周围选择符的值，但理论上这些都是特殊的。例如，上边界属性值是不会继承的，直觉上，一个段落不会同文档BODY一样的上边界值。</p>
<p>另外，当样式表继承遇到冲突时，总是以最后定义的样式为准。如果上例中定义了P的颜色：</p>
<p>div { color: red; font-size:9pt}<br />
p {color: blue}<br />
……<br />
&lt;div&gt;<br />
&lt;p&gt;<br />
这个段落的文字为蓝色9号字<br />
&lt;/p&gt;<br />
&lt;/div&gt;</p>
<p>我们可以看到段落里的文字大小为9号字是继承div属性的，而color属性则依照最后定义的。</p>
<p>不同的选择符定义相同的元素时，要考虑到不同的选择符之间的优先级。ID选择符，类选择符和HTML标记选择符，因为ID选择符是最后加上元素上的，所以优先级最高，其次是类选择符。如果想超越这三者之间的关系，可以用!important提升样式表的优先权，例如：</p>
<p>p { color: #FF0000!important }<br />
.blue { color: #0000FF}<br />
#id1 { color: #FFFF00}</p>
<p>我们同时对页面中的一个段落加上这三种样式，它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important，则依照优先权最高的ID选择符为黄色文字。</p>
<p>7. 注释</p>
<p>你可以在CSS中插入注释来说明你代码的意思，注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中，注释是不显示的。CSS注释以&#8221;/*&#8221; 开头，以&#8221;*/&#8221; 结尾，如下：</p>
<p>/* 定义段落样式表 */<br />
p<br />
{<br />
text-align: center; /* 文本居中排列 */<br />
color: black; /* 文字为黑色 */<br />
font-family: arial /* 字体为arial */<br />
}</p>
<p><strong>如何插入</strong></p>
<p>前 面我们了解了CSS的语法，但要想在浏览器中显示出效果，就要让浏览器识别并调用。当浏览器读取样式表时，要依照文本格式来读，这里介绍四种在页面中插入 样式表的方法：[u]链入外部样式表[/u]、[u]内部样式表[/u]、[u]导入外表样式表[/u]和[u]内嵌样式[/u]。</p>
<p>1. 链入外部样式表</p>
<p>链入外部样式表是把样式表保存为一个样式表文件，然后在页面中用&lt;link&gt;标记链接到这个样式表文件，这个&lt;link&gt;标记必须放到页面的&lt;head&gt;区内，如下：</p>
<p>&lt;head&gt;<br />
……<br />
&lt;link href=&#8221;../../mystyle.CSS&#8221; rel=&#8221;stylesheet&#8221; type=&#8221;text/CSS&#8221; media=&#8221;all&#8221;&gt;<br />
……<br />
&lt;/head&gt;</p>
<p>上 面这个例子表示浏览器从mystyle.CSS文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部的样式表。 type=”text/CSS”是指文件的类型是样式表文本。href=../../”mystyle.CSS”是文件所在的位置。media是选择媒体 类型，这些媒体包括：屏幕，纸张，语音合成设备，盲文阅读设备等。</p>
<p>一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时，所有页面的样式都随之而改变。在制作大量相同样式页面的网站时，非常有用，不仅减少了重复的工作量，而且有利于以后的修改、编辑，浏览时也减少了重复下载代码。</p>
<p>样式表文件可以用任何文本编辑器（例如：记事本）打开并编辑，一般样式表文件扩展名为.CSS。内容是定义的样式表，不包含HTML标记，mystyle.CSS这个文件的内容如下：</p>
<p>hr {color: sienna}<br />
p {margin-left: 20px}<br />
body {background-image: url(&#8220;images/back40.gif&#8221;)}<br />
/*定义水平线的颜色为土黄；段落左边的空白边距为20象素；页面的背景图片为images目录下的back40.gif文件*/</p>
<p>2. 内部样式表</p>
<p>内部样式表是把样式表放到页面的&lt;head&gt;区里，这些定义的样式就应用到页面中了，样式表是用&lt;style&gt;标记插入的，从下例中可以看出&lt;style&gt;标记的用法：</p>
<p>&lt;head&gt;<br />
……<br />
&lt;style type=&#8221;text/CSS&#8221;&gt;<br />
hr {color: sienna}<br />
p {margin-left: 20px}<br />
body {background-image: url(&#8220;images/back40.gif&#8221;)}<br />
&lt;/style&gt;<br />
……<br />
&lt;/head&gt;</p>
<p>注 意：有些低版本的浏览器不能识别style标记，这意味着低版本的浏览器会忽略style标记里的内容，并把style标记里的内容以文本直接显示到页面 上。为了避免这样的情况发生，我们用加HTML注释的方式（&lt;!&#8211; 注释 &#8211;&gt;）隐藏内容而不让它显示：</p>
<p>&lt;head&gt;<br />
……<br />
&lt;style type=&#8221;text/CSS&#8221;&gt;<br />
&lt;!&#8211;<br />
hr {color: sienna}<br />
p {margin-left: 20px}<br />
body {background-image: url(&#8220;images/back40.gif&#8221;)}<br />
&#8211;&gt;<br />
&lt;/style&gt;<br />
……<br />
&lt;/head&gt;</p>
<p>3. 导入外部样式表</p>
<p>导入外部样式表是指在内部样式表的&lt;style&gt;里导入一个外部样式表，导入时用@import，看下面这个实例：</p>
<p>&lt;head&gt;<br />
……<br />
&lt;style type=”text/CSS”&gt;<br />
&lt;!&#8211;<br />
@import “mystyle.CSS”<br />
其他样式表的声明<br />
&#8211;&gt;<br />
&lt;/style&gt;<br />
……<br />
&lt;/head&gt;</p>
<p>例中@import “mystyle.CSS”表示导入mystyle.CSS样式表，注意使用时外部样式表的路径。方法和链入样式表的方法很相似，但导入外部样式表输入方式更有优势。实质上它相当于存在内部样式表中的。<br />
注意：导入外部样式表必须在样式表的开始部分，在其他内部样式表上面。</p>
<p>4. 内嵌样式</p>
<p>内嵌样式是混合在HTML标记里使用的，用这种方法，可以很简单的对某个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和值，如下例：</p>
<p>&lt;p style=&#8221;color: sienna;margin-left: 20px;&#8221;&gt;<br />
这是一个段落<br />
&lt;/p&gt;<br />
&lt;!&#8211;这个段落颜色为土黄，左边距为20象素&#8211;&gt;</p>
<p>在style参数后面的引号里的内容相当于在样式表大括号里的内容。<br />
注意：style参数可以应用于任意BODY内的元素（包括BODY本身），除了BASEFONT、PARAM和SCRIPT。</p>
<p>5. 多重样式表的叠加</p>
<p>上 一章里我们已经提到样式表的层叠顺序，这里我们讨论插入样式表的这几种方法的叠加，如果在同一个选择器上使用几个不同的样式表时，这个属性值将会叠加几个 样式表，遇到冲突的地方会以最后定义的为准。例如，我们首先链入一个外部样式表，其中定义了h3选择符的color 、text-alig和font-size属性：</p>
<p>h3<br />
{<br />
color: red;<br />
text-align: left;<br />
font-size: 8pt;<br />
}<br />
/*标题3的文字颜色为红色；向左对齐；文字尺寸为8号字*/</p>
<p>然后在内部样式表里也定义了h3选择符的text-align和font-size属性：</p>
<p>h3<br />
{<br />
text-align: right;<br />
font-size: 20pt;<br />
}<br />
/*标题3文字向右对齐；尺寸为20号字*/</p>
<p>那么这个页面叠加后的样式就是：</p>
<p>color: red;<br />
text-align: right;<br />
font-size: 20pt;<br />
/*文字颜色为红色；向右对齐；尺寸为20号字*/</p>
<p>字体颜色从外部样式表里保留下来，而对齐方式和字体尺寸都有定义时，按照后定义的优先而依照内部样式表。</p>
<p>注意：依照后定义的优先，所以优先级最高的是[s]内嵌样式[/s]，[s]内部样式表[/s]高于[s]导入外部样式表[/s]，[s]链入的外部样式表[/s]和[s]内部样式表[/s]之间是最后定义的优先级高。</p>
<p><strong>css选择符</strong></p>
<p>一.选择符模式<br />
模式/含义/内容描述</p>
<p>*<br />
匹配任意元素。(通用选择器)<br />
E<br />
匹配任意元素 E (例如一个类型为 E 的元素)。(类型选择器)<br />
E F<br />
匹配元素 E 的任意后代元素 F 。(后代选择器)<br />
E &gt; F<br />
匹配元素 E 的任意子元素 F 。(子选择器)<br />
E:first-child<br />
当元素 E 是它的父元素中的第一个子元素时，匹配元素 E 。(:first-child 伪类)<br />
E:link E:visited<br />
如果 E 是一个目标还没有访问过(:link)或者已经访问过(:visited)的超链接的源锚点时匹配元素 E 。(link 伪类)<br />
E:active E:hover E:focus<br />
在确定的用户动作中匹配 E 。(动态伪类)<br />
E:lang(c)<br />
如果类型为 E 的元素使用了(人类)语言 c (文档语言确定语言是如何被确定的)，则匹配该元素。(:lang() 伪类)<br />
E + F<br />
如果一个元素 E 直接在元素 F 之前，则匹配元素 F 。(临近选择器)<br />
E[foo]<br />
匹配具有”foo”属性集(不考虑它的值)的任意元素 E 。(属性选择器)<br />
E[foo="warning"]<br />
匹配其“foo”属性值严格等于“warning”的任意元素 E 。(属性选择器)<br />
E[foo~="warning"]<br />
匹配其“foo”属性值为空格分隔的值列表，并且其中一个严格等于“warning”的任意元素 E 。(属性选择器)<br />
E[lang|="en"]<br />
匹配其“lang”属性具有以“en”开头(从左边)的值的列表的任意元素 E 。(属性选择器)<br />
DIV.warning<br />
仅 HTML。用法同 DIV[class~="warning"]。(类选择器)<br />
E#myid<br />
匹配 ID 等于“myid”的任意元素 E 。(ID 选择器)<br />
引用:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
From：<a href="http://www.w3.org/TR/CSS2/selector.HTML">http://www.w3.org/TR/CSS2/selector.HTML</a><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>我们用下面的例子来解释“[s]父元素[/s]”、“[s]子元素[/s]”、“[s]父/子[/s]”及“[s]相邻[/s]”这几个概念。</p>
<p>&lt;div title=&#8221;这是一个div&#8221;&gt;<br />
&lt;h1&gt;这是是h1的内容&lt;/h1&gt;<br />
&lt;p&gt;这是一个段落p的内容！&lt;strong&gt;这里是strong的内容&lt;/strong&gt;这是一个段落p的内容！&lt;/p&gt;<br />
&lt;/div&gt;</p>
<p>从以上代码中，我们可以找出这样的关系：<br />
[list]<br />
[*] h1 和 p 同为 div 的“儿子”，两者分别同 div 形成“父/子”关系。<br />
[*] h1,p,strong 都是 div 的“子元素”。（三者都包含在 div 之内）<br />
[*] div 是 h1 和 p 的“父元素”。<br />
[*] strong 和 p 形成“父/子”关系，strong 的“父元素”是 p 。<br />
[*] 但 strong 和 div 并非“父/子”关系，而是“祖孙”关系，但 strong 依然是 div 的“子（孙）元素”。<br />
[*] div 是 h1 p strong 三者的“祖先”，三者是 div 的“子（孙）元素”。<br />
[*] h1 和 p 两者是相邻的。<br />
[/list]</p>
<p>继承上面的实例来具体演示一下E F的关系：假如，我们需要将 strong 内的内容二字变为绿色，我们可以有哪些方法呢？</p>
<p>div strong {color:green;} /* － 正确。strong 是 div 的“子元素”*/<br />
p &gt; strong {color:green;} /* － 正确。strong 和 p 是“父/子”关系*/<br />
div &gt; strong {color:green;} /* － 错误！strong 虽然是 div 的“子（孙）元素”，但两者乃是“祖孙”关系，而非“父/子”关系，因此不能用 &gt; 符号连接*/</p>
<p>临近选择器和通用选择器：通用选择器以星号“*”表示，可以用于替代任何 tag 。</p>
<p>实例：</p>
<p>h2 + * { color:green }/*所有紧随 h2 的元素内的文字都将呈现红色*/</p>
<p>二.选择符分类介绍</p>
<p>1.通配选择符</p>
<p>语法：<br />
* { sRules }</p>
<p>说明：<br />
通配选择符。选定文档目录树(DOM)中的所有类型的单一对象。<br />
假如通配选择符不是单一选择符中的唯一组成，“*”可以省略。</p>
<p>示例：<br />
*[lang=fr] { font-size:14px; width:120px; }<br />
*.div { text-decoration:none; }</p>
<p>2.类型选择符</p>
<p>语法：<br />
E { sRules }</p>
<p>说明：<br />
类型选择符。以文档语言对象(Element)类型作为选择符。</p>
<p>示例：<br />
td { font-size:14px; width:120px; }<br />
a { text-decoration:none; }</p>
<p>3.属性选择符</p>
<p>语法：<br />
E [ attr ] { sRules }<br />
E [ attr = value ] { sRules }<br />
E [ attr ~= value ] { sRules }<br />
E [ attr |= value ] { sRules }</p>
<p>说明：<br />
属性选择符。<br />
选择具有 attr 属性的 E<br />
选择具有 attr 属性且属性值等于 value 的 E<br />
选择具有 attr 属性且属性值为一用空格分隔的字词列表，其中一个等于 value 的 E 。这里的 value 不能包含空格<br />
选择具有 attr 属性且属性值为一用连字符分隔的字词列表，由 value 开始的 E</p>
<p>示例：<br />
h[title] { color: blue; }<br />
/* 所有具有title属性的h对象 */</p>
<p>span[class=demo] { color: red; }</p>
<p>div[speed="fast"][dorun="no"] { color: red; }</p>
<p>a[rel~="copyright"] { color:black; }</p>
<p>4.包含选择符</p>
<p>语法：<br />
E1 E2 { sRules }</p>
<p>说明：<br />
包含选择符。选择所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。</p>
<p>示例：<br />
table td { font-size:14px; }<br />
div.sub a { font-size:14px; }</p>
<p>5.子对象选择符</p>
<p>语法：<br />
E1 &gt; E2 { sRules }</p>
<p>说明：<br />
子对象选择符。选择所有作为 E1 子对象的 E2 。</p>
<p>示例：<br />
body &gt; p { font-size:14px; }<br />
/* 所有作为body的子对象的p对象字体尺寸为14px */</p>
<p>div ul&gt;li p { font-size:14px; }</p>
<p>6.ID选择符</p>
<p>语法：<br />
#ID { sRules }</p>
<p>说明：<br />
ID选择符。以文档目录树(DOM)中作为对象的唯一标识符的 ID 作为选择符。</p>
<p>示例：<br />
#note { font-size:14px; width:120px;}</p>
<p>7.类选择符</p>
<p>语法：<br />
E.className { sRules }</p>
<p>说明：<br />
类选择符。在HTML中可以使用此种选择符。其效果等同于E [ class ~= className ] 。请参阅属性选择符( Attribute Selectors )。<br />
在IE5+，可以为对象的 class 属性(特性)指定多于一个值( className )，其方法是指定用空格隔开的一组样式表的类名。例如：&lt;div class=&#8221;class1 class2&#8243;&gt;。</p>
<p>示例：<br />
div.note { font-size:14px; }<br />
/* 所有class属性值等于（包含）&#8221;note&#8221;的div对象字体尺寸为14px */</p>
<p>.dream { font-size:14px; }<br />
/* 所有class属性值等于（包含）&#8221;note&#8221;的对象字体尺寸为14px */</p>
<p>8.选择符分组</p>
<p>语法：<br />
E1 , E2 , E3 { sRules }</p>
<p>说明：<br />
选择符分组。将同样的定义应用于多个选择符，可以将选择符以逗号分隔的方式并为组。</p>
<p>示例：<br />
.td1,div a,body { font-size:14px; }<br />
td,div,a { font-size:14px; }</p>
<p>9.伪类及伪对象选择符</p>
<p>语法：<br />
E : Pseudo-Classes { sRules }<br />
E : Pseudo-Elements { sRules }</p>
<p>说明：<br />
伪类及伪对象选择符。<br />
伪类选择符。请参阅伪类( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]。<br />
伪对象选择符。请参阅伪对象( Pseudo-Elements )[:first-letter :first-line :before :after]。</p>
<p>示例：<br />
div:first-letter { font-size:14px; }<br />
a.fly :hover { font-size:14px; color:red; }</p>
<p><strong>伪类——动态链接</strong></p>
<p>伪类可以看做是一种特殊的类选择符，是能被支持CSS的浏览器自动所识别的特殊选择符。它的最大的用处就是可以对链接在不同状态下定义不同的样式效果。</p>
<p>1. 语法</p>
<p>伪类的语法是在原有的语法里加上一个伪类（pseudo-class）：<br />
selector:pseudo-class {property: value}<br />
（选择符:伪类 {属性: 值}）<br />
伪类和类不同，是CSS已经定义好的，不能象类选择符一样随意用别的名字，根据上面的语法可以解释为对象（选择符）在某个特殊状态下（伪类）的样式。</p>
<p>类选择符及其他选择符也同样可以和伪类混用：<br />
selector.class:pseudo-class {property: value}<br />
（选择符.类:伪类 {属性: 值}）</p>
<p>2. 锚的伪类</p>
<p>我们最常用的是4种a（锚）元素的伪类，它表示动态链接在4种不同的状态：link、visited、active、hover（未访问的链接、已访问的链接、激活链接和鼠标停留在链接上）。我们把它们分别定义不同的效果：</p>
<p>a:link {color: #FF0000; text-decoration: none} /* 未访问的链接 */<br />
a:visited {color: #00FF00; text-decoration: none} /* 已访问的链接 */<br />
a:hover {color: #FF00FF; text-decoration: underline} /* 鼠标在链接上 */<br />
a:active {color: #0000FF; text-decoration: underline} /* 激活链接 */</p>
<p>（上面这个例子中，这个链接未访问时的颜色是红色并无下划线，访问后是绿色并无下划线，激活链接时为蓝色并有下划线，鼠标在链接上时为紫色并有下划线）<br />
注 意：有时这个链接访问前鼠标指向链接时有效果，而链接访问后鼠标再次指向链接时却无效果了。这是因为你把a:hover放在了a:visited的前面， 这样的话由于后面的优先级高，当访问链接后就忽略了a:hover的效果。所以根据叠层顺序，我们在定义这些链接样式时，一定要按照a:link， a:visited， a:hover， a:actived的顺序书写。</p>
<p>3. 伪类和类选择符</p>
<p>将伪类和类组合起来用，就可以在同一个页面中做几组不同的链接效果了，例如，我们定义一组链接为红色，访问后为蓝色；另一组为绿色，访问后为黄色：</p>
<p>a.red:link {color: #FF0000}<br />
a.red:visited {color: #0000FF}<br />
a.blue:link {color: #00FF00}<br />
a.blue:visited {color: #FF00FF}</p>
<p>现在应用在不同的链接上：</p>
<p>&lt;a class=&#8221;red&#8221; href=&#8221;&#8230;&#8221;&gt;这是第一组链接&lt;/a&gt;<br />
&lt;a class=&#8221;blue&#8221; href=&#8221;&#8230;&#8221;&gt;这是第二组链接&lt;/a&gt;</p>
<p>4. 其他伪类</p>
<p>此外CSS2还定义了[u]首字[/u]和[u]首行[/u]（first-letter和first-line）的伪类，可以对元素的首字或首行设定不同的样式。<br />
下面看这个例子，我们在段落标记里定义文本首字尺寸为默认大小的3倍：</p>
<p>&lt;style type=”text/CSS”&gt;<br />
p:first-letter {font-size: 300%}<br />
&lt;/style&gt;<br />
……<br />
&lt;p&gt;<br />
这是一个段落，这个段落的首字被放大了。<br />
&lt;/p&gt;</p>
<p>我们再定义一个首行样式的例子：</p>
<p>&lt;style type=”text/CSS”&gt;<br />
div:first-line {color: red}<br />
&lt;/style&gt;<br />
……<br />
&lt;div&gt;<br />
&lt;p&gt;<br />
这是段落的第一行<br />
这是段落的第二行<br />
这是段落的第三行<br />
&lt;/p&gt;<br />
&lt;/div&gt;</p>
<p>（上例中段落的第一行为红色，第二、三行为默认颜色）</p>
<p>注意：首字和首行的伪类需要IE5.5以上的版本支持。</p>
<p><strong>CSS盒模型</strong></p>
<p>CSS2中的盒模型是关系到设计中排版定位的关键，任何一个选择符都遵循盒模型规范，例如&lt;div&gt;、&lt;p&gt;、&lt;a&gt;……盒模型包含<br />
(外补丁)margin，(背景颜色)background-color，(背景图片)background-image，(内补丁)padding ，(内容)content，(边框)border。</p>
<p>下图是CSS盒模型的示意图:</p>
<p><img src="http://redhorse.cxl.googlepages.com/060407213789391.png" alt=" " onload="javascript: img_auto_size(this,450,true);" align="bottom" /></p>
<p>平面示意图</p>
<p><img src="http://redhorse.cxl.googlepages.com/060407213789392.gif" alt=" " onload="javascript: img_auto_size(this,450,true);" align="bottom" /></p>
<p>3D示意图</p>
<p>需 要说明的是：IE和Mozilla浏览器对盒模型的解释不一致，造成我们定位上的困难，主要差别是：IE计算2个div之间的距离时候，会把1px的 border计算在内，而mozilla没有； 设定div的宽度后，如果给padding加一个值，IE会在宽度内减去这个值，而M ozilla会在宽度基础上加上这个值。</p>
<hr/><p style="font-size:1.5em;font-weight:bold;">推荐阅读</p><p><i>2007.09.15.10:41.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/721.html" title="继将CSS修改符合W3C规范后，今天花了点时间，也将模板代码修改完毕，通过">继续修改模板 (4)</a></p><p><i>2007.09.11.8:43.pm</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/707.html" title="晚上写extended summary实在是无聊之极，打开FF又逛到了Blog上。回想起曾和风">CSS通过W3C验证 (5)</a></p><p><i>2007.03.13.10:55.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/104.html" title="因为一直是用firefox2.0和ie7.0来调试模板的，今天上来用研究室的电脑上的ie6">该死的ie、css的bug (0)</a></p><p><i>2007.02.06.12:34.am</i>.&nbsp;<a href="http://www.thinkagain.cn/archives/60.html" title="centering align

CSS其中一个优点是它能够在不使用表现的标记来控制页面的la">css布局 (0)</a></p><hr/><p>Copyright &copy; 2012&nbsp;|&nbsp;<a href="http://www.thinkagain.cn">Think Again</a>&nbsp;|&nbsp;<a href="http://www.thinkagain.cn/archives/81.html">原文链接</a></p><img src="http://img.tongji.cn.yahoo.com/710673/ystat.gif"/>]]></content:encoded>
			<wfw:commentRss>http://www.thinkagain.cn/archives/81.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

