<?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; CSS</title>
	<atom:link href="http://www.aoao.org.cn/blog/tag/css/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>纯CSS在Firefox模拟text-overflow: ellipsis效果</title>
		<link>http://www.aoao.org.cn/blog/2009/03/firefox-css-text-overflow-ellipsis/</link>
		<comments>http://www.aoao.org.cn/blog/2009/03/firefox-css-text-overflow-ellipsis/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 14:09:45 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[text-overflow]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=140</guid>
		<description><![CDATA[text-overflow这个属性真让Firefox折腾，虽然之前有写过Firefox通过XUL实现text-overflow:ellipsis的效果，不过要外挂xbl来用也就一直没用，虽然想过Data URI，但其实还不如外挂xbl。 这两天在论坛看到14px同学写的超过宽度显示省略号（无js全兼容），想法很有创意，使用一张图片来做“&#8230;”，另一张图片用来在字不够长的情况下盖掉“&#8230;”，原文攻略很完整，大家可...]]></description>
			<content:encoded><![CDATA[<p>text-overflow这个属性真让Firefox折腾，虽然之前有写过<a href="http://www.aoao.org.cn/blog/2008/07/firefox-text-overflow-ellipsis/">Firefox通过XUL实现text-overflow:ellipsis的效果</a>，不过要外挂xbl来用也就一直没用，虽然想过Data URI，但其实还不如外挂xbl。</p>
<p>这两天在论坛看到14px同学写的<a href="http://bbs.blueidea.com/thread-2915238-1-1.html">超过宽度显示省略号（无js全兼容）</a>，想法很有创意，使用一张图片来做“&#8230;”，另一张图片用来在字不够长的情况下盖掉“&#8230;”，原文攻略很完整，大家可以去看一下思路，个人认为的缺点就是用了图片，不够灵活，所以我就悄悄修改了代码，思路是用父一层的元素的伪类:after来完成“&#8230;”，再用元素自身伪类:after来盖掉不应该出来的“&#8230;”，看一下效果：</p>
<p><a title="纯CSS在firefox模拟text-overflow: ellipsis的演示页面" href="http://labs.aoao.org.cn/demo/effect/text-overflow/"><img class="alignnone size-full wp-image-139" title="firefox-css-text-overflow" src="http://www.aoao.org.cn/wp-content/uploads/2009/03/firefox-css-text-overflow.gif" alt="纯CSS在firefox模拟text-overflow: ellipsis的效果" width="274" height="146" /></a></p>
<p>看上去好像很理想，但是text-overflow也不是那样好模拟的，有兴趣的同学看看<a title="纯CSS在firefox模拟text-overflow: ellipsis的演示页面" href="http://labs.aoao.org.cn/demo/effect/text-overflow/">demo</a>就知道还有多少问题。</p>
<p>当成技术练手还是不错滴，不过估计应该不会拿着应用。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2009/03/firefox-css-text-overflow-ellipsis/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>用私有属性来拯救IE7缩放图片的失真</title>
		<link>http://www.aoao.org.cn/blog/2009/03/img-ms-interpolation-mode/</link>
		<comments>http://www.aoao.org.cn/blog/2009/03/img-ms-interpolation-mode/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 17:13:06 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE7]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=137</guid>
		<description><![CDATA[图片缩放会失真是真理，在浏览器里也一样，貌似使用传说中的双三次插值可以让失真看起来比较不明显，但是真的想不通IE7已经实现了，却不默认打开，是体谅我们的CPU还是内存呢？ 简单来说，我们在图片的CSS 加-ms-interpolation-mode: bicubic 就可以让IE7的图片在有缩放的情况下，失真变得不怎样明显， 更多的测试可以到可以到MSDN做的例子看一下效果，或者到血...]]></description>
			<content:encoded><![CDATA[<p>图片缩放会失真是真理，在浏览器里也一样，貌似使用传说中的<a title="双三次插值 - 维基百科，自由的百科全书" href="http://zh.wikipedia.org/wiki/双三次插值">双三次插值</a>可以让失真看起来比较不明显，但是真的想不通IE7已经实现了，却不默认打开，是体谅我们的CPU还是内存呢？</p>
<p>简单来说，我们在图片的CSS 加<code>-ms-interpolation-mode: bicubic</code> 就可以让IE7的图片在有缩放的情况下，失真变得不怎样明显，<br />
<img style="-ms-interpolation-mode: bicubic" src="http://www.aoao.org.cn/temp/images/feed.gif" alt="" width="250" /><img src="http://www.aoao.org.cn/temp/images/feed.gif" alt="" width="250" /></p>
<p>更多的测试可以到可以到<a href="http://samples.msdn.microsoft.com/workshop/samples/author/css/msInterpolation.htm">MSDN做的例子看一下效果</a>，或者到<a href="http://momdo.s35.xrea.com/web-html-test/CSS3-memo/-ms-interpolation-mode.html">血統の森-web実験小屋</a>看一下效果。</p>
<p>没想到IE7平滑的效果居然可以比Safari好。更让我想不到的是，居然还有另一个属性值<code>nearest-neighbor</code>，难道为了让人节省CPU而使用吗？最少我现在还没想到为什么要用的理由。</p>
<p>BTW：那时发现这个属性后给同事笑到说，人家某部门去年就发现了，居然我开始火星鸟，不过发现了不用也没什么作用，呵呵，谨以此文献给比我还火星滴同学 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2009/03/img-ms-interpolation-mode/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>CSS系统颜色</title>
		<link>http://www.aoao.org.cn/blog/2009/01/css-system-colors/</link>
		<comments>http://www.aoao.org.cn/blog/2009/01/css-system-colors/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 18:01:23 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=128</guid>
		<description><![CDATA[直接调用系统的颜色显示在网页上本来是件很好玩滴事，但是，也有个缺点，就是可用的色太少 比如Bindows在它的启动画面一点点应用。 =。= 上次本来想在某个产品上应用，结果给人BS了，原因是色不好看 囧rz 在css21 中 System Colors也有相关描述，CSS3还加了超链接的色，还有个flavor。 但是，要有浏览器支持才是硬道理，浏览器不支持，虾米都回家睡觉。 附各色显...]]></description>
			<content:encoded><![CDATA[<p>直接调用系统的颜色显示在网页上本来是件很好玩滴事，但是，也有个缺点，就是可用的色太少 比如<a href="http://www.bindows.net/">Bindows</a>在它的启动画面一点点应用。</p>
<p>=。= 上次本来想在某个产品上应用，结果给人BS了，原因是色不好看 囧rz</p>
<p>在css21 中 <a href="http://www.w3.org/TR/CSS21/ui.html#system-colors">System Colors</a>也有相关描述，CSS3还加了<a href="http://www.w3.org/TR/2003/WD-css3-color-20030214/#css3-user">超链接的色</a>，还有个<a href="http://www.w3.org/TR/2003/WD-css3-color-20030214/#flavor">flavor</a>。</p>
<p>但是，要有浏览器支持才是硬道理，浏览器不支持，虾米都回家睡觉。</p>
<p>附各色显示效果，如果看不到文字部分就像刮彩票一半刮开看一下，其中，Background 这个在safari 比较神奇，是透明哦。</p>
<p>CSS2.1中的System Colors</p>
<blockquote cite="http://www.w3.org/TR/CSS21/ui.html#system-colors"><dl>
<dt>ActiveBorder</dt>
<dd style="background-color:ActiveBorder">Active window border.</dd>
<dt>ActiveCaption</dt>
<dd style="background-color:ActiveCaption">Active window caption.</dd>
<dt>AppWorkspace</dt>
<dd style="background-color:AppWorkspace">Background color of multiple document interface.</dd>
<dt>Background</dt>
<dd style="background-color:Background">Desktop background. <span style="color:Background;">» test color:Background @aoao<span></dd>
<dt>ButtonFace</dt>
<dd style="background-color:ButtonFace">Face color for three-dimensional display elements.</dd>
<dt>ButtonHighlight</dt>
<dd style="background-color:ButtonHighlight">Highlight color for three-dimensional display elements (for edges facing away from the light source).</dd>
<dt>ButtonShadow</dt>
<dd style="background-color:ButtonShadow">Shadow color for three-dimensional display elements.</dd>
<dt>ButtonText</dt>
<dd style="background-color:ButtonText">Text on push buttons.</dd>
<dt>CaptionText</dt>
<dd style="background-color:CaptionText">Text in caption, size box, and scrollbar arrow box.</dd>
<dt>GrayText</dt>
<dd style="background-color:GrayText">Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.</dd>
<dt>Highlight</dt>
<dd style="background-color:Highlight">Item(s) selected in a control.</dd>
<dt>HighlightText</dt>
<dd style="background-color:HighlightText">Text of item(s) selected in a control.</dd>
<dt>InactiveBorder</dt>
<dd style="background-color:InactiveBorder">Inactive window border.</dd>
<dt>InactiveCaption</dt>
<dd style="background-color:InactiveCaption">Inactive window caption.</dd>
<dt>InactiveCaptionText</dt>
<dd style="background-color:InactiveCaptionText">Color of text in an inactive caption.</dd>
<dt>InfoBackground</dt>
<dd style="background-color:InfoBackground">Background color for tooltip controls.</dd>
<dt>InfoText</dt>
<dd style="background-color:InfoText">Text color for tooltip controls.</dd>
<dt>Menu</dt>
<dd style="background-color:Menu">Menu background.</dd>
<dt>MenuText</dt>
<dd style="background-color:MenuText">Text in menus.</dd>
<dt>Scrollbar</dt>
<dd style="background-color:Scrollbar">Scroll bar gray area.</dd>
<dt>ThreeDDarkShadow</dt>
<dd style="background-color:ThreeDDarkShadow">Dark shadow for three-dimensional display elements.</dd>
<dt>ThreeDFace</dt>
<dd style="background-color:ThreeDFace">Face color for three-dimensional display elements.</dd>
<dt>ThreeDHighlight</dt>
<dd style="background-color:ThreeDHighlight">Highlight color for three-dimensional display elements.</dd>
<dt>ThreeDLightShadow</dt>
<dd style="background-color:ThreeDLightShadow">Light color for three-dimensional display elements (for edges facing the light source).</dd>
<dt>ThreeDShadow</dt>
<dd style="background-color:ThreeDShadow">Dark shadow for three-dimensional display elements.</dd>
<dt>Window</dt>
<dd style="background-color:Window">Window background.</dd>
<dt>WindowFrame</dt>
<dd style="background-color:WindowFrame">Window frame.</dd>
<dt>WindowText</dt>
<dd style="background-color:WindowText">Text in windows.</dd>
</dl>
</blockquote>
<p>CSS3 新加的 User preferences for hyperlink colors</p>
<blockquote cite="http://www.w3.org/TR/2003/WD-css3-color-20030214/#css3-user"><dl>
<dt>ActiveHyperlink</dt>
<dd style="background-color:ActiveHyperlink">Active hyperlink background.</dd>
<dt>ActiveHyperlinkText</dt>
<dd style="background-color:ActiveHyperlinkText">Text of an active hyperlink.</dd>
<dt>HoverHyperlink</dt>
<dd style="background-color:HoverHyperlink">Hover hyperlink background.</dd>
<dt>HoverHyperlinkText</dt>
<dd style="background-color:HoverHyperlinkText">Text of a hyperlink in the hover state.</dd>
<dt>Hyperlink</dt>
<dd style="background-color:Hyperlink">Hyperlink background.</dd>
<dt>HyperlinkText</dt>
<dd style="background-color:HyperlinkText">Hyperlink text.</dd>
<dt>VisitedHyperlink</dt>
<dd style="background-color:VisitedHyperlink">Visited hyperlink background.</dd>
<dt>VisitedHyperlinkText</dt>
<dd style="background-color:VisitedHyperlinkText">Text of a visited hyperlink.</dd>
</dl>
</blockquote>
<blockquote cite="http://www.w3.org/TR/2003/WD-css3-color-20030214/#flavor"><dl>
<dt>flavor</dt>
<dd style="background-color: flavor">An accent color (typically chosen by the user) to customize the user interface of the user agent itself. User agents may default the &#8216;flavor&#8217; color to the dominant accent color used on the physical machine/mechanism that the user is interacting with (frequently a mouse, keyboard, monitor and computer case, often just a laptop), if the UA is able to retrieve that information from the platform and machine. It is not expected that this value will make sense on all platforms and machines.</dd>
</dl>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2009/01/css-system-colors/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>firefox通过XUL实现text-overflow:ellipsis的效果</title>
		<link>http://www.aoao.org.cn/blog/2008/07/firefox-text-overflow-ellipsis/</link>
		<comments>http://www.aoao.org.cn/blog/2008/07/firefox-text-overflow-ellipsis/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 18:09:00 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[text-overflow]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=114</guid>
		<description><![CDATA[firefox不支持text-overflow一直让人很折腾。。不过还好有大虾为我们提供解决方案。。text-overflow: ellipsis for firefox Firefox still does not implement the proposed CSS3 text-overflow property. It does however provide a similar behaviour for the XUL description element. Furthermore, it does support XBL bindings through CSS. This leads to the following solution: &#8230; Continue reading &#8594...]]></description>
			<content:encoded><![CDATA[<p>firefox不支持text-overflow一直让人很折腾。。不过还好有大虾为我们提供解决方案。。<a href="http://www.rikkertkoppes.com/thoughts/2008/06/30/">text-overflow: ellipsis for firefox</a></p>
<blockquote cite="http://www.rikkertkoppes.com/thoughts/2008/06/30/"><p>Firefox still does not implement the proposed <a href="http://www.w3.org/Style/CSS/current-work">CSS3</a> <a href="http://www.w3.org/TR/2002/WD-css3-text-20021024/#text-overflow-props">text-overflow property</a>. It does however provide a similar behaviour for the <a href="http://www.mozilla.org/projects/xul/">XUL</a> <a href="http://developer.mozilla.org/en/docs/XUL:description">description</a> element. Furthermore, it does support <a href="http://www.w3.org/TR/xbl/">XBL bindings</a> through CSS. This leads to the following solution:</p>
<pre><code>.ellipsis {
  text-overflow: ellipsis;
  -moz-binding: url('ellipsis.xml#ellipsis');</code></pre>
<pre><code>&lt;?xml version="1.0"?&gt;
&lt;bindings
  xmlns="http://www.mozilla.org/xbl"
  xmlns:xbl="http://www.mozilla.org/xbl"
  xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
&gt;
  &lt;binding id="ellipsis"&gt;
    &lt;content&gt;
      &lt;xul:description crop="end" xbl:inherits="value=xbl:text"&gt;&lt;children/&gt;&lt;/xul:description&gt;
    &lt;/content&gt;
  &lt;/binding&gt;
&lt;/bindings&gt;
</code></pre>
</blockquote>
<p><code>xul:description</code>的<a href="http://developer.mozilla.org/en/docs/XUL:Attribute:crop">crop</a>原来是那样强。。除了可以点点点掉后面的。。还可以点点点前面或者中间部分的。。这个功能可是非常实用哦，不知道W3C虾米时候也给这样的CSS属性让我们简单搞定一大堆问题呢。</p>
<p>然后还不小心发现。<a href="http://blog.hedgerwow.com/">hedger</a>悄悄的也实现一样的功能<a href="http://www.hedgerwow.com/360/dhtml/text_overflow/demo3.php">Hacking text-overflow for Firefox</a>，不过还是感觉用XBL简洁方便。。</p>
<p>在很久很久以前，我也在研究，能不能调用firefox处理title的点点点的东东来完成效果，不过一直没实现。之前提出的<code>-moz-text-overflow: ellipsis;</code><a href="http://www.aoao.org.cn/blog/2007/05/aoao-text-overflow-ellipsis/" title="帅到掉厕所的-aoao-text-overflow:ellipsis">via</a>这种不靠谱的说法也不行，看来人家是铁了心。  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/07/firefox-text-overflow-ellipsis/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>CSS Frameworks的概念</title>
		<link>http://www.aoao.org.cn/blog/2008/01/css-frameworks/</link>
		<comments>http://www.aoao.org.cn/blog/2008/01/css-frameworks/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 17:45:35 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[前端架构]]></category>
		<category><![CDATA[概念]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/blog/2008/01/css-frameworks/</guid>
		<description><![CDATA[最近看到N多介绍CSS框架，前些天我说过一句话：“在我有限的视野里，还没见到可以真正可以称得上css框架的东东~”，当然也可能是我的视野太小了，或者是说世界太大了，我自己还是感觉还有一大堆我看不到的东西。 先来看一下一个我比较认同的概念： 框架可分为白盒(White-Box)与黑盒(Black-Box)两种框架。 基于继承的框架被称为白盒框架。所谓白盒即具备可...]]></description>
			<content:encoded><![CDATA[<p>最近看到N多介绍CSS框架，前些天我说过一句话：“在我有限的视野里，还没见到可以真正可以称得上css框架的东东~”，当然也可能是我的视野太小了，或者是说世界太大了，我自己还是感觉还有一大堆我看不到的东西。</p>
<p>先来看一下一个我比较认同的概念：</p>
<blockquote cite="http://www.itisedu.com/phrase/200603061723295.html"><p>
框架可分为白盒(White-Box)与黑盒(Black-Box)两种框架。</p>
<p>基于继承的框架被称为白盒框架。所谓白盒即具备可视性，被继承的父类的内部实现细节对子类而言都是可知的。利用白盒框架的应用开发者通过衍生子类或重写父类的成员方法来开发系统。子类的实现很大程度上依赖于父类的实现，这种依赖性限制了重用的灵活性和完全性。但解决这种局限性的方法可以是只继承抽象父类，因为抽象类基本上不提供具体的实现。白盒框架是一个程序骨架，而用户衍生出的子类是这个骨架上的附属品。</p>
<p>基于对象构件组装的框架就是黑盒框架。应用开发者通过整理、组装对象来获得系统的实现。用户只须了解构件的外部接口，无须了解内部的具体实现。另外，组装比继承更为灵活，它能动态地改变，继承只是一个静态编译时的概念。</p>
<p>在理想情况下，任何所需的功能都可通过组装已有的构件得到，事实上可获得的构件远远不能满足需求，有时通过继承获得新的构件比利用已有构件组装新构件更容易，因此白盒和黑盒将同时应用于系统的开发中。不过白盒框架趋向于向黑盒框架发展，黑盒框架也是系统开发希望达到的理想目标。
</p></blockquote>
<p>再回头看一下现在网上那样多CSS框架（YUI是叫“YUI Library CSS Tools” 并非是“YUI CSS Frameworks”），有多少是真正以框架的概念在写，有多少只是定义样式基类的。当然，每个人对框架的理解不一定，你可能不认同我的说法。</p>
<p>再谈一下CSS 框架，并不非我不认可这个东西的存在，我从一两年前也就一直在尝试这样的东西。对于大型网站，前端的开发需要一个解决方案。框架自然是首选的。可惜距离我太远了，我太弱了T_T，我只要要求两点：</p>
<ul>
<li>管理下面的内容的东西</li>
<li>类/组件</li>
</ul>
<p>很明显，第一点，CSS做不到，第二点，相对其它语言很弱的说。</p>
<p>大约在一年前做一个中型网站时，我为了偷懒，我想到内容模块化，让程序员拼页面。大约方向也就是封装了一个又一个的功能块，程序员在要用到哪一块内容时就只要使用相应的HTML与CSS，大家都方便，我不要拼页面，他不用重复套代码，大家好才是真的好。</p>
<p>在同一个网站，差不多的内容块，多次使用是很正常的事，这也是就让模块化成为可能，比如一个图片列表，可能是用户头像列表，或者群组的图标列表，这时你会怎样写呢？相同的用这样吗？</p>
<pre><code>.photoListUesr,.photoListGroup{ /*_*/ }</code></pre>
<p>这样不是说不行，但如果突然说要再加一个相似的呢？这时可能就要调整样式。而我呢？尝试过这样的使用方式：</p>
<pre><code>&lt;div class=&quot;photoList UesrCt&quot; /&gt;
&lt;div class=&quot;photoList GroupCt&quot; /&gt;</code></pre>
<p>这样的话，我们一开始就分离出共同表现的东西，把<code>.photoList</code>当成原型，通处额外的class再去处理细节。前些天，我写了<a href="http://www.aoao.org.cn/blog/2008/01/oo-style/">面向对象的XHTML与CSS编程</a>，其实只写了一半，另一半是详细的例子，不过介于要做太多的例子跟核心已经写出来就没写完，^^ 当然，这样也存在一定的问题，就是最初的原型的定义要很慎重，要尽量做到以后就算是改版也可能不用修改。CSS这东西，基本上一个框架最多只能适合一个站，当然，如果这个站足够大的话，这样使用才是有意义滴。</p>
<p>HTML与CSS越是模块化，文件越分散这个问题就越严重。HTML倒是好办，反正是应用程序最终要合并输出一份，但CSS一般会给抛弃直接使用。如果在刚才的例子中，在网页导入CSS的方式是这样的话：</p>
<pre><code>@import url(/xxx/photoList.css);
@import url(/xxx/UserCt.css);
@import url(/xxx/GroupCt.css);</code></pre>
<p>那甚至可以考虑用程序来拼页面，但是使用方便，请求数也成正比，一般情况大家都会选择手动合并文件。虽然人脑比电脑更智能，但很多时候，人脑的计算能力是比不上电脑滴。我曾经有这样的想法，就是使用服务端程序来处理CSS的发布机制，大约方向就是通过网站访问日志来分析出整个站各种页面的使用量，通过程序来计算哪些公共使用的要合并，合并的顺序（CSS的文件顺序会影响到优先权），等等各种计算并压缩输出。</p>
<p>可惜的是，这样一套复杂的程序可能只适合一个站，或者同系列的站群。虽然说做起来有点折腾，但我相信门户级别网站使用这样的方式是有必要滴，当然前提还要整个团队都要使用相同的设计模式。</p>
<p>PS:以上CSS发布程序，只是我的幻想，还没尝试过，有兴趣的朋友可以尝试一下，如有意外，概不负责。^_^~</p>
<p>当然，就以上这些还是不能称得上CSS Frameworks，或许只能叫成一个系统级解决方案，毕竟，CSS只是描述性语言。</p>
<p>前晚跟<a href="http://hi.baidu.com/akira_cn" title="影月阁">月影</a>一起吃烤鸭时，有聊到这个，他问我有没有前端一体化的解决方案。JS组件化时也会面临同样的问题，差不多的发布机制应该也可以适用JS。不过完全的一体化解决方案我还没想好，也许月影多请我吃几次烤鸭我就能想好。</p>
<p>广告一下：<a href="http://widgets.ucren.com/ucren-documentation/" title="Ucren 文档中心">Ucren-widgets</a>，国内一个不错的JS组件。</p>
<p>扩展阅读：<a href="http://www.smashingmagazine.com/2007/09/21/css-frameworks-css-reset-design-from-scratch/">CSS Frameworks + CSS Reset: Design From Scratch</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/01/css-frameworks/feed/</wfw:commentRss>
		<slash:comments>19</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/10/fonts/</link>
		<comments>http://www.aoao.org.cn/blog/2007/10/fonts/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 16:44:00 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[font]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/blog/2007/10/fonts/</guid>
		<description><![CDATA[还在用Arial、Verdana吗？先看下新闻： 微软在Vista中更新了标准网页核心字体（Web Core Fonts）。微软在90年代捐赠了这些字体，后来广泛应用于今日的浏览器，直到现在未发生变化。但随着Windows Vista的发布，微软几乎完全更新其中一部分字体——新增6种C类字体：Cambria，Calibri，Candara，Consolas，Constantia和Corbel。Vista包含的这6种新网页核心字体，Windows用户可免费获得...]]></description>
			<content:encoded><![CDATA[<p>还在用Arial、Verdana吗？先看下新闻：</p>
<blockquote cite="http://developers.solidot.org/article.pl?sid=07/10/20/0911247"><p>微软在Vista中更新了标准网页核心字体（<a href="http://en.wikipedia.org/wiki/Core_fonts_for_the_Web">Web Core Fonts</a>）。微软在90年代捐赠了这些字体，后来广泛应用于今日的浏览器，直到现在未发生变化。但随着Windows Vista的发布，微软<a href="http://www.hunlock.com/blogs/Downloading_and_Using_Vista_Web_Fonts">几乎完全更新其中一部分字体</a>——新增6种C类字体：Cambria，Calibri，Candara，Consolas，Constantia和Corbel。Vista包含的这6种新网页核心字体，Windows用户可免费获得（方法，下载<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=048dc840-14e1-467d-8dca-19d2a8fd7485">PowerPoint Viewer 2007</a>，软件会自行安装新字体）。网页开发者如果不使用Vista，那就最好去下载新字体，以便让设计的网页与Vista上显示的效果相同。这里有一个<a href="http://www.hunlock.com/examples/fonts.pdf">视觉对比新旧字体的PDF文档</a>。</p></blockquote>
<p>当然，现在Vista不是人人都玩滴，我们还是应该用上这样的写法，让适合的系统显示适合的字体：</p>
<pre><code>font-family: Calibri, Arial, Helvetica, sans-serif;</code></pre>
<p><img src="http://www.modernlifeisrubbish.co.uk/images/screenshots/calibri-font.gif" alt="calibri-font" />其实挺好看滴。如果加上MAC可以凑成这张表：<a href="http://www.hunlock.com/blogs/Downloading_and_Using_Vista_Web_Fonts" title="Downloading and Using Vista Web Fonts">via</a></p>
<table summary="Font Listing">
<thead>
<tr>
<th width="33%">Windows Vista
			</th>
<th width="34%">Windows
			</th>
<th width="33%">Apple
		</th>
</tr>
</thead>
<tbody>
<tr style="font-family: Arial;">
<td style="font-family: calibri;">Calibri</td>
<td>Arial</td>
<td>Arial</td>
</tr>
<tr style="font-family: Arial Black;">
<td>&nbsp;</td>
<td>Arial Black</td>
<td>Arial Black</td>
</tr>
<tr style="font-family: Comic Sans MS;">
<td>&nbsp;</td>
<td>Comic Sans MS</td>
<td>Comic Sans MS</td>
</tr>
<tr style="font-family: Courier New;">
<td style="font-family: consolas;">Consolas</td>
<td>Courier New</td>
<td>Courier New</td>
</tr>
<tr style="font-family: Georgia;">
<td style="font-family: Cambria;">Cambria</td>
<td>Georgia</td>
<td>Georgia</td>
</tr>
<tr style="font-family: Impact;">
<td>&nbsp;</td>
<td>Impact</td>
<td>Impact</td>
</tr>
<tr style="font-family: Lucida Console,Monaco;">
<td style="font-family: consolas;">Consolas</td>
<td>Lucida Console</td>
<td>Monaco</td>
</tr>
<tr style="font-family: Lucida Sans Unicode,Lucida Grande;">
<td>&nbsp;</td>
<td>Lucida Sans Unicode</td>
<td>Lucida Grande</td>
</tr>
<tr style="font-family: Palatino Linotype,Book Antiqua,Palatino;">
<td style="font-family: Constantia;">Constantia</td>
<td>Palatino Linotype / Book Antiqua</td>
<td>Palatino</td>
</tr>
<tr style="font-family: Tahoma,Geneva;">
<td>&nbsp;</td>
<td>Tahoma</td>
<td>Geneva</td>
</tr>
<tr style="font-family: Times New Roman,Times;">
<td style="font-family: Cambria;">Cambria</td>
<td>Times New Roman</td>
<td>Times</td>
</tr>
<tr style="font-family: Trebuchet MS,Helvetica;">
<td style="font-family: Candara;">Candara</td>
<td>Trebuchet MS</td>
<td>Helvetica</td>
</tr>
<tr style="font-family: Verdana;">
<td style="font-family: Corbel;">Corbel</td>
<td>Verdana</td>
<td>Verdana</td>
</tr>
</tbody>
</table>
<p>都是英文的，而且居然没有代替万恶的Tahoma，Tahoma在IE6下划线贴中文的问题很严重滴。其实中文也“有”，微软雅黑（microsoft yahei），现在随处可见^^ ，不过还是建议大家不要把正文定义成雅黑，想想Vista网页里还是用宋体，只是Viata的v5的，比起XP的v3.03肥了点，字怀大一点，看着舒服点。在XP下ClearType 没开或者没调好，雅黑只能用难看来形容。</p>
<p>当然，关于字体还有更好玩的方式： Web Fonts，代码如下：<a href="http://www.alistapart.com/articles/cssatten"></a></p>
<pre><code>@font-face {
font-family: "Kimberley";
src: url(http://www.princexml.com/fonts/larabie/kimberle.ttf) format("truetype");
}
h1 { font-family: "Kimberley", sans-serif }</code></pre>
<p>有兴趣可以看下 <a href="http://www.alistapart.com/articles/cssatten">CSS @ Ten: The Next Big Thing</a>，web-kit已经支持这东东了。不过<a href="http://blog.othree.net/">OOO</a>说<q xml:lang="zh-TW" lang="zh-TW">剛剛測試過後中文也支援，繪圖速度比較慢，另外字型下載完之前字都不會畫出來，而中文字型檔案果然大，我的螢幕黑掉一次才抓完，目前看來在有漢字的語系還是不實用。</q></p>
<p>虽然以前有font-face，可是后来给CSS2.1干掉了，干对滴，平衡了国人的心理^^ 现在又出这东东，摆明就是来打击大家。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/10/fonts/feed/</wfw:commentRss>
		<slash:comments>12</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>CSS2中文翻译（全文） 已经有CHM</title>
		<link>http://www.aoao.org.cn/blog/2007/08/css2-translate-chm/</link>
		<comments>http://www.aoao.org.cn/blog/2007/08/css2-translate-chm/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 19:02:03 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[ebook]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=42</guid>
		<description><![CDATA[感谢taylor.ren的翻译。^ ^ 虽然曾经我也想做过这事！惭愧！有想法，没行动的人就是我＝。＝！不过不久我也会为大家贡献点东东，^ ^只现在还不能放出来。 译者简介： 任氏有无轩主人 英文名：TR@SOE 现居 苏州 主页：http://www.rsywx.net 博客：http://www.rsywx.net/wordpress W3C的CSS2多语言翻译计划中文组的成员。 2003年Borland技术专家 译文下载地址 原文地址 译文本站分流...]]></description>
			<content:encoded><![CDATA[<p>感谢taylor.ren的翻译。^ ^ 虽然曾经我也想做过这事！惭愧！有想法，没行动的人就是我＝。＝！不过不久我也会为大家贡献点东东，^ ^只现在还不能放出来。</p>
<h4>译者简介：</h4>
<p class="vcard"> <span class="org">任氏有无轩</span>主人<br />
英文名：<span class="fn">TR@SOE</span><br />
现居 <span class="adr"><span class="locality">苏州</span></span><br />
主页：<a href="http://www.rsywx.net" class="url">http://www.rsywx.net</a><br />
博客：<a href="http://www.rsywx.net/wordpress">http://www.rsywx.net/wordpress</a><br />
W3C的CSS2多语言翻译计划中文组的成员。<br />
2003年Borland技术专家</p>
<ul>
<li><a href="http://www.rsywx.net/download/CSS2_Chinese_TR@SOE.zip">译文下载地址</a></li>
<li><a href="http://www.w3.org/TR/CSS2/">原文地址</a></li>
<li><a href="http://labs.aoao.org.cn/book/css2%20(chinese).zip">译文本站分流下载地址</a></li>
<li><a href="http://labs.aoao.org.cn/book/css2%20(chinese)_chm.rar">译文CHM本站分流下载地址</a> 时间：2007-8-15 07:23</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/08/css2-translate-chm/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>慎用 overflow</title>
		<link>http://www.aoao.org.cn/blog/2007/08/overflow/</link>
		<comments>http://www.aoao.org.cn/blog/2007/08/overflow/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 14:31:56 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web标准]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=41</guid>
		<description><![CDATA[overflow有问题吗？没问题。那为什么说要慎用呢？因为有时会导致一些问题。。。 关于overflow:auto的，很多人贪他书写方便，直接用来清除浮动。但是Firefox使用overflow:auto会产生focus，引用网友fireyy的评论 我想这是FF浏览器的一个“可用性和亲和力”（usability/accessibility）的设定，当设定了overflow:auto或者 overflow:scroll的元素不能完全显示内容的时候（出现滚动条）...]]></description>
			<content:encoded><![CDATA[<p>overflow有问题吗？没问题。那为什么说要慎用呢？因为有时会导致一些问题。。。</p>
<p>关于overflow:auto的，很多人贪他书写方便，直接用来清除浮动。但是<a href="http://www.aoao.org.cn/blog/2007/05/firefox-overflow-auto/" class="url">Firefox使用overflow:auto会产生focus</a>，引用网友<a href="http://www.fireyy.com/" class="fn">fireyy</a>的评论</p>
<blockquote cite="http://www.aoao.org.cn/blog/2007/05/firefox-overflow-auto/#comment-186"><p>我想这是FF浏览器的一个“可用性和亲和力”（usability/accessibility）的设定，当设定了overflow:auto或者 overflow:scroll的元素不能完全显示内容的时候（出现滚动条），针对于键盘使用者，就可以focus到那个元素，使用键盘的方向键去控制局部的滚动。</p></blockquote>
<p>那用关于overflow:auto清除浮动有什么问题呢？当你鼠标坏掉时，用键盘按<kbd>Tab</kbd>键去网上看新鼠标时就会发现，按了N+N下<kbd>Tab</kbd>键都到不了想要到的链接，因为overflow:auto太多了。XD 想想老外为什么要写那样复杂的clearfix吧，难道他们的研究会比我们少吗？</p>
<p>那关于overflow:hidden呢？本来它是没问题滴，可是我们伟大的M$不喜欢它，早在04年POPO发现<a href="http://plod.popoever.com/archives/000309.html">overflow:hidden会导致中键失效</a>。</p>
<blockquote cite="http://plod.popoever.com/archives/000309.html"><p>如果定义了嵌套区块元素(比如&lt;div&gt; )的overflow溢出样式，在这个区块上方，鼠标中键将失效，这主要是存在于IE中， Mozilla/Firefox/Opera普遍使用自定义的mouse guesture，所以不存在这个问题或者根本就谈不上这个问题。比如用IE浏览Plod的时候，在中间内容部分按鼠标中键(假设你的鼠标有中键)，那个上下滚屏箭头没有出现吧&#8230;&#8230;</p></blockquote>
<p>中键的功能估计用得比较少，一般出现N+N屏的页面，才会用中键来快速拉动，例如用IE6打开163（不知道改掉了没^^）试一下，虽然IE6里那个不可爱的四角样子比较难看，但是也不能因为它样子有问题就把它去掉，哪怕你是不小心的。因为真的有人会用到，上次跟一个做论坛的朋友有讨论到这个问题，是普通网友提到的。要是导致别人以为中键坏了可就不好^^。顺便说下，你们大胆用，因为我装了罗技的鼠标驱动，中键功能已经更新，就算IE也米问题。再再顺便说下，Firefox的中键那个图可以定制。XD</p>
<p>这些细小的问题可能你认为影响并不大，的确，它的影响并不大，可是<strong>Web标准</strong>本身的意义是什么呢？</p>
<p>扩展阅读：<a href="http://www.aoao.org.cn/blog/2007/02/accesskey/">Accesskey引起的一点点思考</a><br />
引起的相关问题:<a href="http://dancewithnet.com/2008/03/08/cursor-disappears-in-firefox2/">Firefox2中输入框丢失光标bug</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/08/overflow/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>把JS与CSS写在同一个文件里，还是可以用滴</title>
		<link>http://www.aoao.org.cn/blog/2007/05/js-css/</link>
		<comments>http://www.aoao.org.cn/blog/2007/05/js-css/#comments</comments>
		<pubDate>Sat, 26 May 2007 10:00:40 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[性能优化]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=36</guid>
		<description><![CDATA[首先感谢比尔、感谢微软、感谢MSDN，是他们让我看到他们富有创意的一面，好了好了不废话了。 我们经常把多个CSS或者多个JS并成一个，以节省请求，但是这样最少还是要两个。在MSDN的Blog上看到原来也是可以把JS和CSS并在一个文件里，那怎样做呢？利用注释，先看一下这代码。 &#60;!-- /* window.onload=function(){ document.getElementById(test2).innerHTML=传说中滴JS测试者。如...]]></description>
			<content:encoded><![CDATA[<p>首先感谢比尔、感谢微软、感谢MSDN，是他们让我看到他们富有创意的一面，好了好了不废话了。</p>
<p>我们经常把多个CSS或者多个JS并成一个，以节省请求，但是这样最少还是要两个。在MSDN的Blog上看到原来也是可以把<a href="http://blogs.msdn.com/shivap/archive/2007/05/01/combine-css-with-js-and-make-it-into-a-single-download.aspx">JS和CSS并在一个文件里</a>，那怎样做呢？利用注释，先看一下这代码。</p>
<pre><code>&lt;!-- /*
window.onload=function(){
document.getElementById("test2").innerHTML="传说中滴JS测试者。如果你看到我，那&lt;strong&gt;JS&lt;/strong&gt;也生效了";
}
&lt;!-- */
&lt;!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}</code></pre>
<p>CSS处理时会忽视掉&lt;!&#8211;，这时JS部分只是CSS的注释/* js */，而JS处理时把&lt;!&#8211;转成// 也就是JS的单行注释，单行注释会把后面的/*和*/干掉，同时也干掉了CSS，不废话了，看<a href="http://labs.aoao.org.cn/test/jscss/">演示的例子</a>。</p>
<p>在网上运行时还要通过程序输出个“*/*”的头，不然MIME不对有的浏览器不干活。PHP的是这样：</p>
<p><code>&lt;?header('Content-type: */*');?&gt;</code></p>
<p>理论上在服务器上指定某种后缀的MIME是“*/*”应用也行得通，不过我没有试。把JS跟CSS写在同一个文件特别适合第三方调用的那种，虽然文件大了一点，但能少了一半的请求数，帅帅滴。<ins>补充说明，直接这样使用会是两个200的，要节省还要涉及到服务器配置，最少我还不知道单程序可以实现的。</ins></p>
<p>当然，这样的格式写起来一定很不爽，不过配合程序来读原来已经的，并处理一下就可以，这样就可以保持原来文件也方便维护，输出文件又省点请求，如果想的话，处理处理缓存，跟静态文件差不多了。这里有份<a href="http://blogs.msdn.com/shivap/attachment/2356278.ashx" title="MSDN提供的C#实现的方式">C#</a>的，据说是官方滴，我的是PHP的，因为还没写缓存的机制就不拿出来丢人了，其实原理也很简单，会编程的三两下就搞定。</p>
<p>再其实，我是想找把多份CSS合并的方式，合成一个不难，可以是处理好各模块化的分离同时能在客户端缓存及方便程序调用才是难的，CSS又不像JS可以在客户端异步调用，谁有好的方式介绍一下给我。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/05/js-css/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Firefox使用overflow:auto会产生focus</title>
		<link>http://www.aoao.org.cn/blog/2007/05/firefox-overflow-auto/</link>
		<comments>http://www.aoao.org.cn/blog/2007/05/firefox-overflow-auto/#comments</comments>
		<pubDate>Wed, 09 May 2007 23:43:16 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=35</guid>
		<description><![CDATA[介个世界的浏览器无奇不有，以前不了解Firefox不知道问题，深入时才发现问题一大堆，不小心使用overflow:auto，才发现有这样的问题，不知道是不是我又火星了。 测试页：http://labs.aoao.org.cn/test/overflow/firefox/focus/，打开后狂按键盘的Tab键，然后再看一下代码，你会发现，介个问题很复杂，翻了W3C那英文好像也没提到。 不过，有个focus，可以让noscript的菜单更帅，...]]></description>
			<content:encoded><![CDATA[<p>介个世界的浏览器无奇不有，以前不了解Firefox不知道问题，深入时才发现问题一大堆，不小心使用overflow:auto，才发现有这样的问题，不知道是不是我又火星了。</p>
<p>测试页：<a href="http://labs.aoao.org.cn/test/overflow/firefox/focus/">http://labs.aoao.org.cn/test/overflow/firefox/focus/</a>，打开后狂按键盘的<kdb>Tab</kdb>键，然后再看一下代码，你会发现，介个问题很复杂，翻了W3C那英文好像也没提到。</p>
<p>不过，有个focus，可以让noscript的菜单更帅，又不过，据不科学的说法，它focus得很奇怪。本来想写个noscript的下拉菜单放出来，支持无鼠标操作，就是因为他focus得太帅了，等有空再写。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/05/firefox-overflow-auto/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>帅到掉厕所的-aoao-text-overflow:ellipsis</title>
		<link>http://www.aoao.org.cn/blog/2007/05/aoao-text-overflow-ellipsis/</link>
		<comments>http://www.aoao.org.cn/blog/2007/05/aoao-text-overflow-ellipsis/#comments</comments>
		<pubDate>Thu, 03 May 2007 00:23:30 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[text-overflow]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=34</guid>
		<description><![CDATA[text-overflow:ellipsis大家用过吧，在win上大家都知道IE跟Opera可以搞定，如果你看下面的代码你会不会兴奋呢？ text-overflow:ellipsis; -o-text-overflow:ellipsis; -icab-text-overflow: ellipsis; -khtml-text-overflow: ellipsis; -moz-text-overflow: ellipsis; -webkit-text-overflow: ellipsis; 别兴奋了，该支持的都支持，其他都是骗小朋友滴。基本非IE的浏览器的私有属性都会以-xxx-这样开始，-o-就是以Presto为引...]]></description>
			<content:encoded><![CDATA[<p>text-overflow:ellipsis大家用过吧，在win上大家都知道IE跟Opera可以搞定，如果你看下面的代码你会不会兴奋呢？</p>
<pre><code>text-overflow:ellipsis;
-o-text-overflow:ellipsis;
-icab-text-overflow: ellipsis;
-khtml-text-overflow: ellipsis;
-moz-text-overflow: ellipsis;
-webkit-text-overflow: ellipsis;</code></pre>
<p>别兴奋了，该支持的都支持，其他都是骗小朋友滴。基本非IE的浏览器的私有属性都会以-xxx-这样开始，-o-就是以Presto为引擎的 Opera私有的、-icab-是iCab私有的，-khtml-就是以KHTML为引擎的浏览器（如Konqueror Safari）、-moz-就是以mozilla的Gecko为引擎的浏览器（如Firefox，mozilla）、-webkit-就是以Webkit 渲染引擎（是KHTML的衍生产品）的浏览器（如Safari、Swift）。</p>
<p>并不是说像-moz-text-overflow现在有用，而是一个幻想的写法，当一个浏览器的开发人员决定在浏览器支持一种还没得到公认的属性时，一般都会在属性的前面加上-xxx-这种，表明这种是属于该浏览器私有的属性，当然，这些属性多数来自CSS3的，使用这样的写法在浏览器升级后也许才有作用</p>
<p>这段代码是在<a href="http://www.css3.info/">css3.info</a>上看到的，以前是没这样写滴，不知道是什么时候改的。</p>
<p>Firefox实现text-overflow的也有差不多行滴，一个是<a href="http://www.hedgerwow.com/360/dhtml/text_overflow/demo.php">JS+XBL</a>，另一个<a href="http://www.jide.fr/emulate-text-overflowellipsis-in-firefox-with-css">CSS的:after</a> 的，以前在试着写用xbl来监视文本的宽度的配合:after，不用想就知道我是失败的，如果单XBL可以行的话，别人也不用配合JS来写了。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/05/aoao-text-overflow-ellipsis/feed/</wfw:commentRss>
		<slash:comments>9</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>百分比的细节－－容器背景图片篇</title>
		<link>http://www.aoao.org.cn/blog/2007/04/percent-background/</link>
		<comments>http://www.aoao.org.cn/blog/2007/04/percent-background/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 18:09:36 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=31</guid>
		<description><![CDATA[background-position 的值可以是长度单位，百分比，或者关键字。 长度单位比较好理解。多少就多少，正的就正，负的就负的。而关键字的中left top就是0% center 就是50% right bottom就是100%，那百分比是怎样算的呢？ 假如是 background-position:50% 0 的话，就是容器的左上角开始的坐标(50%,0) 和背景图的左上角开始的坐标(50%,0)的位置同点处，但这样的说法好像比较不好计算。 ...]]></description>
			<content:encoded><![CDATA[<p>background-position 的值可以是长度单位，百分比，或者关键字。</p>
<p>长度单位比较好理解。多少就多少，正的就正，负的就负的。而关键字的中left top就是0% center 就是50% right bottom就是100%，那百分比是怎样算的呢？</p>
<p>假如是 background-position:50% 0 的话，就是容器的左上角开始的坐标(50%,0) 和背景图的左上角开始的坐标(50%,0)的位置<strong>同点</strong>处，但这样的说法好像比较不好计算。<br />
或者换个说法比较容易理解： 容器的宽减去背景图的宽，再乘 50% ，高的计算也一样。</p>
<p>比如 容器宽 1000px 背景图宽 800px：<br />
如果background-positionX 是50%时，就是 ( 1000px &#8211; 800px ) * 50% = 100px；<br />
如果background-positionX 是-50%时，就是 (1000px &#8211; 800px ) *-50% = -100px。</p>
<p>又比如 容器宽 600px 背景图宽 800px ：<br />
如果background-positionX 是 50% 时，就是 ( 600px &#8211; 800px ) * 50% = -100px；<br />
如果background-positionX 是 -50% 时，就是 (600px &#8211; 800px ) *-50% = 100px 。</p>
<p>最后一种就会出现就算是使用负的百分比也让容器的背景图左边为空或者出现背景色，百分比真是奇妙！</p>
<p>对于百分比使用后出现小数部分的可以参考我写的另一篇：<a href="http://www.aoao.org.cn/blog/2007/03/percent-width/" title="点击查看详细">百分比的细节－－容器大小篇</a>。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/04/percent-background/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>利用text-align:justify完成单行文字两端对齐</title>
		<link>http://www.aoao.org.cn/blog/2007/04/text-align-justify/</link>
		<comments>http://www.aoao.org.cn/blog/2007/04/text-align-justify/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 20:38:59 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=30</guid>
		<description><![CDATA[text-align:justify只能对多行中的非最后一行进行两端对齐。对于单行自己没办法，IE有text-justify 可以解决问题，对了非IE的我的方式比较垃圾，因为只在特殊场合下才会用，看一下测试页面。 .justify{ height:1.1em; overflow:hidden; text-align:justify; text-justify :distribute-all-lines; } div.cn:after { content: __________________________________________; font-size:100px; } 对了非IE的我是使用content还增加...]]></description>
			<content:encoded><![CDATA[<p>text-align:justify只能对多行中的非最后一行进行两端对齐。对于单行自己没办法，IE有text-justify 可以解决问题，对了非IE的我的方式比较垃圾，因为只在特殊场合下才会用，<a href="http://labs.aoao.org.cn/test/text/one-line-justify/">看一下测试页面</a>。</p>
<pre><code>.justify{
height:1.1em;
overflow:hidden;
text-align:justify;
text-justify :distribute-all-lines;
}
div.cn:after {
content: "__________________________________________";
font-size:100px;
} </code></pre>
<p>对了非IE的我是使用content还增加内容达到有第二行，才会在第一行两端对齐。</p>
<p>不过各浏览器对中文的理解不一样。Firefox 是直接分割中文，Opera不会分割中文，只认空格，要是在中文中间插点半角的英文或者标号它还会对不齐，safari接近Opera。都是不加空格没法分</p>
<p>英文比较好，因为大家只能用空格分来单词，不过IE用text-justify :distribute-all-lines来分真是难看得要命。本来想过用htc或者js帮IE，可是发现,IE6好笨的说，家里没IE7不知道怎样。</p>
<p>或者敲空格是一种比较好的方式，可firefox这种只放大文本的浏览器一放大文字就XX了，我写的那个烂方法也只有在一定的情况下有用，想起一句话：<strong>珍惜生命，远离Firefix!</strong> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/04/text-align-justify/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>大家的网站祼奔吧~</title>
		<link>http://www.aoao.org.cn/blog/2007/04/css-naked-day/</link>
		<comments>http://www.aoao.org.cn/blog/2007/04/css-naked-day/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 16:42:12 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[乱七八糟]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=28</guid>
		<description><![CDATA[规则很简单：4月5号那天，把CSS去掉，让大家看一下你网站的结构吧。XD 这可不是玩笑哦，今年已经是第二年了。去年有700多个站有被爆了光，这是去年的标志，看来今年Web2.0了。 今年呢？关注官方： http://naked.dustindiaz.com/ 这几天一直悄悄在看着这有没有动静，静了好久，原来是错开愚人节。XD 也许有人可能要问~ 为什么要祼奔~ 介个介个。。因为爱玩。没什么...]]></description>
			<content:encoded><![CDATA[<p><a href="http://naked.dustindiaz.com/"><img src="http://www.loaoao.com/wp-content/uploads/2007/10/naked-day-07.png" alt="naked day 07" /></a></p>
<p>规则很简单：4月5号那天，把CSS去掉，让大家看一下你网站的结构吧。XD</p>
<p>这可不是玩笑哦，今年已经是第二年了。去年有700多个站有被爆了光，这是去年的标志，看来今年Web2.0了。<br />
<img src="http://www.loaoao.com/wp-content/uploads/2007/10/naked.gif" alt="naked day 06" /></p>
<p>今年呢？关注官方： <a href="http://naked.dustindiaz.com/">http://naked.dustindiaz.com/</a></p>
<p>这几天一直悄悄在看着这有没有动静，静了好久，原来是错开愚人节。XD</p>
<p>也许有人可能要问~ 为什么要祼奔~ 介个介个。。因为爱玩。没什么特别滴。</p>
<p>不过据说网站祼奔可以看清一个网站的“内在美”或者“内在丑”</p>
<p>去年国内没有多少站在“祼”，我知道的只有我、<a href="http://www.forest53.com">小甘甘</a>、csser.org(那时还是我上FTP改文件)还有几个记不起来的站，今年不知道国内又能有多少呢？ </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/04/css-naked-day/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>百分比的细节－－容器大小篇</title>
		<link>http://www.aoao.org.cn/blog/2007/03/percent-width/</link>
		<comments>http://www.aoao.org.cn/blog/2007/03/percent-width/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 21:36:02 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=26</guid>
		<description><![CDATA[因为屏幕能显示的最小单位是1px，对于像773*50%=386.5这样带数字的长度必须有所取舍。 测试页面，一些浏览器的截图标宽度也在里面 IE：按四舍五入的方式计算。 Firefox：计算后的值忽略小数部分，但会把多出的长度分配给里面的各元素。 如果只多出1px，比如2*386=772，剩下的1px会到其中一个元素，优先分配第一个元素，像773px分配给两个50%时得到的是：387px和386px...]]></description>
			<content:encoded><![CDATA[<p>因为屏幕能显示的最小单位是1px，对于像773*50%=386.5这样带数字的长度必须有所取舍。</p>
<p><a href="http://lab.loaoao.com/test/width/percent/">测试页面</a>，一些浏览器的截图标宽度也在里面</p>
<p><strong>IE</strong>：按四舍五入的方式计算。</p>
<p><strong>Firefox</strong>：计算后的值忽略小数部分，但会把多出的长度分配给里面的各元素。 如果只多出1px，比如2*386=772，剩下的1px会到其中一个元素，优先分配第一个元素，像773px分配给两个50%时得到的是：387px和386px，分配给四个25%时得到的是：194px、193px、193px和193px； 而对于多出几个px，如773*33.3%=257.409，773*33.33%=257.6409，由于忽略掉的小数不一样，分配的原则也不一样，找不到相关资料，以下是我的猜想，三个元素的，按四舍五入的方式分配，四舍的优先分配给两边，五入的优先分配给前边两个，对于分配给三个元素以上的，多出部分自由分配，我找不到规律，但第一个一定会分配到。</p>
<p>FF还有一些奇怪的地方。<a href="http://lab.loaoao.com/test/width/percent/firefox/">Firefix测试页面</a>。1024宽度不会自动分配，也许是因为外层也是带小数的，导致1px没分配，接着测试Firefox</p>
<p><strong>Opera</strong> &amp; <strong>Safari2</strong>：计算时忽略百分比的小数部分，计算后的值忽略小数部分，如果里面的元素大于计算后的宽度不会导致后面的元素换行。</p>
<p><strong>Netscape</strong> &amp; <strong>Mozilla</strong>：计算后忽略小数，多出部分有点类似Firefox，但多出部分是比透明显示，而且比较奇怪，比如33.33%*3=99.99%　小于100%，但却大于100%，奇怪的浏览器，还好使用的人不多，不用过于在意这两个浏览器。</p>
<p>测试没完成，有兴趣的朋友帮忙测试，<a href="http://lab.loaoao.com/test/width/percent/test/">单独的测试页</a>，有知道原因的朋友讲一下下 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/03/percent-width/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>神奇的clear:right</title>
		<link>http://www.aoao.org.cn/blog/2007/03/clear-right/</link>
		<comments>http://www.aoao.org.cn/blog/2007/03/clear-right/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 20:50:23 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=25</guid>
		<description><![CDATA[其实这个问题在去年做不会自己会动的书时就发现了，不过一直没有整理出来，IE对百分比的计算是四舍五入的，也因而出现100%大于100%的情况，其实，可以用clear:right来解决问题，今天在整理clear的用法时突然想到。 测试页面，IE打开 再配合overflow:hidden就可以搞定问题。 不要问我这个是为什么，我也不知道原因，谁知道跟我说下，我也是那里玩时偶然发现的。X...]]></description>
			<content:encoded><![CDATA[<p>其实这个问题在去年做<a href="http://labs.aoao.org.cn/demo/effect/bookshelf/">不会自己会动的书</a>时就发现了，不过一直没有整理出来，IE对百分比的计算是四舍五入的，也因而出现100%大于100%的情况，其实，可以用clear:right来解决问题，今天在整理clear的用法时突然想到。</p>
<p><a href="http://labs.aoao.org.cn/test/clear/right/">测试页面，IE打开</a></p>
<p><img src='http://www.aoao.org.cn/wp-content/uploads/2007/11/clearright.png' alt='clearright'  height="292" width="446" /><br />
再配合overflow:hidden就可以搞定问题。</p>
<p>不要问我这个是为什么，我也不知道原因，谁知道跟我说下，我也是那里玩时偶然发现的。XD　代码在这里</p>
<pre><code>&lt;div class="wrapper"&gt;
&lt;div class="sbox"&gt;Content&lt;/div&gt;
&lt;div class="sbox"&gt;Content&lt;/div&gt;
&lt;/div&gt;</code></pre>
<pre><code>.wrapper{
clear:both;
float:left;
width:150px;
border:3px #666 solid;
padding:3px;
background-color:#efefef;
}
.sbox{
/*clear:right;*/
float:left;
width:100px;
height:100px;
border:1px #000 solid;
background-color:#ccc;
}</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/03/clear-right/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>html:first-child IE7跟firefox都不认识吗？有的浏览器是那样笨。</title>
		<link>http://www.aoao.org.cn/blog/2007/03/first-child/</link>
		<comments>http://www.aoao.org.cn/blog/2007/03/first-child/#comments</comments>
		<pubDate>Sun, 18 Mar 2007 09:22:53 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://wordpress.cs/?p=24</guid>
		<description><![CDATA[昨晚在CSDN无意中看到这个 html:first-child&#62;*+body {...} 测试页面，解读一下： html:first-child就是html 自己 html:first-child&#62;* 就是html下子一级的所有,可以是head html:first-child&#62;*+body 就是可以head后面的body 这个选择符FF2不认，IE7也不认，Opera跟Safari可以，一开始还以为FF下的html跟body里还有层什么，FF的html下有别的东西很久前的事了，比如在本站按下中键，代码在后面...]]></description>
			<content:encoded><![CDATA[<p>昨晚在CSDN无意中看到<a href="http://community.csdn.net/Expert/TopicView3.asp?id=5398384">这个</a></p>
<pre><code>html:first-child&gt;*+body {...}</code></pre>
<p><a href="http://lab.loaoao.com/test/filter/html/">测试页面</a>，解读一下：<br />
html:first-child就是html 自己<br />
html:first-child&gt;* 就是html下子一级的所有,可以是head<br />
html:first-child&gt;*+body 就是可以head后面的body</p>
<p>这个选择符FF2不认，IE7也不认，Opera跟Safari可以，一开始还以为FF下的html跟body里还有层什么，FF的html下有别的东西很久前的事了，比如在本站按下中键，代码在后面。</p>
<p>后来又测试了，原来是不认识 html:first-child，~_~  真笨，不知道人家是不是故意的。不过不认识也好，可以拿来当filter用，过滤FF的方式其实已经很多了，比如：</p>
<pre><code> :root Selectors{}/*不过这个Netscape也认识*/
@-moz-document url("loaoao.com") {
Selectors{ ... !important}
}/* 这个是FF特有的，常常给我用来过滤广告 */ </code></pre>
<p>不过这个比较特别，据不科学的说法，FF3是通过<a href="http://www.webstandards.org/action/acid2/">Acid2测试的</a>，对CSS的支持变化应该不小，到时也许又会有N多问题会出现，得有区分Firefox不同版本的，这个就有作用了，区分FF1.5跟FF2的方式我还没找到，谁知道跟我说。</p>
<hr />
定制Firefox鼠标中键图标的方法</p>
<pre><code>html&gt;img /* autoscroll overr-de for Firefox */
{
width: 0!important;
height: 28px!important;
padding-left: 28px!important;
background: url(../images/autoscroll.png);
}</code></pre>
<p>用FF看在本站时，按下鼠标中键，看看会看到什么。XD  据说这段css最早是由http://www.sitepoint.com/ 使用的，<strike>那是<a href="http://old9.blogsome.com/">老九</a>发现的</strike>，那是<a href="http://www.firefox.net.cn/newforum/viewtopic.php?t=8119">Firefox社区的fiag</a>发现。（^^感谢<a href="http://blog.guoshuang.com/">郭爽</a> 的提醒） </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2007/03/first-child/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

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

