<?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.nuniao.com/index.php/archives/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nuniao.com</link>
	<description>记录驽鸟的喜怒哀乐！</description>
	<lastBuildDate>Thu, 02 Feb 2012 05:14:33 +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>看看你是哪个等级的CSS开发人员</title>
		<link>http://www.nuniao.com/index.php/archives/2009/02/714.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2009/02/714.html#comments</comments>
		<pubDate>Fri, 27 Feb 2009 16:10:18 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[前端技术]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[等级]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/index.php/archives/2009/02/714.html</guid>
		<description><![CDATA[<p>CSS? Isn&#8217;t that a multiplayer game?<br />
<strong>第0级：CSS？那不是一个多人射击游戏吗？</strong><br />
有些人因为在找CS:S（Counter Strike: Source）这款游戏的资讯而进到#CSS网站。不必担心这些人，他们不可能制作太多网页，所以对网络也不会造成多大伤害。</p>
<p>Yeah, I use it to remove underlines on links sometimes<br />
<strong>第1级：是啊，我偶尔用它来移除连结的底线</strong></p>
<p>和第0级的人不同，这些人学过HTML，也制作过几个简单的网站。他们只有在无法使用HTML制作出某些效果时，才会使用CSS，例如移除连结的底线或者设定行高。这些人的网站通常规模不大也没什么访客，所以他们也不会对网络造成太大伤害。</p>
<p>No, I don&#8217;t like divs; tables are much easier to work with<br />
<strong>第2级：不，我不喜欢div元素；表格好用多了</strong></p>
<p>他们听过使用div元素来设计网页这件事，也花了些时间学习CSS。不过他们很快就放弃了，觉得CSS太难而且支持度不佳，还是宁可用表格排版。<br />
注意！他们是危险人物！他们在这个领域已经待了一段时间，许多都是网站部门的主管。和他们接触是很重要的，提倡网络标准的人应该多多开导他们，这对网络的意义非同小可。</p>
<p><span id="more-714"></span></p>
<p>Yes I&#8217;ve heard it&#8217;s good, but I can&rsquo;t use it because of&hellip;<br />
<strong>第3级：是啊，听说它挺好的，不过我没用它因为&hellip;&hellip;</strong></p>
<p>这些人虽然知道CSS的优点，不过总是基于某些原因而无法使用它，例如他们可能有第2级的上司，或者他们必须考虑到Netscape 4的使用者。<br />
旧 版的浏览器虽然不支持CSS，不过使用者还是可以看见完整的内容。而基于亲和力（accessibility）和易用性（usability）的好 处，CSS可以为网站带来更多访客。把这些优点告诉第3级的开发人员，即使他们不是决策者，或许多少能对第2级的上司发挥点影响力吧。</p>
<p>CSS? Oh! Yes, I use divs for all my layouts<br />
<strong>第4级：CSS？喔！没错，我用div元素来排版</strong></p>
<p>在页面中使用过多的div元素反而是这群人的问题，他们会用#toprightredline或是#r5_c7（表示第5列第7栏）这样的方式设定div元 素的id。即使可以通过XHTML 1.1的验证，这种排版方式却无法发挥CSS的优势。荧幕朗读软体（screen readers，视障者使用的浏览器）很难解译这些网页，旧版浏览器也会有同样的问题，网页的内容无法完整显示。而不良的class与id命名方式，也对 于版面的修改造成极大不便。<br />
虽然第4级的人制作的网站仍然很糟，不过由于他们很容易接受新的观念，因此对网络造成的伤害较小。许多所见即所得（WYSIWYG）的编辑器制作出充满div元素的原始码，可能也是误导这群人的原因。幸好这些编辑器已经逐渐改良了，希望这会有助于第4级的人继续往上提升。</p>
<p>I use CSS for design, it&#8217;s better than tables because of&hellip;<br />
<strong>第5级：我用CSS来设计，这比表格好多了，因为&hellip;&hellip;</strong></p>
<p>第5级的人知道CSS的优点并乐于使用，虽然有时会遇到些问题，但并不严重。他们也能运用长期的CSS工作经验，与人辩论为什么要将网页的结构与设计分开。我猜这篇文章大部分的读者是这一级的CSS开发人员，我想我自己也是。不过这还不是最好的&hellip;&hellip;</p>
<p>What version of CSS? Yes, I do. Did you read my book about&hellip;<br />
<strong>第6级：哪个版本的CSS？是的，我知道啊。你有读过我的书关于&hellip;&hellip;</strong></p>
<p>第 6级的人致力于改良CSS，并且写了许多很棒的文章介绍它的新用法。其中有些人将W3C关于CSS的说明文件全部读完了，并且知道哪些功能在哪个版本的浏 览器才有支持。他们是CSS初学者的典范，并且运用他们的影响力使网络更加进步。其中有许多人组成了Web Standards Project，如果你在他们的网站上面发现任何错误，那一定是有理由的，向他们请教之后你必能获得满意的解答。</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2009/02/714.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS 中的黄金分割率</title>
		<link>http://www.nuniao.com/index.php/archives/2008/11/635.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/11/635.html#comments</comments>
		<pubDate>Fri, 07 Nov 2008 09:13:31 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[黄金分割点]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/index.php/archives/2008/11/635.html</guid>
		<description><![CDATA[<p>这是一位叫做&nbsp; Christos Chiotis&nbsp;的希腊 Web 设计师发表在 CssGlobe 的一篇文章，讲述了黄金分割率在 CSS 中的应用。黄金分割率是一个应用广泛的数学常数，大约为 1.6180339887。黄金分割率用在 Web 设计中，可以为设计带来更多视觉上的和谐。</p>
<p>在一个简单的两栏式页面布局中，使用两个容器，第一个容器用来显示主要内容，第二个容器显示侧条。比如，页面宽度为 960 px，使用黄金分割率，主内容容器的宽度应该为 960 / 1.62 = 593 px，而侧条的宽度为 960-593=367 px。</p>
<p><img alt="Golden ratio in layout" style="width: 418px; height: 135px" src="http://www.nuniao.com/wp-content/uploads/2008/11/091330ii1.png" /></p>
<p>作者建议，在 Web 排版与布局中可以使用以下基本 CSS 设置<br />
&nbsp;</p>
<ul>
<li>line-height = font-size * 1.62</li>
<li>paragraph margin = paragraph line-height * 1.62 / 2</li>
<li>header&rsquo;s margin-top = headers line-height * 1.62</li>
</ul>
<p>
不过对中文而言，至少 font-size 和 line-height 之间使用黄金分割率是不适合的，假如中文字体使用 12px 的话，最佳行高是 22px，如果字体使用 14px 的话，行高应该使用 24px &#8211; 译者。</p>
<p><img alt="Golden ratio in typography" style="width: 421px; height: 41px" src="http://www.nuniao.com/wp-content/uploads/2008/11/091331762.png" /></p>
<p>另一个例子，在表单中，输入框的宽度应该是标签文字的宽度乘以 1.62。而对于显示在 Web 上矩形来说，它的宽度应该是高度乘以 1.62。</p>
<p>这样一来，Web 设计师同时需要很好的计算能力，至少要在旁边放一台计算器，为了节省时间，作者建议在设计中随时记住一个 62/38 原则，在任何需要分割的地方，都使用 62% 和 38% 作比例。</p>
<p>对于需要分割成三份的场合，可以先按 62%，38%原则分成两份，再将那份大的按 62% 和 38% 的比例分割。</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/11/635.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML元素的默认CSS设置</title>
		<link>http://www.nuniao.com/index.php/archives/2008/10/626.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/10/626.html#comments</comments>
		<pubDate>Wed, 22 Oct 2008 00:06:54 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[默认]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/index.php/archives/2008/10/626.html</guid>
		<description><![CDATA[<p>/**default css style**/<br />
html, address,<br />
blockquote,<br />
body, dd, div,<br />
dl, dt, fieldset, form,<br />
frame, frameset,<br />
h1, h2, h3, h4,<br />
h5, h6, noframes,<br />
ol, p, ul, center,<br />
dir, hr, menu, pre { display: block }<br />
li { display: list-item }<br />
head { display: none }<br />
table { display: table }<br />
tr { display: table-row }<br />
thead { display: table-header-group }<br />
tbody { display: table-row-group }<br />
tfoot { display: table-footer-group }<br />
col { display: table-column }<br />
colgroup { display: table-column-group }<br />
td, th { display: table-cell; }<br />
caption { display: table-caption }<br />
th { font-weight: bolder; text-align: center }<br />
caption { text-align: center }<br />
body { margin: 8px; line-height: 1.12 }<br />
&nbsp;</p>
<p><span id="more-626"></span></p>
<p>h1 { font-size: 2em; margin: .67em 0 }<br />
h2 { font-size: 1.5em; margin: .75em 0 }<br />
h3 { font-size: 1.17em; margin: .83em 0 }<br />
h4, p,<br />
blockquote, ul,<br />
fieldset, form,<br />
ol, dl, dir,<br />
menu { margin: 1.12em 0 }<br />
h5 { font-size: .83em; margin: 1.5em 0 }<br />
h6 { font-size: .75em; margin: 1.67em 0 }<br />
h1, h2, h3, h4,<br />
h5, h6, b,strong { font-weight: bolder }<br />
blockquote { margin-left: 40px; margin-right: 40px }<br />
i, cite, em,<br />
var, address { font-style: italic }<br />
pre, tt, code,<br />
kbd, samp { font-family: monospace }<br />
pre { white-space: pre }<br />
button, textarea,<br />
input, object,<br />
select { display:inline-block; }<br />
big { font-size: 1.17em }<br />
small, sub, sup { font-size: .83em }<br />
sub { vertical-align: sub }<br />
sup { vertical-align: super }<br />
table { border-spacing: 2px; }<br />
thead, tbody,<br />
tfoot { vertical-align: middle }<br />
td, th { vertical-align: inherit }<br />
s, strike, del { text-decoration: line-through }<br />
hr { border: 1px inset }<br />
ol, ul, dir,<br />
menu, dd { margin-left: 40px }<br />
ol { list-style-type: decimal }<br />
ol ul, ul ol,<br />
ul ul, ol ol { margin-top: 0; margin-bottom: 0 }<br />
u, ins { text-decoration: underline }<br />
br:before { content: &quot;A&quot; }<br />
:before, :after { white-space: pre-line }<br />
center { text-align: center }<br />
abbr, acronym { font-variant: small-caps; letter-spacing: 0.1em }<br />
:link, :visited { text-decoration: underline }<br />
:focus { outline: thin dotted invert }<br />
/* Begin bidirectionality settings (do not change) */<br />
BDO[DIR=&quot;ltr&quot;] { direction: ltr; unicode-bidi: bidi-override }<br />
BDO[DIR=&quot;rtl&quot;] { direction: rtl; unicode-bidi: bidi-override }<br />
*[DIR=&quot;ltr&quot;] { direction: ltr; unicode-bidi: embed }<br />
*[DIR=&quot;rtl&quot;] { direction: rtl; unicode-bidi: embed }<br />
@media print {<br />
h1 { page-break-before: always }<br />
h1, h2, h3,<br />
h4, h5, h6 { page-break-after: avoid }<br />
ul, ol, dl { page-break-before: avoid }<br />
}</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/10/626.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>常用CSS缩写语法总结</title>
		<link>http://www.nuniao.com/index.php/archives/2008/10/622.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/10/622.html#comments</comments>
		<pubDate>Fri, 17 Oct 2008 00:56:57 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[总结]]></category>
		<category><![CDATA[缩写]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/index.php/archives/2008/10/622.html</guid>
		<description><![CDATA[<p><strong>使用缩写可以帮助减少你CSS文件的大小，更加容易阅读。css缩写的主要规则如下：</strong></p>
<p><span style="color: #3366ff">颜色16进制</span>的色彩值，如果每两位的值相同，可以缩写一半，例如：<br />
#000000可以缩写为#000;#336699可以缩写为#369;</p>
<p>盒尺寸通常有下面四种书写方法:<br />
property:value1; 表示所有边都是一个值value1；<br />
property:value1 value2; 表示top和bottom的值是value1,right和left的值是value2<br />
property:value1 value2 value3; 表示top的值是value1，right和left的值是value2，bottom的值是value3<br />
property:value1 value2 value3 value4; 四个值依次表示top,right,bottom,left<br />
方便的记忆方法是顺时针，上右下左。具体应用在margin和padding的例子如下：<br />
margin:1em 0 2em 0.5em;</p>
<p>边框(border)边框的属性如下：<br />
border-width:1px;<br />
border-style:solid;<br />
border-color:#000;<br />
可以缩写为一句：border:1px solid #000; <br />
语法是border:width style color;</p>
<p><span id="more-622"></span>
<p>背景(Backgrounds)背景的属性如下：<br />
background-color:#f00;<br />
background-image:url(http://www.nuniao.com/background.gif);<br />
background-repeat:no-repeat;<br />
background-attachment:fixed;<br />
background-position:0 0;<br />
可以缩写为一句：background:#f00 url(http://www.nuniao.com/background.gif) no-repeat fixed 0 0; <br />
语法是background:color image repeat attachment position;</p>
<p>你可以省略其中一个或多个属性值，如果省略，该属性值将用浏览器默认值，默认值为：<br />
color: transparent<br />
image: none<br />
repeat: repeat<br />
attachment: scroll<br />
position: 0% 0%</p>
<p>字体(fonts)字体的属性如下：<br />
font-style:italic;<br />
font-variant:small-caps;<br />
font-weight:bold;<br />
font-size:1em;<br />
line-height:140%;<br />
font-family:&quot;Lucida Grande&quot;,sans-serif;<br />
可以缩写为一句：font:italic small-caps bold 1em/140% &quot;Lucida Grande&quot;,sans-serif;<br />
注意，如果你缩写字体定义，至少要定义font-size和font-family两个值。<br />
列表(lists)取消默认的圆点和序号可以这样写list-style:none;,</p>
<p>list的属性如下:<br />
list-style-type:square;<br />
list-style-position:inside;<br />
list-style-image:url(http://www.nuniao.com/image.gif);<br />
可以缩写为一句：list-style:square inside url(http://www.nuniao.com/image.gif);</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/10/622.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS framework：浅谈CSS框架利弊</title>
		<link>http://www.nuniao.com/index.php/archives/2008/08/341.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/08/341.html#comments</comments>
		<pubDate>Fri, 01 Aug 2008 00:31:34 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[利弊]]></category>
		<category><![CDATA[框架]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/?p=341</guid>
		<description><![CDATA[<h3><strong>CSS框架之利：</strong></h3>
<p><strong>　　1、开发效率的提高。</strong></p>
<p>　　如果你是一个企业建站的前端开发，相信在大部分时间里进行着同类站点的代码工作。定义好的框架可以大大提高你的工作效率，避免一些常见的错误。如果你的工作是按件计费的，你的报酬一定会比别人多。</p>
<p><strong>　　2、规范代码命名。</strong></p>
<p>　　在多个站点中你可能会用到一些同样的CLASS或ID。如果你有一套完善的css框架，很快你就能对你的每一个站点的代码进行通读。不用浪费时间在代码的阅读上。</p>
<p><strong>　　3、更好的团队合作</strong></p>
<p>　　有些公司会将一些稍大的站点的前端代码分成若干子项目。有过此类经验的朋友应该对这种开发方式深感郁闷，要注意公用css，还有注意相互之间的代码配合。久而久之，废弃代码越来越多，互相之间也难以阅读。如果建立好合适的CSS框架，大家可以减少很多不必要的错误，提升产品质量和工作效率。</p>
<p><strong>　　4、解决浏览器的兼容性问题</strong></p>
<p>　　现在大部分项目都要求兼容IE6，7和FF。每个站点可能都会花上一部分时间去处理兼容问题。在框架层面上就将这个问题处理好。就可以为后面的兼容问题节省下大部分时间。</p>
<p><strong>　　5、一套完整的、结构清晰的结构代码。</strong></p>
<p>　　CSS框架为你的项目提供一个干净、严谨的基础架构。通过它你可以快速的为你的站点搭建基础的html代码框架。万事开头难，前面的基础工作做好了。后面的开发速度会提高很多。</p>
<p><span id="more-341"></span><br />
<h3>CSS框架之弊：</h3>
<p><strong>　　1、你需要完全的理解整套框架</strong></p>
<p>　　每一个加入项目的人，都需要花一定的时间去完全的理解整套框架及编码规范；</p>
<p><strong>　　2、你会延续一些框架中的错误bug</strong></p>
<p>　　没人可以保证自己制定的框架是完美而没有bug的。你可能会需要时间去清理框架中的bug；</p>
<p><strong>　　3、限制开发思路</strong></p>
<p>　　框架给出大家基本的架构及开发的思路，这可能会限制你对产品开发的新思路；</p>
<p><strong>　　4、臃肿的源代码</strong></p>
<p>　　框架中可能有很大一部分代码不会经常用到，而且还会降低执行效率；</p>
<p><strong>5、框架的语义化</strong></p>
<p>　　我们已经注意到了HTML代码的语义化。但基于框架的每个站点都是独立唯一的，我们很难去保证CSS框架的语义化。</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/08/341.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>书写高效的CSS 漫谈CSS的渲染效率</title>
		<link>http://www.nuniao.com/index.php/archives/2008/07/332.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/07/332.html#comments</comments>
		<pubDate>Sun, 20 Jul 2008 02:17:19 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/?p=332</guid>
		<description><![CDATA[<p>　　总结了部分所学、所听、所看、所问的一些CSS写作经验，书写高效的CSS &#8211; 漫谈CSS的渲染效率，它们与渲染效率及所占用消耗的资源有一定的关联。部分为自己理解所写，不排除会有错漏，欢迎提供更好的意见。</p>
<p><strong>1、十六进制的颜色值对位数与大小写</strong></p>
<p>　　编写十六进制颜色值时你可能会用小写字母或省略成3位数，关于这写法没找到确实的数据证明对浏览器的渲染效率是否有影响，但十六进制的颜色值默认标准是大写及6位数标注。在未知情况下不希望冒险而降低了渲染的效率。<br />
* 不赞成 &#8211; color:#f3a;<br />
* 建议用 &#8211; color:#FF33AA;</p>
<p><strong>2、display与visibility的差异</strong></p>
<p>　　他们用于设置或检索是否显示对象。display隐藏对象不保留物理空间，visibility为隐藏对象保留占据的物理空间。当浏览器渲染被占据的物理空间时，会有所消耗资源。<br />
* 不赞成 &#8211; visibility:hidden;<br />
* 建议用 &#8211; display:none;</p>
<p><strong>3、border:none;与border:0;的区别</strong></p>
<p>　　和display与visibility的关系类似，分别不保留与保留空间。更多的是border:0;尽管可以隐藏掉边框，但它会为你保留border-color/border-style的使用权。<br />
* 不赞成 &#8211; border:0;<br />
* 建议用 &#8211; border:none;</p>
<p><strong>4、不宜过小的背景图片平铺</strong></p>
<p>　　一张宽高1px的背景图片，虽然文件体积非常之小，但渲染宽高500px的板块需要重复平铺2500次。提高背景图片渲染效率跟图片尺寸及体积有关，最大的图片文件体积保持约70KB。<br />
* 不赞成 &#8211; 宽高8px以下的平铺背景图片<br />
* 建议用 &#8211; 衡量适中体积及尺寸的背景图片</p>
<p><span id="more-332"></span>
<p><strong><!--more-->5、IE的滤镜</strong></p>
<p>　　IE的滤镜除了比较消耗资源外也有兼容性问题。当中有令PNG透明的滤镜，可采用GIF或JPG似透非透的办法来避免使用此滤镜。建议只在IE6应用GIF透明，因为IE7以上已经支持了PNG透明。<br />
* 不赞成，滥用IE滤镜因为消耗资源外也有兼容性问题。<br />
* 建议用，最好选择其它方法能避免使用滤镜。</p>
<p><strong>6、*{ margin:0; padding:0;}避免浏览器样式差异</strong></p>
<p>　　*号通配符把所有标签都初始化一遍，浏览器的渲染消耗一定的资源。有部分在标签在不同浏览器上几乎无差异，或是某些已经不推荐使用的标签(因为你不会去用它)，它们不需通配符要重新初始化一遍这样做能节省一点资源。<br />
* 不赞成，使用*号通配符<br />
* 不赞成，div span button b table等标签纳入通配符控制内外填充样式<br />
* 建议用，有选择性地使用通配符控制内外填充样式。</p>
<p><strong>7、不要添加额外的标签来描述class或id</strong></p>
<p>　　如果你有一个选择器是以id作为关键选择符，请不要添加多余标签名上去。因为ID是唯一的，你不要为了一个不存在的理由而降低了匹配的效率。<br />
* 不赞成 &#8211; button#backButton { }<br />
* 不赞成 &#8211; .menu-left #newMenuIcon { }<br />
* 建议用 &#8211; #backButton { }<br />
* 建议用 &#8211; #newMenuIcon { }</p>
<p><strong>8、尽量选择最特殊的类来存放选择器</strong></p>
<p>　　降低系统效率的一个最大原因是我们在标签类中用了过多的选择符。通过添加 class 到元素，我们可以将类别进行再细分为 class 类，这样就不用为了一个标签浪费时间去匹配过多的选择符了。<br />
* 不赞成 &#8211; treeitem[mailfolder=&quot;true&quot;] &gt; treerow &gt; treecell { }<br />
* 建议用 &#8211; .treecell-mailfolder { }</p>
<p><strong>9、避免子孙选择符</strong></p>
<p>　　子孙选择符是CSS中最耗资源的选择符。他真的是非常的耗资源，尤其是在选择器使用标签类或通用类的时候。很多情况中，我们真正想要的是子选择符。除非有明确说明，在 UI CSS 中是严禁使用子孙选择符的。<br />
* 不赞成 &#8211; treehead treerow treecell { }<br />
* 好一点，但还是不行(参照下一条) &#8211; treehead &gt; treerow &gt; treecell { }</p>
<p><strong>10、标签类中不要包含子选择符</strong></p>
<p>　　不要在标签类中使用子选择符。否则，每次元素的出现，都会额外地增加匹配时间。（特别是当选择器似乎多半会被匹配的情况下）<br />
* 不赞成 &#8211; treehead &gt; treerow &gt; treecell { }<br />
* 建议用 &#8211; .treecell-header { }</p>
<p><strong>11、留意所有子选择符的使用</strong></p>
<p>　　小心地使用子选择符。如果你能想出一个的不使用他的方法，那么就不要使用。特别是在 RDF 树和菜单会频繁地使用子选择符，像这样。<br />
* 不赞成 &#8211; treeitem[IsImapServer=&quot;true&quot;] &gt; treerow &gt; .tree-folderpane-icon { }</p>
<p>　　请记住 RDF 的属性是可以在模板中被复制的！利用这一点，我们可以复制那些想基于该属性改变的子 XUL 元素上的 RDF 属性。<br />
* 建议用 &#8211; .tree-folderpane-icon[IsImapServer=&quot;true&quot;] { }</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/07/332.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The IE Doubled Float-Margin Bug</title>
		<link>http://www.nuniao.com/index.php/archives/2008/06/254.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/06/254.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 03:07:34 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[BUG]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/?p=254</guid>
		<description><![CDATA[<p><strong>对高度的解析<br />
</strong><br />
　　IE：将根据内容的高度变化，包括未定义高度的图片内容，即使定义了高度，当内容超过高度时，将使用实际高度<br />
　　Firefox：没有定义高度时，如果内容中包括了图片内容，MF的高度解析是根据印刷标准，这样就会造成和实际内容高度不符合的情况；当定义了高度，但是内容超过高度时，内容会超出定义的高度，但是区域使用的样式不会变化，造成样式错位。<br />
　　结论：大家在可以确定内容高度的情况下最好定义高度，如果真的没有办法定义高度，最好不用使用边框样式，否则样式肯定会出现混乱！</p>
<p><strong>其他的细节差别<br />
</strong><br />
　　当你在写css的时候，特别是用float: left（或right）排列一窜图片时，会发现在firefox里面正常而IE里面有问题。无论你用margin:0,还是border: 0来约束，都无济于事。</p>
<p>　　其实这里还有另外一个问题，就是IE对于空格的处理，firefox是忽略的而IE对于块与块之间的空格是处理的。也就是说一个div结束后要紧接着一个div写，中间不要有回车或者空格。不然也许会有问题，比如3px的偏差，而且这个原因很难发现。</p>
<p>　　非常不走运的是我又碰到了这样的问题，多个img标签连着，然后定义的float: left，希望这些图片可以连起来。但是结果在firefox里面正常而IE里面显示的每个img都相隔了3px。我把标签之间的空格都删除都没有作用。</p>
<p>　　后来的解决方法是在img外面套li，并且对li定义margin: 0，这样就解决了IE和firefox的显示偏差。IE对于一些模型的解释会产生很多错误问题，只有多多尝试才能发现原因。</p>
<p><span id="more-254"></span>
<p><strong>嵌套DIV:父DIV的高度不能根据子DIV自动变化的解决方案 </strong></p>
<div>
<div>&lt;div id=&quot;parent&quot;&gt;<br />
&lt;div id=&quot;content&quot;&gt; &lt;/div&gt;<br />
&lt;/div&gt;</div>
</div>
<div>&nbsp;</div>
<p>　　当Content内容多时，即使parent设置了高度100%或auto,在不同浏览器下还是不能完好的自动伸展。 解决方案</p>
<div>
<div>&lt;div id=&quot;parent&quot;&gt;<br />
&lt;div id=&quot;content&quot;&gt;&lt;/div&gt;<br />
&lt;div style=&quot;font: 0px/0px sans-serif;clear: both;display: block&quot;&gt; &lt;/div&gt;<br />
&lt;/div&gt;</div>
</div>
<div>&nbsp;</div>
<p>　　在层的最下方产生一个高度为1的空格，可解除这个问题</p>
<p>随机的切换图片：<br />
#random {<br />
BACKGROUND: url(/rotate.php);<br />
}<br />
这个方法很巧妙。</p>
<p><strong>关于div的高度自适应</strong><br />
　　今天小尿让我帮他的页子解决一个问题，就是div的高度自适应，也就是在一个父级div中嵌套一左一右两个子div，右边的子div内容可无限扩展，而可以使得父级div的高度能被无限拉长，用一般的布局方法，在IE中可以正确浏览，在Mozilla中父级div的高度就固定在10px左右，无法自适应高度，height:auto也不行，怎么办呢。网上参考到一篇资料，要实现自适应高度，div层必须具有float属性，于是我开始动手试验，float:left的话，div就跑到页面最左边去了，这好办，我在它的外面再套一层div，把位置定好，那么里面的就算float:left也不会被移动位置了。</p>
<div>
<div>&lt;div id=&quot;container_father&quot;&gt;<br />
&lt;div id=&quot;container&quot;&gt;<br />
&lt;div id=&quot;panel&quot;&gt; test&lt;br /&gt;<br />
test&lt;br /&gt;<br />
test&lt;br /&gt;<br />
&lt;!&ndash; id=&quot;panel&quot; &ndash;&gt;<br />
&lt;/div&gt;<br />
&lt;div id=&quot;sidebar&quot;&gt;<br />
&lt;ul&gt;<br />
&lt;li class=&quot;current&quot;&gt;预安装检查&lt;/li&gt;<br />
&lt;li&gt;阅读 PFC 授权协议&lt;/li&gt;<br />
&lt;li&gt;初始化数据库&lt;/li&gt;<br />
&lt;li&gt;完成安装&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;!&ndash; id=&quot;sidebar&quot; &ndash;&gt;<br />
&lt;/div&gt;<br />
&lt;!&ndash; id=&quot;container&quot; &ndash;&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>&nbsp;</p>
<p>#container_father {<br />
margin-left: auto;<br />
margin-right: auto;<br />
padding: 0px;<br />
width: 750px;<br />
}</p>
<p>#container {<br />
width: 750px;<br />
border: 1px solid #cccccc;<br />
padding: 8px;<br />
margin: 0px;<br />
background-color: #F1F3F5;<br />
float: left;<br />
}</p>
</div>
</div>
<div>&nbsp;</div>
<p>　　深入标准 ~ The IE Doubled Float-Margin Bug(IE双倍浮动边界Bug)<br />
　　什么发生故障？<br />
　　一段无错的代码把一个居左浮动(float:left)的元素放置进一个容器盒(box)，并在浮动元素上使用了左边界(margin-left) 来令它和容器的左边产生一段距离。看起来相当的简单，对吗？但直至它被在IE/Win中浏览为止，在浏览器中居左浮动元素的边界长度被神秘地翻了一倍！</p>
<p><strong>情况应该如何？</strong></p>
<p>　　下面的图释展示了一个简单的div(茶色的盒子)包含着一个居左浮动的div(绿色的盒子)。浮动元素有一个100px的左边界，使容器盒与它的左边缘之间产生了一个100px的间隙。到现在为止，一直都还不错。</p>
<div>
<div>.floatbox {<br />
float: left;<br />
width: 150px;<br />
height: 150px;<br />
margin: 5px 0 5px 100px;<br />
/*This last value applies the 100px left margin */<br />
}</div>
</div>
<div>&nbsp;</div>
<p><strong>陈旧的IE&ldquo;双倍占据&rdquo;<br />
</strong><br />
　　原样的相同代码被在IE/Win中浏览时以些微不同的方式显示，下面的图释展示了IE/Win在布局上所做的。<br />
这为什么会发生？别问这种傻问题！这就是IE，记得吗？符合标准只是理想的状况，不指望实现，这个简单的事实正验证了。</p>
<p><strong>重点</strong></p>
<p>　　这个Bug仅当浮动边界和浮动元素的方向相同时出现在浮动元素和容器盒的内边缘之间，在这之后的任意有着相似边界的浮动元素不会呈现双倍边界。只有特定的浮动行的第一个浮动元素会遭遇这个Bug。像居左的情况一样，双倍边界同样神秘地显示在居右的相同方式。</p>
<p><strong>修复办法！</strong></p>
<p>　　直到现在(04年1月)这个Bug一直被认为是无法修复的，通常用来替代错误的边界的控制方法如：一个不可视浮动元素的左边距，连同一个内嵌的盒子一起，可视的盒子装在不可视浮动元素里；或者使用技巧仅对IE/Win设定边界的1/2值。这办法生效了，但是是混乱的而且搞糟了干净的源代码。不过现在全部结束了。</p>
<p>　　Steve Clason发现了一个修复办法，描述在他的Guest Demo里，修复了双倍边界和围绕文字缩进Bug。这是一个经典的IE的Bug修复办法，使用一个属性来修复影响不相关属性的Bug。</p>
<p><strong>现在如何来做？</strong></p>
<p>　　研究它，简单地将{display: inline;}设置给浮动元素就是全部所需做的！是的，听起来太简单了，不是吗？不过这是真的，仅仅一个display的&rdquo;inline&rdquo;声明已经能够胜任了。</p>
<p>　　熟悉规则的人知道浮动元素自动设置为&rdquo;block&rdquo;元素，而不管他们之前是什么。就如Steve从W3C里指出：</p>
<p>9.5.1 Positioning the float: the &lsquo;float&rsquo; property</p>
<p>&ldquo;This property specifies whether a box should float to the left, right, or not at all. It may be set for elements that generate<br />
boxes that are not absolutely positioned. The values of this property have the following meanings:</p>
<p>left<br />
The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top<br />
(subject to the &lsquo;clear&rsquo; property). The &lsquo;display&rsquo; is ignored, unless it has the value &lsquo;none&rsquo;.</p>
<p>right<br />
Same as &lsquo;left&rsquo;, but content flows on the left side of the box, starting at the top.</p>
<p>none<br />
The box is not floated. &ldquo;</p>
<p>这说明浮动元素上的{display: inline;}会被忽略，事实上所有的浏览器没有呈现任何改变，包括IE。但是，它不知何故让IE停止将浮动元素的边界翻倍。因而，这个修复办法可以被直接应用，而没有任何繁琐的隐藏方法。如果将来的一款浏览器决定对这个修复办法抱恙，只要把这个修复装入IE独用的Tan Hack里，细节如同IE Three Pixel Text-Jog Demo。</p>
<p>下面是两个使用了前面相同代码的生动演示，第一个照常显示了IE的Bug，下一个对浮动元素使用了&rdquo;inline&rdquo;修复。</p>
<div>
<div>.floatbox {<br />
float: left;<br />
width: 150px;<br />
height: 150px;<br />
margin: 5px 0 5px 100px;<br />
display: inline;<br />
}</div>
</div>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/06/254.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS的合理的编码与组织技巧</title>
		<link>http://www.nuniao.com/index.php/archives/2008/05/221.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/05/221.html#comments</comments>
		<pubDate>Fri, 23 May 2008 00:17:19 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[合理编码]]></category>
		<category><![CDATA[组织技巧]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/?p=221</guid>
		<description><![CDATA[<p>　　CSS代码更清晰高效的一些经验是许多网页制作者与开发者都关心的问题。但是大概没有什么魔法，可以保证一下就把你的样式表缩小到百分之多少，合理的CSS 编码与组织技巧，的确能够帮助你的更有效率地写出更清晰高效的代码，自然CSS样式表大小的缩减还能减少下载的时间。&nbsp;<br />
&nbsp;<br />
<strong>一、排版：</strong>&nbsp;<br />
&nbsp;<br />
1、关键词和操作符之间加适当的空格。 <br />
2、相对独立的程序块与块之间加空行 <br />
3、较长的语句、表达式等要分成多行书写。 <br />
4、划分出的新行要进行适应的缩进，使排版整齐，语句可读。 <br />
5、长表达式要在低优先级操作符处划分新行，操作符放在新行之首。 <br />
6、循环、判断等语句中若有较长的表达式或语句，则要进行适应的划分。 <br />
7、若函数或过程中的参数较长，则要进行适当的划分。 <br />
8、不允许把多个短语句写在一行中，即一行只写一条语句。 <br />
9、函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。 <br />
10、C/C++语言是用大括号&lsquo;{&rsquo;和&lsquo;}&rsquo;界定一段程序块的，编写程序块时&lsquo;{&rsquo;和&lsquo;}&rsquo;应各独占一行并且位于同一列，同时与引用它们的语句左 对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方 式。&nbsp;<br />
&nbsp;<br />
<strong>二、注释</strong>&nbsp;<br />
&nbsp;<br />
1、注释要简单明了。 <br />
2、边写代码边注释，修改代码同时修改相应的注释，以保证注释与代码的一致性。 <br />
3、在必要的地方注释，注释量要适中。注释的内容要清楚、明了，含义准确，防止注释二义性。保持注释与其描述的代码相邻，即注释的就近原则。 <br />
4、对代码的注释应放在其上方相邻位置，不可放在下面。 <br />
5、对数据结构的注释应放在其上方相邻位置，不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。 <br />
6、变量、常量的注释应放在其上方相邻位置或右方。 <br />
7、全局变量要有较详细的注释，包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。 <br />
8、在每个源文件的头部要有必要的注释信息，包括：文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。 <br />
9、在每个函数或过程的前面要有必要的注释信息，包括：函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。&nbsp;<br />
<span id="more-221"></span>&nbsp;<br />
<strong>三、命名</strong>&nbsp;<br />
&nbsp;&nbsp;<br />
1、较短的单词可通过去掉&ldquo;元音&rdquo;形成缩写; <br />
2、较长的单词可取单词的头几发符的优先级，并用括号明确表达式的操作顺序，避免使用默认优先级。 <br />
3、使用匈牙利表示法&nbsp;<br />
&nbsp;<br />
<strong>四、可读性&nbsp;</strong><br />
&nbsp;<br />
1、避免使用不易理解的数字，用有意义的标识来替代。 <br />
2、不要使用难懂的技巧性很高的语句。 <br />
3、源程序中关系较为紧密的代码应尽可能相邻。&nbsp;<br />
&nbsp;<br />
<strong>五、变量</strong>&nbsp;<br />
&nbsp;<br />
1、去掉没必要的公共变量。 <br />
2、构造仅有一个模块或函数可以修改、创建，而其余有关模块或函数只访问的公共变量，防止多个不同模块或函数都可以修改、创建同一公共变量的现象。 <br />
3、仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。 <br />
4、明确公共变量与操作此公共变量的函数或过程的关系，如访问、修改及创建等。 <br />
5、当向公共变量传递数据时，要十分小心，防止赋与不合理的值或越界等现象发生。 <br />
6、防止局部变量与公共变量同名。 <br />
7、仔细设计结构中元素的布局与排列顺序，使结构容易理解、节省占用空间，并减少引起误用现象。 <br />
8、结构的设计要尽量考虑向前兼容和以后的版本升级，并为某些未来可能的应用保留余地(如预留一些空间等)。 <br />
9、留心具体语言及编译器处理不同数据类型的原则及有关细节。 <br />
10、严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。 <br />
11、编程时，要注意数据类型的强制转换。&nbsp;<br />
&nbsp;<!--more--><br />
<strong>六、函数、过程&nbsp;<br />
</strong>&nbsp;<br />
1、函数的规模尽量限制在200行以内。 <br />
2、一个函数最好仅完成一件功能。 <br />
3、为简单功能编写函数。 <br />
4、函数的功能应该是可以预测的，也就是只要输入数据相同就应产生同样的输出。 <br />
5、尽量不要编写依赖于其他函数内部实现的函数。 <br />
6、避免设计多参数函数，不使用的参数从接口中去掉。 <br />
7、用注释详细说明每个参数的作用、取值范围及参数间的关系。 <br />
8、检查函数所有参数输入的有效性。 <br />
9、检查函数所有非参数输入的有效性，如数据文件、公共变量等。 <br />
10、函数名应准确描述函数的功能。 <br />
11、避免使用无意义或含义不清的动词为函数命名 <br />
12、函数的返回值要清楚、明了，让使用者不容易忽视错误情况。 <br />
13、明确函数功能，精确(而不是近似)地实现函数设计。 <br />
14、减少函数本身或函数间的递归调用。 <br />
15、编写可重入函数时，若使用全局变量，则应通过关中断、信号量(即P、V操作)等手段对其加以保护。&nbsp;</p>
<p><strong>七、可测性 </strong></p>
<p>1、在编写代码之前，应预先设计好程序调试与测试的方法和手段，并设计好各种调测开关及相应测试代码如打印函数等。 <br />
2、在进行集成测试/系统联调之前，要构造好测试环境、测试项目及测试用例，同时仔细分析并优化测试用例，以提高测试效率。</p>
<p><strong>八、程序效率</strong></p>
<p>1、编程时要经常注意代码的效率。 <br />
2、在保证软件系统的正确性、稳定性、可读性及可测性的前提下，提高代码效率。 <br />
3、不能一味地追求代码效率，而对软件的正确性、稳定性、可读性及可测性造成影响。 <br />
4、编程时，要随时留心代码效率;优化代码时，要考虑周全。 <br />
5、要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。 <br />
6、通过对系统数据结构划分与组织的改进，以及对程序算法的优化来提高空间效率。 <br />
7、在多重循环中，应将最忙的循环放在最内层。 <br />
8、尽量减少循环嵌套层次。 <br />
9、避免循环体内含判断语句，应将循环语句置于判断语句的代码块之中。 <br />
10、尽量用乘法或其它方法代替除法，特别是浮点运算中的除法。</p>
<p><strong>九、质量保证&nbsp; </strong></p>
<p>1、在软件设计过程中构筑软件质量。代码质量保证优先原则 <br />
(1)正确性，指程序要实现设计要求的功能。 <br />
(2)稳定性、安全性，指程序稳定、可靠、安全。 <br />
(3)可测试性，指程序要具有良好的可测试性。 <br />
(4)规范/可读性，指程序书写风格、命名规则等要符合规范。 <br />
(5)全局效率，指软件系统的整体效率。 <br />
(6)局部效率，指某个模块/子模块/函数的本身效率。 <br />
(7)个人表达方式/个人方便性，指个人编程习惯。 <br />
2、只引用属于自己的存贮空间。 <br />
3、防止引用已经释放的内存空间。 <br />
4、过程/函数中分配的内存，在过程/函数退出之前要释放。<br />
5、过程/函数中申请的(为打开文件而使用的)文件句柄，在过程/函数退出前要关闭。 <br />
6、防止内存操作越界。 <br />
7、时刻注意表达式是否会上溢、下溢。 <br />
8、认真处理程序所能遇到的各种出错情况。 <br />
9、系统运行之初，要初始化有关变量及运行环境，防止未经初始化的变量被引用。 <br />
10、系统运行之初，要对加载到系统中的数据进行一致性检查。 <br />
11、严禁随意更改其它模块或系统的有关设置和配置。 <br />
12、不能随意改变与其它模块的接口。 <br />
13、充分了解系统的接口之后，再使用系统提供的功能。 <br />
14、要时刻注意易混淆的操作符。当编完程序后，应从头至尾检查一遍这些操作符。 <br />
15、不使用与硬件或操作系统关系很大的语句，而使用建议的标准语句。 <br />
16、建议：使用第三方提供的软件开发工具包或控件时，要注意以下几点： <br />
(1)充分了解应用接口、使用环境及使用时注意事项。 <br />
(2)不能过分相信其正确性。 <br />
(3)除非必要，不要使用不熟悉的第三方工具包与控件。</p>
<p><strong>十、代码编译 </strong></p>
<p>1、编写代码时要注意随时保存，并定期备份，防止由于断电、硬盘损坏等原因造成代码丢失。 <br />
2、同一项目组内，最好使用相同的编辑器，并使用相同的设置选项。 <br />
3、合理地设计软件系统目录，方便开发人员使用。 <br />
4、打开编译器的所有告警开关对程序进行编译。 <br />
5、在同一项目组或产品组中，要统一编译开关选项。 <br />
6、使用工具软件(如Visual SourceSafe)对代码版本进行维护。</p>
<p><strong>十一、代码测试、维护 </strong></p>
<p>1、单元测试要求至少达到语句覆盖。 <br />
2、单元测试开始要跟踪每一条语句，并观察数据流及变量的变化。&nbsp; <br />
3、清理、整理或优化后的代码要经过审查及测试。 <br />
4、代码版本升级要经过严格测试。</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/05/221.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>哀悼日，我们将做些什么？（附录网站变灰色CSS滤镜代码）</title>
		<link>http://www.nuniao.com/index.php/archives/2008/05/219.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/05/219.html#comments</comments>
		<pubDate>Mon, 19 May 2008 03:23:35 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[美文网摘]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS滤镜]]></category>
		<category><![CDATA[全国哀悼日]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/?p=219</guid>
		<description><![CDATA[<p>　　1、请您在2008年5月19日14时28分起从座位上起立，向本次遇难同胞默哀三分钟；<br />
　　2、请您将QQ头像、MSN头像设为隐身（黑白色），字的颜色请改为黑色或灰色，以寄托我们的哀思； 请将你的网站设置为黑白灰色，如果有可能，请将所有的娱乐频道暂时关闭。<br />
　　3、请您在哀悼日三天内，不要参加娱乐活动，不要大声说笑，用静静的缅怀表达我们的悲痛；<br />
　　4、若有可能，请您在晚上点起盏盏烛光，为我们的死难同胞送行！ </p>
<p>提醒大家国难日应注意：<br />
&nbsp;<br />
　　第一：三天全国哀悼日期间，着装要正式、肃穆，不要穿戴太时尚或者颜色鲜艳的衣服、鞋帽，女同志不要用鲜艳的口红眼影化彩装，不要佩&nbsp; 戴时尚的首饰；<br />
　　第二：工休的时候不许开音乐、不许打牌，不许打闹嬉戏；<br />
　　第三：要注意维护公共场所的气氛，在街上行走的时候，不要三五成群的嘻闹；<br />
　　第四：下班之后不要出入舞厅、卡拉OK厅、台球社，也不要在家里放歌曲，唱卡拉OK、举办朋友聚会；<br />
　　第五：可以佩戴一些表示哀悼、追念的标志或饰品；<br />
　　第六：2008年5月19日下午14:28起，停止工作三分钟。<br />
　　第七：这是第一次为百姓举行国丧，有些百姓会不习惯、不重视，也不知道该怎么做，希望大家尽量在亲朋好友中传递这些信息，并随时纠正看到的不正确行为。</p>
<p><span id="more-219"></span>附录：</p>
<p>为方便站点哀悼，特提供css滤镜代码，以表哀悼。以下为全站CSS代码。</p>
<p>html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</p>
<p>使用方法：这段代码可以变网页为黑白，将代码加到CSS最顶端就可以实现素装。建议全国站长动起来。为在地震中遇难的同胞哀悼。</p>
<p>如果网站没有使用CSS，可以在网页/模板的HTML代码&lt;head&gt;和&lt;/head&gt; 之间插入：</p>
<p>&lt;style&gt;<br />
html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}<br />
&lt;/style&gt;</p>
<p>有一些站长的网站可能使用这个css 不能生效，是因为网站没有使用最新的网页标准协议</p>
<p>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;</p>
<p>请将网页最头部的&lt;html&gt;替换为以上代码。</p>
<p>有一些网站FLASH动画的颜色不能被CSS滤镜控制，可以在FLASH代码的&lt;object &hellip;&gt;和&lt;/object&gt;之间插入：</p>
<p>&lt;param value=&quot;false&quot; name=&quot;menu&quot;/&gt;<br />
&lt;param value=&quot;opaque&quot; name=&quot;wmode&quot;/&gt;</p>
<p>最简单的把页面变成灰色的代码是在head 之间加<br />
&lt;style type=&quot;text/css&quot;&gt;</p>
<p>html {<br />
&nbsp;&nbsp;&nbsp; FILTER: gray;<br />
}<br />
&lt;/style&gt;</p>
<p>一般的discuz论坛在 你的控制css 文件下修改<br />
/images/header/header.css 这个文件。<br />
另在哀悼日或遇难的新闻，所有专题和主题 图片上不能使用红色标题。</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/05/219.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>掌握CSS缩写技巧</title>
		<link>http://www.nuniao.com/index.php/archives/2008/05/212.html</link>
		<comments>http://www.nuniao.com/index.php/archives/2008/05/212.html#comments</comments>
		<pubDate>Mon, 05 May 2008 00:40:42 +0000</pubDate>
		<dc:creator>驽鸟</dc:creator>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css 技巧]]></category>
		<category><![CDATA[css 缩写]]></category>

		<guid isPermaLink="false">http://www.nuniao.com/?p=212</guid>
		<description><![CDATA[<p style="margin: 0cm 0cm 0pt" class="MsoNormal">　　为了让网站能够更快，Web的建设者都会按常规地压缩和优化网站上的每一个图像文件，这常常使得为了将文件的大小减少几个百分点而牺牲了图像的质量。由于 CSS样式表是纯文本文件，和图像相比相对较小，所以Web建设者很少考虑采取措施减少其CSS样式表文件的大小。但是，通过使用CSS缩写以及其他的一些简单技巧，你可以在很大程度上减少样式表的大小。</p>
<p style="">　　Web网站可用性的关键指标是速度，更确切地说，是页面能以多快的速度出现在访问者的浏览器窗口里。影响速度的因素有很多种，包括Web服务器的速度、访问者的Internet连接情况，以及浏览器必须下载的文件大小。尽管你无法控制服务器和连接的速度，但是你可以控制构成网站Web页面的文件大小。</p>
<p>　　&nbsp;在我对自己样式表的一次非正式的特别测试中，我把文件的大小降低了大约25－50％。</p>
<p>　　<strong>使用CSS的缩写性质</strong></p>
<p>　　CSS 的缩写性质（shorthand property）是一些专用的性质名，用来代替多个相关性质的集合。例如，间隙性质（padding property）是顶部间隙（padding-top）、右侧间隙（padding-right）、底部间隙（padding-bottom）和左侧间隙（padding-left）的缩写。</p>
<p>使用速写性质让你能够把多个性质／属性对（property/attribute pair）压缩进CSS样式表的一行代码里。例如，想一想下面的代码：</p>
<p>.sample1 {</p>
<p>　 margin-top: 15px;</p>
<p>　 margin-right: 20px;</p>
<p>　 margin-bottom: 12px;</p>
<p>　 margin-left: 24px;</p>
<p>　 padding-top: 5px;</p>
<p>　 padding-right: 10px;</p>
<p>　 padding-bottom: 4px;</p>
<p>　 padding-left: 8px;</p>
<p>　 border-top-width: thin;</p>
<p>　 border-top-style: solid;</p>
<p>　 border-top-color: #000000;</p>
<p>}</p>
<p><span id="more-212"></span>　　&nbsp;将它用一些缩写性质来替代就能够把代码减少为下面这样，两者的实际效果是完全一样的：</p>
<p>.sample1 {</p>
<p>　 margin: 15px 20px 12px 24px;</p>
<p>　 padding: 5px 10px 4px 8px;</p>
<p>　 border-top: thin solid #000000;</p>
<p>}</p>
<p>　　要注意，缩写性质还有多个属性，每一个（属性）都对应一个被组合进入缩写性质的常规性质。属性由空白隔开。</p>
<p>　　当属性是类似的值的时候，例如用于边框空白性质（margin property）的线性测量的时候，接在缩写性质之后的属性的顺序很重要。属性的次序是从顶部（顶部的边框空白）开始，然后围绕格子（box）按顺时针次序继续。</p>
<p>　　如果缩写性质的所有属性都是相同的，那么你可以简单地列出单个属性，然后在前面将它复制四遍。因此，下面的两个性质是相等的：</p>
<p>　 margin: 5px 5px 5px 5px;</p>
<p>　 margin: 5px;</p>
<p>　　类似的，你可以使用接在边框空白或者间隔性质之后的两个属性来代表顶部／底部和右侧／左侧属性对。</p>
<p>　 margin: 5px 10px 5px 10px;</p>
<p>　 margin: 5px 10px;</p>
<p>　　属性的顺序在它们是不相似的值的时候是不重要的。因此，边框颜色、边框风格和边框宽度等属性可以以任何顺序接在大纲性质（outline property）之后。忽略某个属性等同于从样式规则里忽略掉对应的常规性质。</p>
<p><strong>　　CSS缩写性质列表 </strong></p>
<p>　　下面是CSS缩写性质的列表以及它们所表示的常规性质。</p>
<p>Background（背景）：背景附件、背景颜色、背景图像、背景位置、背景重复</p>
<p>Border（边框）：边框颜色、边框风格、边框宽度</p>
<p>border-bottom（底部边框）：底部边框颜色、底部边框样式、底部边框宽度</p>
<p>border-left（左侧边框）：左侧边框颜色、左侧边框样式、左侧边框宽度</p>
<p>border-right（右侧边框）：右侧边框颜色、右侧边框样式、右侧边框宽度</p>
<p>border-top（顶部边框）：顶部边框颜色、顶部边框样式、顶部边框宽度</p>
<p>cue（声音提示）：前提示、后提示</p>
<p>font（字体）：字体、字号、字体样式、字体粗细、字体变体、线高度、字体大小调整、字体拉伸</p>
<p>list-style（列表样式）：列表样式图像、列表样式位置、列表样式类型</p>
<p>margin（空白）：顶部空白、右侧空白、底部空白、左侧空白</p>
<p>outline（大纲）：大纲颜色、大纲样式、大纲宽度</p>
<p>padding（间隙）：顶部间隙、右侧间隙、底部间隙、左侧间隙</p>
<p>pause（暂停）：后暂停、前暂停 ］</p>
<p>　　<strong>减少空白</strong></p>
<p>　　减少CSS样式表大小的另一种方法是从文档里删掉大多数无用的空白。换句话说，将每条规则打破放进一行代码里，即把原来插入到代码里用来把每个性质／属性分割到不同行的换行符和缩进符删掉。 例如，下面的代码示例在内容上相同，但是第二个要精炼得多：</p>
<p>h1 {</p>
<p>　 font-size: x-large;</p>
<p>　 font-weight: bold;</p>
<p>　 color: #FF0000;</p>
<p>}</p>
<p>h1 {font-size: x-large; font-weight: bold; color: #FF0000}</p>
<p><strong>　　删掉注释</strong></p>
<p>　　将注释从你的CSS代码里删掉是减少文件大小的另一种方式。尽管注释对于代码的阅读很有用，但是它无助于浏览器生成你的Web页面。很多Web建设者都习惯给每一行代码都加上注释，或者至少给每一条规则声明都加上。这样的慷慨注释在CSS样式表里是极少需要的，因为大多数CSS性质和属性都很容易阅读和理解。如果你对类、ID，以及其他的选择器都使用有意义的名称，你就可以省掉大多数的注释，同时仍然能够保持代码的可读性和可维护性。</p>
<p>h1 {　　　　　　　/* Heading 1 style*/</p>
<p>　 font-size: x-large; /* x-large size */</p>
<p>　 font-weight: bold;　/* Bold */</p>
<p>　 color: #FF0000;/* Red */</p>
<p>}&nbsp;</p>
<p>　　使用速写性质、删除无用的空白、省略注释都能够在很大程度上减少你CSS样式表文件的大小。这反过来会对加速你Web网站速度的总体目标作出小的、但是可能会是显而易见的贡献。</p>... ]]></description>
		<wfw:commentRss>http://www.nuniao.com/index.php/archives/2008/05/212.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

