<?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>样式之美 &#187; HTML</title>
	<atom:link href="http://www.aoao.org.cn/blog/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aoao.org.cn</link>
	<description>没落的角落</description>
	<lastBuildDate>Fri, 13 Jan 2012 03:37:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>hAtom应用 让结构提供数据</title>
		<link>http://www.aoao.org.cn/blog/2008/05/hatom/</link>
		<comments>http://www.aoao.org.cn/blog/2008/05/hatom/#comments</comments>
		<pubDate>Fri, 30 May 2008 20:20:04 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[hAtom]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Microformats]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=107</guid>
		<description><![CDATA[首先了解一下什么是hAtom，简单来说，它是microformat的成员之一，源于atom，而atom又是什么呢，简单来说，你就看成跟RSS一样的东东，而复杂来说，你可以看这里，为什么要hAtom？选择使用总是需要一个理由的。 例如我的网站有提供Feed，但blog的某个分类却没提供，这时如果分类的页面能输出hatom的结构与数据的话，就可以能过工具（例如： hAtom transcoder ， hatom2...]]></description>
			<content:encoded><![CDATA[<p>首先了解一下什么是<a title="microformats关于hatom的介绍" href="http://microformats.org/wiki/hatom">hAtom</a>，简单来说，它是microformat的成员之一，源于atom，而atom又是什么呢，简单来说，你就看成跟RSS一样的东东，而复杂来说，你可以看<a title="IBM developerWorks文章：“来吧，Atom！”" href="http://www.ibm.com/developerworks/cn/xml/x-matters45.html">这里</a>，为什么要hAtom？选择使用总是需要一个理由的。</p>
<p>例如我的网站有提供Feed，但blog的某个分类却没提供，这时如果分类的页面能输出hatom的结构与数据的话，就可以能过工具（例如： <a href="http://tools.microformatic.com/help/xhtml/hatom/">hAtom transcoder</a> ， <a href="http://lukearno.com/projects/hatom2atom/">hatom2atom</a> ）把它转换成atom或者RSS，试着访问： <a href="http://tools.microformatic.com/transcode/atom/hatom/http://www.aoao.org.cn/blog/category/dev/">http://tools.microformatic.com/transcode/atom/hatom/http://www.aoao.org.cn/blog/category/dev/</a> 看到的就是转换出来的atom，这样的话你甚至可以把搜索的结果转成atom（其实WP虾米feed都是可以输出），好像转把页面转成RSS或者atom也没什么特别的作用，介于这样，我们只研究不应用好了。<a href="http://tools.microformatic.com/transcode/atom/hatom/http://www.aoao.org.cn/blog/category/dev/"></a></p>
<p><a href="http://lukearno.com/projects/hatom2atom/"></a></p>
<p>hAtom整体结构如下:</p>
<blockquote>
<ul>
<li>hfeed (<strong><code>hfeed</code></strong>). optional.
<ul>
<li><strong><code>feed category</code></strong>. optional. keywords or phrases, using <strong><a title="rel-tag" href="http://microformats.org/wiki/rel-tag">rel-tag</a></strong>.</li>
<li>hentry (<strong><code>hentry</code></strong>).
<ul>
<li><strong><code>entry-title</code></strong>. required. text.</li>
<li><strong><code>entry-content</code></strong>. optional (see field description). text. [*]</li>
<li><strong><code>entry-summary</code></strong>. optional. text.</li>
<li><strong><code>updated</code></strong>. required using <a title="datetime-design-pattern" href="http://microformats.org/wiki/datetime-design-pattern">datetime-design-pattern</a>. [*]</li>
<li><strong><code>published</code></strong>. optional using <a title="datetime-design-pattern" href="http://microformats.org/wiki/datetime-design-pattern">datetime-design-pattern</a>.</li>
<li><strong><code>author</code></strong>. required using <strong><a title="hcard" href="http://microformats.org/wiki/hcard">hCard</a></strong>. [*]</li>
<li><strong><code>bookmark</code></strong> (permalink). optional, using <strong><a title="rel-bookmark" href="http://microformats.org/wiki/rel-bookmark">rel-bookmark</a></strong>.</li>
<li>tags. optional. keywords or phrases, using <strong><a title="rel-tag" href="http://microformats.org/wiki/rel-tag">rel-tag</a></strong>.</li>
</ul>
</li>
</ul>
</li>
<p>[*] Some required elements have defaults if missing, see below.</ul>
</blockquote>
<p>本来想全译成中文的，可是我发现我用了二十几年的语言都不知道怎样表达 Feed Entry及一些看起来很简单的东东，所以大家就将就着看，我也就不翻译了，抽出几个出来，详细完整的介绍看官方<a href="http://microformats.org/wiki/hatom#Field_and_Element_Details">WIKI</a>。</p>
<ul>
<li>Feed : 标示一个feed元素，使用class hfeed，可选，如果没用则假设整个页面都是，hAtom可能包括有多个feed元素</li>
<li>Feed Category：必须在feed内但又不在entry内，使用rel标记。</li>
<li>Entry：在<code>&lt;blockquote&gt;</code> or <code>&lt;q&gt;</code> 里的微格式会给忽视。</li>
<li>Entry Title：如果没有的话会找entry里第一个Hx 或者页面的&lt;title&gt;（在没有feed的情况下），或者把它当成空处理。</li>
<li>Entry Content：出现多个会按文档顺序连起来</li>
<li>Entry Permalink：如果没有的话会用网页的url，如果entry内有ID的话就是锚点，</li>
<li>Entry Updated：如果没有就用Entry Published，</li>
<li>Entry Author：要hCard，可以有多个。</li>
</ul>
<p>如果你想在wordpress上使用hatom的话，可以参考一下这篇<a title="hAtom and WordPress" rel="bookmark" href="http://blog.no-panic.at/2006/11/16/hatom-and-wordpress/">hAtom and WordPress</a>。</p>
<p>在官方有批<a href="http://microformats.org/wiki/hatom-examples-in-wild">examples</a> ，上边有各种关于hatom奇奇怪怪的应用。 个人看法，现在对应的“硬件”不成熟，各种应用都比较极限，也许在以后，hAtom会有很好的发展。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/05/hatom/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>形象化的reflow</title>
		<link>http://www.aoao.org.cn/blog/2008/05/reflow/</link>
		<comments>http://www.aoao.org.cn/blog/2008/05/reflow/#comments</comments>
		<pubDate>Wed, 28 May 2008 16:50:14 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=106</guid>
		<description><![CDATA[reflow是个神奇的东西，之前Realazy说到过这个reflow，我摘出其中的重点： 在CSS规范中有一个渲染对象的概念，通常用一个盒子（box, rectangle）来表示。 mozilla通过一个叫frame的对象对盒子进行操作。frame主要的动作有三个： 构造frame, 以建立对象树（DOM树） reflow, 以确定对象位置，或者是调用mozilla的Layout（这里是指源码的实现） 绘制，以便对象能显示在屏幕上 总...]]></description>
			<content:encoded><![CDATA[<p><img src="http://video.google.com/ThumbnailServer2?app=vss&amp;contentid=a95074448942f6e2&amp;offsetms=15000&amp;itag=w320&amp;lang=en&amp;sigh=csTI8cI31Eo1xqfqiUwZCUZjYqw" alt="Mozilla首页的reflow" /><br />
reflow是个神奇的东西，之前Realazy说到过这个<a href="http://realazy.org/blog/2007/09/09/reflow/">reflow</a>，我摘出其中的重点：</p>
<blockquote><p>在CSS规范中有一个渲染对象的概念，通常用一个盒子（box, rectangle）来表示。 mozilla通过一个叫frame的对象对盒子进行操作。frame主要的动作有三个：</p>
<ul>
<li>构造frame, 以建立对象树（DOM树）</li>
<li>reflow, 以确定对象位置，或者是调用mozilla的Layout（这里是指源码的实现）</li>
<li>绘制，以便对象能显示在屏幕上</li>
</ul>
<p>总的来说，reflow就是载入内容树（在HTML中就是DOM树）和创建或更新frame结构的响应的一种过程。</p></blockquote>
<p>现在，我们能形象地看到这个reflow是怎样的一个过程了（via:<a href="http://dougt.wordpress.com/2008/05/24/what-is-a-reflow/">What is a reflow?</a>），先看一下Mozilla的首页；<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="326" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="VideoPlayback" /><param name="src" value="http://video.google.com/googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload%3Fversion%3D0%26secureurl%3DQQAAAGk4Fk5-Bgvf-LrTdHB4tAB5BVJWkNHgzdD1N3lem97nOYTVXwpHVch0MoaDAHEsD84HqW4zQqw2zZ5KTLonUoHFU99B3mbUuuCDEHuQ8PKn%26sigh%3DeVy7V28Pg3d9sVH7uGDxk5kezDc%26begin%3D0%26len%3D26199%26docid%3D1020647662203348823&amp;thumbnailUrl=http://video.google.com/ThumbnailServer2?app=vss&#038;contentid=a95074448942f6e2&#038;offsetms=15000&#038;itag=w320&#038;lang=en&#038;sigh=csTI8cI31Eo1xqfqiUwZCUZjYqw" /><embed id="VideoPlayback" type="application/x-shockwave-flash" width="400" height="326" src="http://video.google.com/googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload%3Fversion%3D0%26secureurl%3DQQAAAGk4Fk5-Bgvf-LrTdHB4tAB5BVJWkNHgzdD1N3lem97nOYTVXwpHVch0MoaDAHEsD84HqW4zQqw2zZ5KTLonUoHFU99B3mbUuuCDEHuQ8PKn%26sigh%3DeVy7V28Pg3d9sVH7uGDxk5kezDc%26begin%3D0%26len%3D26199%26docid%3D1020647662203348823&#038;thumbnailUrl=http://video.google.com/ThumbnailServer2?app=vss&#038;contentid=a95074448942f6e2&#038;offsetms=15000&#038;itag=w320&#038;lang=en&#038;sigh=csTI8cI31Eo1xqfqiUwZCUZjYqw"></embed></object>阅读器看不到点<a href="http://video.google.com/videoplay?docid=1020647662203348823&amp;ei=&amp;hl=en">这里看</a>。</p>
<p>如果能了解渲染过程的话，自然就可以控制减少网页的开销，不过我还不知道这是怎样搞出来滴，谁知道跟我说一下，这里还有维基百科首页和跟google.co.jp的首页的。</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="326" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="VideoPlayback" /><param name="src" value="http://video.google.com/googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload%3Fversion%3D0%26secureurl%3DQQAAAO6SPCj1ooUeM2ejYC9YCSv2cm3Os5QspJYjNzhAXA9VVY9Fh6U8VSGKBuwHZlXNkbTPPrR9Iidj4a61UbjZK8ZSLS8jVYL3tuF04KnDL1iC%26sigh%3DLMAwyD_sSn23OxvmiNCJKEOtPDg%26begin%3D0%26len%3D27067%26docid%3D-5863446593724321515&amp;thumbnailUrl=http://3.gvt0.com/ThumbnailServer2%3Fapp%3Dvss%26contentid%3D94b589f91eec3eeb%26offsetms%3D10000%26itag%3Dw160%26hl%3Den%26sigh%3Dc-iGRotxoRMMYNIhVpZmVflS7n4&amp;docid=-5863446593724321515&amp;hl=en&amp;autoplay=1" /><embed id="VideoPlayback_1" type="application/x-shockwave-flash" width="400" height="326" src="http://video.google.com/googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload%3Fversion%3D0%26secureurl%3DQQAAAO6SPCj1ooUeM2ejYC9YCSv2cm3Os5QspJYjNzhAXA9VVY9Fh6U8VSGKBuwHZlXNkbTPPrR9Iidj4a61UbjZK8ZSLS8jVYL3tuF04KnDL1iC%26sigh%3DLMAwyD_sSn23OxvmiNCJKEOtPDg%26begin%3D0%26len%3D27067%26docid%3D-5863446593724321515&amp;thumbnailUrl=http://3.gvt0.com/ThumbnailServer2%3Fapp%3Dvss%26contentid%3D94b589f91eec3eeb%26offsetms%3D10000%26itag%3Dw160%26hl%3Den%26sigh%3Dc-iGRotxoRMMYNIhVpZmVflS7n4&amp;docid=-5863446593724321515&amp;hl=en&amp;autoplay="></embed></object>阅读器里看不到点<a href="http://video.google.com/videoplay?docid=-5863446593724321515&amp;ei=&amp;hl=en">这里看</a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="326" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="VideoPlayback" /><param name="src" value="http://video.google.com//googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload%3Fversion%3D0%26secureurl%3DQAAAAEktWpKpgyxOlxhADrB5kc-KiDW9X-tnmLfa5mz1HeJFYc4uDD_aG3xPBMwMZhOkPH4p7-kHExqBp00guQV4eDI%26sigh%3DZ2HPAhvbLyfMmjcK-ddCLZS-VYY%26begin%3D0%26len%3D4934%26docid%3D-1471976166301235697&amp;thumbnailUrl=http://1.gvt0.com/ThumbnailServer2%3Fapp%3Dvss%26contentid%3D7166464108021321%26offsetms%3D5000%26itag%3Dw160%26hl%3Den%26sigh%3DnWmH4_Y5Po-WpBGz8Ygj3UZo4Zw&amp;docid=-1471976166301235697&amp;hl=en&amp;autoplay=" /><embed id="VideoPlayback_2" type="application/x-shockwave-flash" width="400" height="326" src="http://video.google.com//googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload%3Fversion%3D0%26secureurl%3DQAAAAEktWpKpgyxOlxhADrB5kc-KiDW9X-tnmLfa5mz1HeJFYc4uDD_aG3xPBMwMZhOkPH4p7-kHExqBp00guQV4eDI%26sigh%3DZ2HPAhvbLyfMmjcK-ddCLZS-VYY%26begin%3D0%26len%3D4934%26docid%3D-1471976166301235697&amp;thumbnailUrl=http://1.gvt0.com/ThumbnailServer2%3Fapp%3Dvss%26contentid%3D7166464108021321%26offsetms%3D5000%26itag%3Dw160%26hl%3Den%26sigh%3DnWmH4_Y5Po-WpBGz8Ygj3UZo4Zw&amp;docid=-1471976166301235697&amp;hl=en&amp;autoplay="></embed></object>阅读器看不到点<a href="http://video.google.com/videoplay?docid=-1471976166301235697&amp;ei=&amp;hl=en">这里看</a></p>
<p>扩展阅读：<a href="http://www.mozilla.org/newlayout/doc/reflow.html">Notes on HTML Reflow</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/05/reflow/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>类型为search的input及相关属性</title>
		<link>http://www.aoao.org.cn/blog/2008/04/input-type-search/</link>
		<comments>http://www.aoao.org.cn/blog/2008/04/input-type-search/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 09:34:21 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=102</guid>
		<description><![CDATA[其实在很久很久之前就发现search类型的input，该属性值是WebKit私有，不过一直没去查相关的属性，介于XXX原因，我找出其属性，回头考虑在其他浏览器上也实现这样的效果。表扬一下Yupoo，他们上次改版就使用上介个。 如果你使用的是Safari(iphone上的不一样，不过会Go按钮会变成Search)或者是其他WebKit引擎的浏览器的话，你就可以看出下面这个input与其他的不同了。...]]></description>
			<content:encoded><![CDATA[<p>其实在很久很久之前就发现search类型的input，该属性值是<a title="The WebKit Open Source Project" href="http://webkit.org/">WebKit</a>私有，不过一直没去查相关的属性，介于XXX原因，我找出其属性，回头考虑在其他浏览器上也实现这样的效果。表扬一下<a href="http://www.yupoo.com">Yupoo</a>，他们上次改版就使用上介个。</p>
<p>如果你使用的是Safari(iphone上的不一样，不过会Go按钮会变成Search)或者是其他WebKit引擎的浏览器的话，你就可以看出下面这个input与其他的不同了。</p>
<form action="http://www.aoao.org.cn/" method="get">
<input name="s" type="search" /> </form>
<p>看不到的朋友可以看一下图片：<br />
<img class="alignnone size-full wp-image-103" title="safari上类型为search的input的各种表现" src="http://www.aoao.org.cn/wp-content/uploads/2008/04/safari-input-type-search.jpg" alt="safari-input-type-search" width="248" height="234" /></p>
<p>看一下相关的代码：</p>
<pre><code>&lt;input type="search" placeholder="测试搜索" autosave="aoao.org.cn" results="8" &gt;</code></pre>
<p><a href="http://weblogs.mozillazine.org/hyatt/archives/2004_07.html#005890">相关的说明</a>，就几个属性的介绍，比较简单，没有译了中文，大家看看就是，其实不用看也要以猜得出。</p>
<blockquote><p>The <code>incremental</code> attribute can be used to control whether or not the search is performed as you type.</p>
<p>The <code>placeholder</code> attribute can be used to set the greyed placeholder text in the control.</p>
<p>The <code>autosave</code> attribute allows you to specify an autosave name for your search results in the dropdown. What&#8217;s cool about the autosave is that it&#8217;s global, which means that two Web sites could put up a search field with an autosave name of google and then they would share the search results. (Since the actual result values are not accessible to the page there is no privacy violation.)</p>
<p>The <code>results</code> attribute allows you to specify how many results should be displayed in the dropdown.</p>
<p>The <code>search</code> DOM event fires at the precise time the search should be performed and obeys the heuristic for the control, so you don&#8217;t have to trap key and click events at all. You can use the onsearch attribute on the control to respond when the search happens.</p></blockquote>
<p>BTW：<a href="http://naked.dustindiaz.com/">CSS Naked Day</a>差不多到了，今年改在9号，有兴趣的朋友凑凑热闹。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/04/input-type-search/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>面向对象的XHTML与CSS编程</title>
		<link>http://www.aoao.org.cn/blog/2008/01/oo-style/</link>
		<comments>http://www.aoao.org.cn/blog/2008/01/oo-style/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 18:41:03 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[概念]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/blog/2008/01/oo-style/</guid>
		<description><![CDATA[要是XHTML与CSS能面向对象。。太阳应该从北边升起了。但是，凡事都应该带着OO的思想来看问题，也勉强可以凑数拉。其实，早在零几年就有人提出了OO-style，不过已找不到。 那要怎样OO呢？现在大家都知道CSS是可以介样写滴： .G_G { /* xxxxxx */ } 我们可以把它大约看一个原型，或者说成类，-__-b 好像本来就是类的样子，然后要在HTML里“实例化”一个对象，例如： &...]]></description>
			<content:encoded><![CDATA[<p>要是XHTML与CSS能面向对象。。太阳应该从北边升起了。但是，凡事都应该带着OO的思想来看问题，也勉强可以凑数拉。其实，早在零几年就有人提出了OO-style，不过已找不到。</p>
<p>那要怎样OO呢？现在大家都知道CSS是可以介样写滴：</p>
<pre><code>.G_G { /* xxxxxx */ }</code></pre>
<p>我们可以把它大约看一个<strong>原型</strong>，或者说成<strong>类</strong>，-__-b 好像本来就是类的样子，然后要在HTML里“实例化”一个对象，例如：</p>
<pre><code>&lt;div class=&quot;G_G&quot;&gt;笨蛋嗷嗷&lt;/div&gt;</code></pre>
<p>该元素会使用上CSS相应的定义，但仅仅对应的class还是不够的，因为我们页面可能会多处应用到这个class，为了处理好“<strong>私有</strong>”的关系，把刚才的代码改成：</p>
<pre><code>&lt;div id=&quot;aoao&quot; class=&quot;G_G&quot;&gt;笨蛋嗷嗷&lt;/div&gt;</code></pre>
<p>这样的话，这个ID为aoao的元素就会应用<code>.G_G</code>这个类的定义，而且可以用<code>#aoao{}</code>这样的选择符来进去私有效果的定义，这样也不会影响到公共用的<code>.G_G</code>这个类，同时，#aoao定义的优先权会比.G_G高，符合私有定义比公共定义优先高的常理^^。</p>
<p>由于我使用了ID这个具有唯一性的东东，对这种私有定义后的东西复用就成了问题（一个ID只能在一个页面上出现一次，不知道谁说的，反正是真理）。如果我们要实现多个相同私有化的东东怎办呢？那我们就必须来实现“<strong>多态</strong>”。挖哈哈。再改一下代码：</p>
<pre><code>&lt;div class=&quot;G_G o_O&quot;&gt;笨蛋嗷嗷&lt;/div&gt;</code></pre>
<p>一个是“G_G”，另一个是“o_O”，但是我们如果使用上<code>.o_O{}</code>也是可以定义到元素，假如CSS是这样的话：</p>
<pre><code>.G_G {width:100%}
.o_O {color:#123456}</code></pre>
<p>元素将都被定义到，而且由于定义不层叠，都会给应用。再假如代码是这样的话，不知道会不会更好理解。</p>
<pre><code>&lt;div class=&quot;layout color&quot;&gt;不是笨蛋嗷嗷鸟&lt;/div&gt;</code></pre>
<pre><code>.layout{width:100%}
.color{color:#123456}</code></pre>
<p>接着，要来实现“<strong>封装</strong>”。子级选择符大家应该常常用吧，换代码：</p>
<pre><code>&lt;div class=&quot;G_G&quot;&gt;&lt;span class=&quot;bendan&quot;&gt;笨蛋&lt;/span&gt;嗷嗷&lt;/div&gt;</code></pre>
<p>虽然<code>.bendan{}</code>跟<code>.G_G .bendan{}</code>都可以定义，但是后者只能应用在class为“G_G”的元素，我们可以简单把<code>.bendan{}</code>理解成全局定义，把<code>.G_G .bendan{}</code>理解成局部定义，这样的话就有利于我们XHTML与CSS的模块化。^^传说中的“封装”出现了，再接着。</p>
<pre><code>&lt;div id=&quot;aoao&quot; class=&quot;G_G o_O&quot;&gt;&lt;span class=&quot;bendan&quot;&gt;笨蛋&lt;/span&gt;嗷嗷&lt;/div&gt;</code></pre>
<p>这样的代码就可以产生无数的变化了，还不明白的从头看起。^^</p>
<p>其实，这些跟真正的面向对象还有很大一段距离，我只是在学标题党，不过可以用它来理解ID与class的应用。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/01/oo-style/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>使用浏览器侧栏的方式</title>
		<link>http://www.aoao.org.cn/blog/2007/12/sidebar/</link>
		<comments>http://www.aoao.org.cn/blog/2007/12/sidebar/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 19:16:26 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/blog/2007/12/sidebar/</guid>
		<description><![CDATA[现在的显示器是越来越宽，但是，一个页面能显示的内容并不非越宽越好，所以把浏览器的侧栏（这里的所说的侧栏并非指页面布局中的侧栏）也拿来用。 那用侧栏有什么好处呢？侧栏是独立的窗口，可以多赚点PV ^_^ ，如果是用IE或者Firefox的朋友点一下Music For Bloggers看一下效果。有没有用大家就自己衡量了，不同的应用的不同的价值，就看应用在哪里。 那怎...]]></description>
			<content:encoded><![CDATA[<p>现在的显示器是越来越宽，但是，一个页面能显示的内容并不非越宽越好，所以把浏览器的侧栏（这里的所说的侧栏并非指页面布局中的侧栏）也拿来用。</p>
<p>那用侧栏有什么好处呢？侧栏是独立的窗口，可以多赚点PV ^_^ ，如果是用IE或者Firefox的朋友点一下<a href="http://labs.aoao.org.cn/bloggingmusic/" title="Music For Bloggers" target="_search">Music For Bloggers</a>看一下效果。有没有用大家就自己衡量了，不同的应用的不同的价值，就看应用在哪里。</p>
<p>那怎样实现呢？</p>
<pre><code>&lt;a target=&quot;_search&quot; href=&quot;http://labs.aoao.org.cn/bloggingmusic/&quot; title=&quot;Music For Bloggers&quot;&gt;Music For Bloggers&lt;/a&gt;</code></pre>
<p>注意到<code>target=&quot;_search&quot;</code>没，在Web标准流行的今天<code>target</code>早就给人抛弃了，其实还是很有作用滴。不过支持的只是IE跟Firefox，虽然Opera也有侧栏，但我还没找在页面里把它打开的方式。Safari好像没有侧栏，也许有，不过我没见过，因为Safari会自动把页面的宽度当成窗体的宽度。</p>
<p>我记得以前IE还支持<code>target=&quot;_mdiea&quot;</code>，可是。现在的测试却没效果。不管了，反正firefox也不支持。那么，怎样使用Opera的侧栏呢？只能用收藏的方式。</p>
<pre><code>&lt;a rel=&quot;sidebar&quot; href=&quot;http://labs.aoao.org.cn/bloggingmusic/&quot; title=&quot;Music For Bloggers&quot;&gt;Music For Bloggers&lt;/a&gt;</code></pre>
<p>这回关键的是<code>rel=&quot;sidebar&quot;</code>，不用写什么鬼脚本了，浏览器会自动识别，点击就添加收藏，<a href="http://labs.aoao.org.cn/bloggingmusic/" title="Music For Bloggers" rel="sidebar">试一下</a>，Firefox也支持这种方式，^_^ 很好~很强大。不过需要用户来收藏再使用意义已经变了。注意，<code>rel</code>不是用来给JS识别然后打开新窗口的，<code>rel</code>还有很多作用滴。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/12/sidebar/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>在Flash中使用HTML和CSS</title>
		<link>http://www.aoao.org.cn/blog/2007/10/flash-textenhancements/</link>
		<comments>http://www.aoao.org.cn/blog/2007/10/flash-textenhancements/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 14:19:41 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.loaoao.com/blog/2007/10/flash-textenhancements/</guid>
		<description><![CDATA[不小心看到同事Den在弄个小东西：在Flash里使用HTML和CSS，代码是这样： var myStyle:TextField.StyleSheet = new TextField.StyleSheet(); myStyle.load(sample.css); content_txt.styleSheet = myStyle; content_txt.multiline= true; content_txt.wordWrap = true; content_txt.html = true; var story:XML = new XML(); story.ignoreWhite = true; story.load(sample.html); story.onLoad = function () { content_txt.htmlText = story; } 这个是加载外部CSS跟HTML（其实...]]></description>
			<content:encoded><![CDATA[<p>不小心看到同事<a href="http://www.vistaden.com">Den</a>在弄个小东西：在Flash里使用HTML和CSS，代码是这样：</p>
<pre><code>var myStyle:TextField.StyleSheet = new TextField.StyleSheet();
myStyle.load("sample.css");
content_txt.styleSheet = myStyle;
content_txt.multiline= true;
content_txt.wordWrap = true;
content_txt.html = true;
var story:XML = new XML();
story.ignoreWhite = true;
story.load("sample.html");
story.onLoad = function () {
content_txt.htmlText = story;
}</code></pre>
<p>这个是加载外部CSS跟HTML（其实是加载XML当HTML用-_-b ）的。后来Den写了两种把样式写在AS里的方式：</p>
<pre><code>var css_str:String = ".aoao{color:#010101;font-weight:bold;} .aoao:hover{color:#ff0000}";
myStyle.parseCSS(css_str)</code></pre>
<pre><code>myStyle.setStyle(".aoao", {color:'#010101', fontWeight:'bold'});
myStyle.setStyle(".aoao:hover", {color:"#ff0000"});</code></pre>
<p>其实HTML也可以写在AS里面，直接拼string就行。对于CSS在写在AS里还是加载外部CSS就要看情况了，用Web上还要考虑请求数，文件大小，缓存，更重要的是维护成本。不过在Web应用我也没想到有什么比较适合的应用，在浏览器里使用HTML加载Flash之后再用Flash加载HTML和CSS意义并不大，而且支持不是一般的弱，看一下<a href="http://livedocs.adobe.com/flash/9.0_cn/main/00000922.html">支持的HTML标签</a>跟<a href="http://livedocs.adobe.com/flash/9.0_cn/main/00000908.html">CSS属性</a>，＝。＝ 本来想用来解决中文下划线的问题，结果还是不行，据说别人是用flash画下划线滴。</p>
<p>浏览器的应用玩玩就算了。还是留在桌面应用吧。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/10/flash-textenhancements/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>学完了xhtml+css之后要学什么呢？(魔兽版)</title>
		<link>http://www.aoao.org.cn/blog/2007/04/after-xhtml-css/</link>
		<comments>http://www.aoao.org.cn/blog/2007/04/after-xhtml-css/#comments</comments>
		<pubDate>Sun, 22 Apr 2007 08:23:39 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[乱七八糟]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web标准]]></category>
		<category><![CDATA[蓝色理想]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=32</guid>
		<description><![CDATA[这几天心情烦燥，自己的作业倒没怎样写，反而写了这篇魔兽版的东东发在经典，当成版主的作业吧。学完了xhtml+css之后要学什么呢？这个问题我已经给人问过了好多回了。其实我只想回问一句你真的学完了吗？ 打个比方。比如打War3 不知道你会不会打呢？1 vs 1 的战场上一定会有一个人输。为什么呢？war3任何一个族都有十几种兵。每种兵都是不同的血，不同的...]]></description>
			<content:encoded><![CDATA[<p>这几天心情烦燥，自己的作业倒没怎样写，反而写了这篇魔兽版的东东发在经典，当成版主的作业吧。学完了xhtml+css之后要学什么呢？这个问题我已经给人问过了好多回了。其实我只想回问一句你真的学完了吗？</p>
<p>打个比方。比如打War3 不知道你会不会打呢？1 vs 1 的战场上一定会有一个人输。为什么呢？war3任何一个族都有十几种兵。每种兵都是不同的血，不同的攻击，不同的防御。掌握得到细节才能立于不败。</p>
<p>一般新手都不会考虑那样多。只要兵多点，以人海作战。div一片倒。打得多了就聪明点。比如当对手出火枪时就想一下要出什么兵对应。用用h 用用p等。打得更多点的就开始研究一下。比如蜘蛛出来有多少血，攻击多少。li默认的margin padding 等等。打得更更多点的又接着研究。比如小鹿配什么兵去打好一点呢 光环是干啥。药水是干啥。研究一下不同元素的搭配应用。h3+ul 还是h3+ol好一点，或者table最好。打得更更更多点的又接着研究。比如什么时候打什么怪升级最快，建筑应该怎样建，要不要定义热键。CSS 对应的是什么。。来。大伙猜猜。 接着着。研究各种各种可以玩的东西。已经不再为了打胜战为第一目标了。在过程中寻找快乐。比如做做CSS特效等。</p>
<p>突然有一天，我发现。其实我压根的不了解War3，我接着又从头开始一点一点的研究各种兵的各种属性。对针对打别的兵有什么跟什么。。哪怕1hp也不放过。如同war3 我发现我自己也一点都不了解html跟css，我又从开头研究html和css的各种各样相关的。对各种各样的浏览器有什么跟什么。连0.1%都不放过。<br />
再接着学什么呢？我也不知道。我还没研究完。。估计还要研究好长的一段时间。</p>
<p>这时候。我再次问一下。你真的学完html和CSS吗？<br />
如果真的学完的话。。哇。。我还没学完。。不如换个问题。</p>
<h3>学过了xhtml+css或者div+css之后要学什么呢？</h3>
<p>如同学xhtml+CSS一样。打久了war3 还换点别的。打CS好呢还是打星际呢？<br />
如果想快点上手的话。。自然是选xml+xslt拉。简单的说。html约等于xml+xslt，就像魔兽与星际一样。有什么相同的地方。但是还是有些不一样。如果是选CS的，那就不能用war3的打法打，不然一定被暴头的滴。因为那是了别一种战斗的方式，比如写js。</p>
<p>其实除了war3可以玩外。还有很多很多游戏可以玩。 你非一定要把它玩精了再玩别的游戏,可以同时玩很多游戏滴。 网页也一样，除了html css还有很多东西。 你非一定要把它们学精了再学别的。可以同时学很多种技术。</p>
<p>不过术业有专攻。。。这句话大家应该听过。怎样选择就看你自己。你发展的方向是什么。就是你的选择。如果你有不同的想法，一起交流一下，<a href="http://bbs.blueidea.com/thread-2738793-1-1.html">经典讨论地址</a>。<br />
BTW:其实，应该比如成星际会更精准一点，不过我不会打星际。。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/04/after-xhtml-css/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>各位大大行行好，给checkbox配个老婆（label）吧</title>
		<link>http://www.aoao.org.cn/blog/2006/12/checkbox-label/</link>
		<comments>http://www.aoao.org.cn/blog/2006/12/checkbox-label/#comments</comments>
		<pubDate>Fri, 22 Dec 2006 15:44:55 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=17</guid>
		<description><![CDATA[在大谈特谈用户体验的今天，一些问题总是在身边发生，试一下点下面两点复选框 测试的东东 点啊点啊点这里 点啊点啊点这里~是没用 代码是这样滴 &#60;input type=checkbox name=testtest id=testtest /&#62;&#60;label for=testtest&#62;点啊点啊点这里&#60;/label&#62;&#60;br /&#62; &#60;input type=checkbox name=testtest /&#62;点啊点啊点这里也没用 我相信一定也有人不喜欢只能点那个小方块，如果...]]></description>
			<content:encoded><![CDATA[<p>在大谈特谈用户体验的今天，一些问题总是在身边发生，试一下点下面两点复选框</p>
<form action="#">
<fieldset>
<legend>测试的东东</legend>
<input id="testtest" name="testtest" type="checkbox" /><label for="testtest">点啊点啊点这里</label><br />
<input name="testtest" type="checkbox" />点啊点啊点这里~是没用</fieldset>
</form>
<p>代码是这样滴</p>
<pre><code>&lt;input type="checkbox" name="testtest" id="testtest" /&gt;&lt;label for="testtest"&gt;点啊点啊点这里&lt;/label&gt;&lt;br /&gt;
&lt;input type="checkbox" name="testtest" /&gt;点啊点啊点这里也没用</code></pre>
<p>我相信一定也有人不喜欢只能点那个小方块，如果分辨率再高点，点中总得瞄准一下。</p>
<p>不只checkbox有这样的问题，radio也一样。大家快给他们配个老婆（label）吧<br />
关于label的说明，可以看下这里<a href="http://phpx.com/man/dhtmlcn/objects/LABEL.html">http://phpx.com/man/dhtmlcn/objects/LABEL.html</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2006/12/checkbox-label/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.674 seconds -->

