<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[CSS Web Design 我爱CSS - CSS2.0教程]]></title>
  <subtitle type="html"><![CDATA[Web标准化 Div+css教程]]></subtitle>
  <id>http://www.52css.com/</id> 
  <link rel="alternate" type="text/html" href="http://www.52css.com/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.52css.com/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2010-08-12T20:26:49+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[CSS执行顺序与优先权的问题]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-08-12T20:26:49+08:00</updated>
	  <published>2010-08-12T20:26:49+08:00</published>
		  <summary type="html"><![CDATA[　　CSS执行顺序与优先权的问题其实就是一个冲突解决的问题，当同一个元素(或内容)被CSS选择符选中时，就要按照优先权取舍不同的CSS规则，这其中涉及到的问题其实很多。<br/>　　首先就是CSS规则的specificity(特殊性)，CSS2.1有一套关于specificity的计算方式，用一个四位的数字串(CSS2是三位)来表示，最终specificity越高的规则越特殊，在优先级判定时也就越有优势。关于specificity的具体计算在各种情况下的数字加成有如下一般规则：<br/>　　每个ID选择符(#someid)，加&nbsp;0,1,0,0。&nbsp;<br/>　　每个class选择符(.someclass)、每个属性选择符(形如[attr=”&#34;]等)、每个伪类(形如:hover等)加0,0,1,0&nbsp;<br/>　　每个元素或伪元素(:firstchild)等，加0,0,0,1&nbsp;<br/>　　其他选择符包括全局选择符*，加0,0,0,0。相当于没加，不过这也是一种specificity，后面会解释。&nbsp;<br/>　　按这些规则将数字串逐位相加，就得到最终计算得的specificity，然后在比较取舍时按照从左到右的顺序逐位比较。<br/><br/>　　举一些例子吧：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">h1&nbsp;{color:&nbsp;red;}&nbsp;&nbsp;<br/>/*&nbsp;只有一个普通元素加成，结果是&nbsp;0,0,0,1&nbsp;*/<br/>body&nbsp;h1&nbsp;{color:&nbsp;green;}&nbsp;&nbsp;<br/>/*&nbsp;两个普通元素加成，结果是&nbsp;0,0,0,2&nbsp;*/&nbsp;——后者胜出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>h2.grape&nbsp;{color:&nbsp;purple;}&nbsp;<br/>/*&nbsp;一个普通元素、一个class选择符加成，结果是&nbsp;0,0,1,1*/&nbsp;<br/>h2&nbsp;{color:&nbsp;silver;}&nbsp;&nbsp;<br/>/*一个普通元素，结果是&nbsp;0,0,0,1&nbsp;*/&nbsp;——前者胜出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>html&nbsp;&gt;&nbsp;body&nbsp;table&nbsp;tr[id=”totals”]&nbsp;td&nbsp;ul&nbsp;&gt;&nbsp;li&nbsp;{color:&nbsp;maroon;}&nbsp;&nbsp;<br/>/*&nbsp;7个普通元素、一个属性选择符、两个其他选择符，结果是0,0,1,7&nbsp;*/&nbsp;<br/>li#answer&nbsp;{color:&nbsp;navy;}&nbsp;&nbsp;<br/>/*&nbsp;一个ID选择符，一个普通选择符，结果是0,1,0,1&nbsp;*/&nbsp;——后者胜出&nbsp;&nbsp;<br/>除了specificity还有一些其他规则</div></div><br/><br/>　　文内的样式优先级为1,0,0,0，所以始终高于外部定义。这里文内样式指形如&lt;div&nbsp;style=”color:&nbsp;red”&gt;blah&lt;/div&gt;的样式，而外部定义指经由&lt;link&gt;或&lt;style&gt;标签定义的规则。&nbsp;<br/>　　有!important声明的规则高于一切。&nbsp;<br/>　　如果!important声明冲突，则比较优先权。&nbsp;<br/>　　如果优先权一样，则按照在源码中出现的顺序决定，后来者居上。&nbsp;<br/>　　由继承而得到的样式没有specificity的计算，它低于一切其他规则(比如全局选择符*定义的规则)。&nbsp;<br/>关于经由@import载入的外部样式，由于@import必须出现在所有其他规则定义之前(如不是，则浏览器应该忽略之)，所以按照后来居上原则，一般优先权冲突时是占下风的。<br/>　　这里需要提一下IE，IE是可以识别位置错误的@import的，但无论@import在什么地方，它都认为是位于所有其他规则定义之前的，这可能会引发一些误会。&nbsp;<br/>　　所以优先权问题虽然看起来简单，但其背后还是有蛮复杂的机制的，需要多多留意。<br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1173" /> 
	  <id>http://www.52css.com/default.asp?id=1173</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[小议使用“完整”的CSS的缺点]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-04-11T23:55:48+08:00</updated>
	  <published>2010-04-11T23:55:48+08:00</published>
		  <summary type="html"><![CDATA[　　<strong>浏览器支持的不一致性</strong>&nbsp;浏览器的漏洞或缺乏支持的CSS功能，导致不同的浏览器显示出不同的CSS版面编排。例如在微软Internet&nbsp;Explorer6.0的旧版本&nbsp;，执行了许多自己的CSS2.0属性，曲解了很多重要的属性，例如：width，height，和float。许多所谓的CSS人员，必须在最热门的或常用的浏览器中达到一致的版面编排。在不同的浏览器中，要达到像素精准的版面编排，有时候是不可能的。<br/>　　<strong>CSS没有父层选择器</strong>&nbsp;CSS选择器无法提供元素的父层或继承性，以符合某种程度上的标准。先进的选择器（例如&nbsp;XPath）有助于复杂的样式设计。然而，浏览器的性能和增加彩现的问题关系著父层选择器，却是CSS的工作群组拒绝建议的主要原因。<br/>　　<strong>不能明确地指定继承性</strong>&nbsp;样式的继承性，建立在浏览器中DOM元素的层级和具体的规则上。<br/>　　<strong>垂直控制的局限</strong>元素的水平放置普遍地易于控制，垂直控制则非凭直觉性的、较迂回的甚至是不可能的。简单来说，例如：垂直地围绕一个元素、页尾的放置不能高于可见视窗（viewport，视窗或屏幕的可见范围）的底部范围、需要复杂而非凭直觉性的样式规则，或是简单但不被广泛支持的规则。<br/>　　<strong>显示的缺乏</strong>目前的CSS没有办法明确又简单的显示属性值（例如：margin-left:&nbsp;10%&nbsp;-&nbsp;3em&nbsp;+4px;）。这在很多情况下都是非常有用的，例如：总字段中计算字段的尺寸限制。无论如何，CSS&nbsp;WG发表了CSS局限性的草案，而InternetExplorer&nbsp;5&nbsp;以后的版本支持相似功能的语法显示。<br/>　　<strong>缺乏正交性</strong>同样的效果可以用不同的属性来完成，这经常会造成困扰。例如position、display与float定义了不同的配置方式，而且不能有效的交替使用。&nbsp;一个display:&nbsp;table-cell元素不能指定&nbsp;float或是position:&nbsp;relative，因为指定float:left的元素不应该受到display效果的影响。再者，没有考虑到新建立属性所造成的影响，例如在表格中你应该使用border-spacing而不是margin-*来指定表格元素。这是因为依照CSS准则，表格内部元素是没有边界（margin）的。]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1165" /> 
	  <id>http://www.52css.com/default.asp?id=1165</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS技术理论：CSS层叠与继承]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-03-11T20:05:43+08:00</updated>
	  <published>2010-03-11T20:05:43+08:00</published>
		  <summary type="html"><![CDATA[<strong>一、CSS层叠</strong><br/><br/>　　我们知道文档中的一个元素可能同时被多个css选择器选中，每个选择器都有一些css规则，这就是层叠。这些规则有可能不矛盾的，自然这些规则将会同时起效，然而有些规则是相互冲突的，例如：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">&lt;html&nbsp;xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34;&gt;<br/>&lt;head&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;CSS&nbsp;Cascade&lt;/title&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;h1{color:Red;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;body&nbsp;h1{color:Blue;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/style&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;h1&gt;Hello&nbsp;52CSS.com&lt;/h1&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;</div></div><br/>　　为此需要为每条规则制定特殊性，当发生冲突的时候必须选出一条最高特殊性的规则来应用。CSS规则的特殊性可以用4个整数来表示，例如0，0，0，0.计算规则如下：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">对于规则中的每个ID选择符，特殊性加0，1，0，0&nbsp;<br/>对于规则中每个类选择符和属性选择符以及伪类，特殊性加0，0，1，0&nbsp;<br/>对于规则中的每个元素名或者伪元素，特殊性加0，0，0，1&nbsp;<br/>对于通配符，特殊性加0，0，0，0.&nbsp;<br/>对于内联规则，特殊性加&nbsp;1，0，0，0&nbsp;</div></div><br/>　　最终得到结果就是这个规则的特殊性。两个特殊性的比较类似字符串大小的比较，是从左往右依次比较，第一个数字大的规则的特殊性高。上例中两条规则的特殊性分别是0，0，0，1&nbsp;和&nbsp;0,0,0,2，显然第二条胜出，因此最终字是蓝色的。<br/>　　注意，通配符的特殊性0,0,0,0看起来没有作用，实际上不是，还有一种没有特殊性的规则，0，0，0，0要比没有特殊性更特殊，下面会介绍。<br/>　　css还有一个!important标签，用来改变css规则的特殊性。实际上，在解析css规则特殊性的时候，是将具有!important的规则和没有此标签的规则利用上述方法分别计算特殊性，分别选出特殊性最高的规则。最终合并的时候，具有任何特殊性的带有!important标记的规则胜出。<br/><br/><strong>二、CSS继承</strong><br/><br/>　　所谓继承，就是父元素的规则也会适用于子元素。比如给body设置为color:Red;那么他内部的元素如果没有其他的规则设置，也都会变成红色。继承得来的规则没有特殊性。下面看一个简单的例子：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">&lt;html&nbsp;xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34;&gt;<br/>&lt;head&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;CSS&nbsp;Cascade&lt;/title&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;style&nbsp;type=&#34;text/css&#34;&gt;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*{color:Blue;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;div{color:Black;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.imp{color:Red&nbsp;!important;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#content{color:Green;}&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/style&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&nbsp;&lt;div&gt;Hello&nbsp;&lt;span&gt;52CSS.com&lt;/span&gt;&nbsp;&lt;/div&gt;<br/>&nbsp;&lt;div&nbsp;id=&#34;content&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&nbsp;class=&#34;imp&#34;&gt;Title&lt;/p&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Content&nbsp;Goes&nbsp;Here.<br/>&nbsp;&lt;/div&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;</div></div>&nbsp;<br/>　　注意，第一行的Css并没有继承div的黑色，这是因为通配符的缘故。通配符的特殊性虽然是全0，但是还是比继承的特殊性要高。第二行展示了!important标记的作用。<br/>　　另外，一些明显不应该继承的属性，比如border,margin,padding之类的是不会被继承的，具体可以参考css手册。<br/><br/><strong>三、其他</strong><br/><br/>　　虽然有4个整数来表示一个特殊性，仍然有可能出现两条冲突的规则的特殊性完全一致的情况，此时就按照css规则出现的顺序来确定，在样式表中最后一个出现的规则胜出。一般不会出现这样的情况，只有一个情况例外，考虑如下样式表：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">:active{color:Red;}<br/>:hover{color:Blue;}<br/>:visited{color:Purple;}<br/>:link{color:Green;}&nbsp;</div></div>&nbsp;&nbsp;&nbsp;<br/>　　这样页面中的链接永远也不会显示红色和蓝色，因为一个链接要么被访问过，要么没有被访问过。而这两条规则在最后，因此总会胜出。如果改成这样:<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">:link{color:Green;}&nbsp;&nbsp;<br/>:visited{color:Purple;}<br/>:hover{color:Blue;}<br/>:active{color:Red;}</div></div><br/>　　就能实现鼠标悬停和点击的瞬间变色的效果。这样的顺序的首字母正好连成&nbsp;“LoVe&nbsp;HA”,这样的顺序被约定俗成的叫做Love&nbsp;Ha&nbsp;规则。特殊性规则从理论上讲比较抽象和难懂，但在实践中，只要样式表是设计良好的，并不会有太多这方面的困扰，因此本文也不再做深究，更多的技术请参考52CSS.com的文章更新！<br/>　　　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1160" /> 
	  <id>http://www.52css.com/default.asp?id=1160</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS经验分享：如何书写可维护的CSS代码？]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-02-07T23:09:54+08:00</updated>
	  <published>2010-02-07T23:09:54+08:00</published>
		  <summary type="html"><![CDATA[　　在前几天的文章中，我们讨论过书写高效CSS注意的七个方面。今天我们在52CSS.com和大家讨论如何书写可维护的CSS代码？<br/><br/>　　一、在样式表开头添加一个注释块，用以描述这个样式表的创建日期、创建者、标记等备注信息。<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">/*&nbsp;<br/>---------------------------------<br/>Site:&nbsp;Site&nbsp;name&nbsp;<br/>Author:&nbsp;52CSS.com<br/>Up&#100;ated:&nbsp;Date&nbsp;and&nbsp;time&nbsp;<br/>Up&#100;ated&nbsp;by:&nbsp;Name&nbsp;<br/>---------------------------------&nbsp;<br/>*/&nbsp;</div></div><br/>　　二、包括公用颜色标记&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">/*&nbsp;<br/>---------------------------------&nbsp;<br/>COLORS<br/>Body&nbsp;background:&nbsp;#def455<br/>Container&nbsp;background:&nbsp;#fff&nbsp;<br/>Main&nbsp;Text:&nbsp;#333&nbsp;<br/>Links:&nbsp;#00600f&nbsp;<br/>Visited&nbsp;links:&nbsp;#098761&nbsp;<br/>Hover&nbsp;links:&nbsp;#aaf433&nbsp;<br/>H1,&nbsp;H2,&nbsp;H3:&nbsp;#960&nbsp;<br/>H4,&nbsp;H5,&nbsp;H6:&nbsp;#000&nbsp;<br/>---------------------------------<br/>*/</div></div>&nbsp;<br/>　　三、给ID和Class进行有意义的命名&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">不推荐的命名方式：<br/>.green-box&nbsp;{&nbsp;...&nbsp;}&nbsp;<br/>#big-text&nbsp;{&nbsp;...&nbsp;}&nbsp;<br/><br/>推荐使用的命名方式：<br/>.pullquote&nbsp;{...&nbsp;}<br/>#introduction&nbsp;{...&nbsp;}&nbsp;</div></div><br/>　　四、将关联的样式规则进行整合&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">#header&nbsp;{&nbsp;...&nbsp;}&nbsp;<br/>#header&nbsp;h1&nbsp;{&nbsp;...&nbsp;}&nbsp;<br/>#header&nbsp;h1&nbsp;img&nbsp;{&nbsp;...&nbsp;}<br/>#header&nbsp;form&nbsp;{&nbsp;...&nbsp;}<br/>#header&nbsp;a#skip&nbsp;{&nbsp;...&nbsp;}<br/><br/>#navigation&nbsp;{&nbsp;...&nbsp;}<br/>#navigation&nbsp;ul&nbsp;{&nbsp;...&nbsp;}<br/>#navigation&nbsp;ul&nbsp;li&nbsp;{&nbsp;...&nbsp;}<br/>#navigation&nbsp;ul&nbsp;li&nbsp;a&nbsp;{&nbsp;...&nbsp;}<br/>#navigation&nbsp;ul&nbsp;li&nbsp;a:hover&nbsp;{&nbsp;...&nbsp;}<br/><br/>#content&nbsp;{&nbsp;...&nbsp;}<br/>#content&nbsp;h2&nbsp;{&nbsp;...&nbsp;}<br/>#content&nbsp;p&nbsp;{&nbsp;...&nbsp;}<br/>#content&nbsp;ul&nbsp;{&nbsp;...&nbsp;}<br/>#content&nbsp;ul&nbsp;li&nbsp;{&nbsp;...&nbsp;}&nbsp;</div></div><br/>　　五、给样式添加清晰的注释&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">/*<br/>---------------------------------&nbsp;<br/>header&nbsp;styles&nbsp;<br/>---------------------------------&nbsp;<br/>*/&nbsp;<br/>#header&nbsp;{&nbsp;...&nbsp;}<br/>#header&nbsp;h1&nbsp;{&nbsp;...&nbsp;}<br/>#header&nbsp;h1&nbsp;img&nbsp;{&nbsp;...&nbsp;}<br/>#header&nbsp;form&nbsp;{&nbsp;...&nbsp;}&nbsp;<br/><br/>/*&nbsp;<br/>---------------------------------&nbsp;<br/>navigation&nbsp;styles<br/>---------------------------------&nbsp;<br/>*/<br/>#navigation&nbsp;{&nbsp;...&nbsp;}&nbsp;</div></div><br/>　　在52CSS.com后面的文章中，我们将讨论如何管理你整站的CSS文件呢。请大家关注。<br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1158" /> 
	  <id>http://www.52css.com/default.asp?id=1158</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS文字控制之letter-spacing和word-spacing]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-02-04T00:15:25+08:00</updated>
	  <published>2010-02-04T00:15:25+08:00</published>
		  <summary type="html"><![CDATA[　　letter-spacing和word-spacing这两个属性都用来添加他们对应的元素中的空白。letter-spacing添加字母之间的空白，而word-spacing添加每个单词之间的空白。在52CSS.com中有过相关介绍，请大家注意，word-spacing对中文无效。&nbsp;&nbsp;<br/><br/><strong>letter-spacing</strong><br/><br/>　　语法：<br/>　　letter-spacing&nbsp;:&nbsp;normal&nbsp;|&nbsp;length&nbsp;<br/>　　参数：<br/>　　normal&nbsp;:&nbsp;　默认间隔<br/>　　length&nbsp;:&nbsp;　由浮点数字和单位标识符组成的长度值，允许为负值。请参阅长度单位<br/>　　说明：<br/>　　检索或设置对象中的文字之间的间隔。<br/>　　该属性将指定的间隔添加到每个文字之后，但最后一个字将被排除在外。<br/>　　对应的脚本特性为letterSpacing。请参阅我编写的其他书目。<br/><br/>　　<a target="_blank" href="http://www.52css.com/css/c_letterspacing.html">http://www.52css.com/css/c_letterspacing.html</a><br/><br/><strong>word-spacing</strong><br/><br/>　　语法：<br/>　　word-spacing&nbsp;:&nbsp;normal&nbsp;|&nbsp;length&nbsp;<br/>　　参数：<br/>　　normal&nbsp;:&nbsp;　默认间距<br/>　　length&nbsp;:&nbsp;　由浮点数字和单位标识符组成的长度值，允许为负值。请参阅长度单位<br/>　　说明：<br/>　　检索或设置对象中的单词之间插入的空格数。对于IE4+而言仅在MAC平台上可用。<br/>　　对应的脚本特性为wordSpacing。请参阅我编写的其他书目。<br/><br/>　　<a target="_blank" href="http://www.52css.com/css/c_wordspacing.html">http://www.52css.com/css/c_wordspacing.html</a><br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1157" /> 
	  <id>http://www.52css.com/default.asp?id=1157</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS属性behavior的语法及介绍]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-01-12T20:42:33+08:00</updated>
	  <published>2010-01-12T20:42:33+08:00</published>
		  <summary type="html"><![CDATA[　　在进行CSS网页布局的时候，我们经遇到刷新要保留表单里内容的时候，习惯的做法使用cookie，但是那样做实在是很麻烦，css中的behavior就为我们很好的解决了这个问题。今天52CSS.com就向大家介绍CSS属性behavior的语法<br/>　　<strong>behavior的语法：</strong><br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　behavior&nbsp;:&nbsp;url&nbsp;(&nbsp;url&nbsp;)&nbsp;|&nbsp;url&nbsp;(&nbsp;#objID&nbsp;)&nbsp;|&nbsp;url&nbsp;(&nbsp;#default#behaviorName&nbsp;)<br/>　　取值：<br/>　　url&nbsp;(&nbsp;url&nbsp;)　:　使用绝对或相对&nbsp;url&nbsp;地址指定DHTML行为组件（.htc）<br/>　　url&nbsp;(&nbsp;#objID&nbsp;)　:　使用二进制实现(作为&nbsp;ActiveX®&nbsp;控件)的行为。此处的&nbsp;#objID&nbsp;为&nbsp;object&nbsp;对象的&nbsp;id&nbsp;属性值<br/>　　url&nbsp;(&nbsp;#default#behaviorName&nbsp;)　:　IE的默认行为。由行为的名称标识(&nbsp;#behaviorName&nbsp;)指定<br/>　　说明：设置或检索对象的DHTML行为。多个行为之间用空格隔开。</div></div><br/>　　当多个附加到同一要素的行为发生冲突时，其结果取决于行为应用于要素的顺序。后一个行为的优先权高于前一个行为。同样的规则适用于不同行为提供的属性、事件、方法所发生的名称冲突。<br/>　　可以使用&nbsp;addBehavior&nbsp;方法动态的将行为附着到对象。<br/>　　此属性对于&nbsp;currentStyle&nbsp;对象而言是只读的。对于其他对象而言是可读写的。<br/>　　务必注意使用样式表(CSS)的&nbsp;behavior&nbsp;属性内联定义或使用&nbsp;addBehavior&nbsp;方法附着的行为不会在对象从文档树中移除时被自动分离。而在文档中的样式表规则定义的行为会在对象从文档树中移除时被自动分离。<br/>　　对应的脚本特性为&nbsp;behavior&nbsp;。&nbsp;<br/><br/>　　示例：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">p&nbsp;{&nbsp;behavior:&nbsp;url(#default#download);&nbsp;}<br/>div&nbsp;{&nbsp;behavior:&nbsp;url(fly.htc)&nbsp;url(shy.htc);&nbsp;}<br/>div&nbsp;{&nbsp;behavior:&nbsp;url(#myObject);&nbsp;}</div></div><br/>　　应用1:刷新也保留输入框里面的文字<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　.sHistory&nbsp;{}{behavior:url(#default#savehistory);}</div></div><br/>　　应用2:调用脚本<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　　　&lt;html&gt;<br/>　　　　&lt;head&gt;<br/>　　　　　　&lt;style&gt;<br/>　　　　　　h1&nbsp;{&nbsp;behavior:&nbsp;url(behave.htc)&nbsp;}<br/>　　　　　　&lt;/style&gt;<br/>　　　　&lt;/head&gt;<br/>　　　　&lt;body&gt;<br/>　　　　　　&lt;h1&gt;把鼠标放在这里&nbsp;52css.com&lt;/h1&gt;<br/>　　　　&lt;/body&gt;<br/>　　　　&lt;/html&gt;<br/>　　　　behave.htc<br/><br/>　　　　&lt;component&gt;<br/>　　　　&lt;attach&nbsp;for=&#34;element&#34;&nbsp;event=&#34;onmouseover&#34;&nbsp;handler=&#34;hig_lite&#34;&nbsp;/&gt;<br/>　　　　&lt;attach&nbsp;for=&#34;element&#34;&nbsp;event=&#34;onmouseout&#34;&nbsp;handler=&#34;low_lite&#34;&nbsp;/&gt;<br/>　　　　&lt;script&nbsp;type=&#34;text/javascript&#34;&gt;<br/>　　　　function&nbsp;hig_lite()<br/>　　　　{<br/>　　　　　　element.style.color=255<br/>　　　　}<br/>　　　　function&nbsp;low_lite()<br/>　　　　{<br/>　　　　　　element.style.color=0<br/>　　　　}<br/>　　　　&lt;/script&gt;<br/>　　　　&lt;/component&gt;</div></div>　　<br/><strong>注意：CSS&nbsp;时尽量避免使用Behaviors技术</strong><br/><br/>　　Internet&nbsp;Explorer&nbsp;Behaviors<br/>　　它是什么？Internet&nbsp;Explorer&nbsp;5&nbsp;引入了行为&nbsp;(behaviors)。behaviors&nbsp;是一种通过使用&nbsp;CSS&nbsp;向&nbsp;HTML&nbsp;元素添加行为的方法。<br/>　　为什么要避免它？只有&nbsp;Internet&nbsp;Explorer&nbsp;支持&nbsp;behavior&nbsp;属性。<br/>　　用什么代替？请使用&nbsp;JavaScript&nbsp;和&nbsp;HTML&nbsp;DOM&nbsp;取而代之<br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1148" /> 
	  <id>http://www.52css.com/default.asp?id=1148</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS进阶教程：CSS中内联元素与块级元素]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2010-01-08T20:32:11+08:00</updated>
	  <published>2010-01-08T20:32:11+08:00</published>
		  <summary type="html"><![CDATA[　　p、h1、或div等元素常常称为块级元素，这些元素显示为一块内容；Strong,span等元素称为行内元素，它们的内容显示在行中，即“行内框”。（可以使用display=block将行内元素转换成块元素，display=none表示生成的元素根本没有框，也既不显示元素，不占用文档中的空间）<br/>　　《CSS权威指南》中文中：任何不是块级元素的可见元素都是内联元素。其表现的特性是“&nbsp;行布局”形式，这里的“行布局”的意思就是说其表现形式始终以行进行显示。这些知识在52CSS.com上有较多的文章。比如，我们设定一个内联元素border-bottom:1px&nbsp;solid&nbsp;#000;时其表现是以每行进行重复，每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。<br/><br/>　　A：行内就是在一行内的元素，只能放在行内；块级元素，就是一个四方块，可以放在页面上任何地方。<br/>　　B：说白了，行内元素就好像一个单词；块级元素就好像一个段落，如果不另加定义的话，它将独立一行出现。<br/>　　C：一般的&nbsp;块级元素诸如段落&lt;p&gt;、标&nbsp;题&lt;h1&gt;&lt;h2&gt;…、列表,&lt;ul&gt;&lt;ol&gt;&lt;li&gt;&nbsp;、表格&lt;table&gt;、表单&lt;form&gt;、DIV&lt;div&gt;和BODY&lt;body&gt;等元素。而内联元素则如:&nbsp;表单元素&lt;input&gt;、超级链接&lt;a&gt;、图像&lt;img&gt;、&lt;span&gt;&nbsp;……..<br/>　　D：块级无素的显著特点是：每个块级元素都是从一个新行开始显示，而且其后的无素也需另起一行进行显示。<br/>　　E：&lt;span&gt;在CSS定义中属于一个行内元素，而&lt;div&gt;是块级元素。<br/><br/>　　用容器这一词会更容易形象理解它们的存在与用途，行内元素相当一个小容器，而&lt;div&gt;相当于一个大容器，大容器当然可以放一个小容器&nbsp;了。&lt;span&gt;就是小容器。<br/>　　块元素(block&nbsp;element)一般是其他元素的容器元素，块元素一般都从新行开始，它可以容纳内联元素和其他块元素,常见块元素是段落标签’P”。“form”这个块元素比较特殊，它只能用来容纳其他块元素。<br/>　　如果没有css的作用，块元素会顺序以每次另起一行的方式一直往下排。而有了css以后，我们可以改变这种html的默认布局模式，把块元素摆放到你想要&nbsp;的位置上去。而不是每次都愚蠢的另起一行。需要指出的是，table标签也是块元素的一种，table&nbsp;based&nbsp;layout和css&nbsp;based&nbsp;layout从一般使用者（不包括视力障碍者、盲人等）的角度来看这两种布局，除了页面载入速度的差别外，没有其他的差别。但是如果普通使用者不经意点了&nbsp;查看页面源代码按钮后，两者所表现出来的差异就非常大了。基于良好重构理念设计的css布局页面源码，至少也能让没有web开发经验的普通使用者把内容快&nbsp;速的读懂。从这个角度来说，css&nbsp;layout&nbsp;code应该有更好的美学体验吧。<br/>　　你能够把块容器元素div想象成一个个box，或者如果你玩过剪贴文载的话，那就更加容易理解了。我们先把需要的文章从各种报纸、杂志总剪&nbsp;下来。每块剪下来的内容就是一个block。然后我们把这些纸块按照自己的排版意图，用胶水重新贴到一张空白的新纸上。这样就形成了你自己独特的文摘快报&nbsp;了。作为一种技术的延伸，网页布局设计也遵循了同样的模式。<br/><br/>　　内联元素(inline&nbsp;element)一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素，常见内联元素&nbsp;“a”。<br/>　　块元素(block&nbsp;element)和内联元素(inline&nbsp;element)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了css控制以后，块元素和内联元素的这种属&nbsp;性差异就不成为差异了。比如，我们完全可以把内联元素cite加上display:block这样的属性，让他也有每次都从新行开始的属性。<br/>可变元素的基本概念就是他需要根据上下文关系确定该元素是块元素或者内联元素。可变元素还是属于上述两种元素类别，一旦上下文关系确定了他的类别，他就要遵循块元素或者内联元素的规则限制。大致的元素分类见全文。<br/>　　ps:关于inline&nbsp;element的中文叫法，有多种内联元素、内嵌元素、行内元素、直进式元素。基本上没有统一的翻译，爱怎么叫怎么叫吧。另外提到内联元素，我们会想到有个display的属性是display:inline;这个属性能够修复著名的IE双倍浮动边界(float时margin)问题。<br/><br/><strong>块元素(block&nbsp;element)</strong><br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">*&nbsp;address&nbsp;-&nbsp;地址<br/>*&nbsp;blockquote&nbsp;-&nbsp;块引用<br/>*&nbsp;center&nbsp;-&nbsp;举中对齐块<br/>*&nbsp;dir&nbsp;-&nbsp;目录列表<br/>*&nbsp;div&nbsp;-&nbsp;常用块级容易，也是css&nbsp;layout的主要标签<br/>*&nbsp;dl&nbsp;-&nbsp;定义列表<br/>*&nbsp;fieldset&nbsp;-&nbsp;form控制组<br/>*&nbsp;form&nbsp;-&nbsp;交互表单<br/>*&nbsp;h1&nbsp;-&nbsp;大标题<br/>*&nbsp;h2&nbsp;-&nbsp;副标题<br/>*&nbsp;h3&nbsp;-&nbsp;3级标题<br/>*&nbsp;h4&nbsp;-&nbsp;4级标题<br/>*&nbsp;h5&nbsp;-&nbsp;5级标题<br/>*&nbsp;h6&nbsp;-&nbsp;6级标题<br/>*&nbsp;hr&nbsp;-&nbsp;水平分隔线<br/>*&nbsp;isindex&nbsp;-&nbsp;input&nbsp;prompt<br/>*&nbsp;menu&nbsp;-&nbsp;菜单列表<br/>*&nbsp;noframes&nbsp;-&nbsp;frames可选内容，（对于不支持frame的浏览器显示此区块内容<br/>*&nbsp;noscript&nbsp;-&nbsp;）可选脚本内容（对于不支持script的浏览器显示此内容）<br/>*&nbsp;ol&nbsp;-&nbsp;排序表单<br/>*&nbsp;p&nbsp;-&nbsp;段落<br/>*&nbsp;pre&nbsp;-&nbsp;格式化文本<br/>*&nbsp;table&nbsp;-&nbsp;表格<br/>*&nbsp;ul&nbsp;-&nbsp;非排序列表</div></div><br/><strong>内联元素(inline&nbsp;element)</strong><br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">*&nbsp;a&nbsp;-&nbsp;锚点<br/>*&nbsp;abbr&nbsp;-&nbsp;缩写<br/>*&nbsp;acronym&nbsp;-&nbsp;首字<br/>*&nbsp;b&nbsp;-&nbsp;粗体(不推荐)<br/>*&nbsp;bdo&nbsp;-&nbsp;bidi&nbsp;override<br/>*&nbsp;big&nbsp;-&nbsp;大字体<br/>*&nbsp;br&nbsp;-&nbsp;换行<br/>*&nbsp;cite&nbsp;-&nbsp;引用<br/>*&nbsp;code&nbsp;-&nbsp;计算机代码(在引用源码的时候需要)<br/>*&nbsp;dfn&nbsp;-&nbsp;定义字段<br/>*&nbsp;em&nbsp;-&nbsp;强调<br/>*&nbsp;font&nbsp;-&nbsp;字体设定(不推荐)<br/>*&nbsp;i&nbsp;-&nbsp;斜体<br/>*&nbsp;img&nbsp;-&nbsp;图片<br/>*&nbsp;input&nbsp;-&nbsp;输入框<br/>*&nbsp;kbd&nbsp;-&nbsp;定义键盘文本<br/>*&nbsp;label&nbsp;-&nbsp;表格标签<br/>*&nbsp;q&nbsp;-&nbsp;短引用<br/>*&nbsp;s&nbsp;-&nbsp;中划线(不推荐)<br/>*&nbsp;samp&nbsp;-&nbsp;定义范例计算机代码<br/>*&nbsp;sel&#101;ct&nbsp;-&nbsp;项目选择<br/>*&nbsp;small&nbsp;-&nbsp;小字体文本<br/>*&nbsp;span&nbsp;-&nbsp;常用内联容器，定义文本内区块<br/>*&nbsp;strike&nbsp;-&nbsp;中划线<br/>*&nbsp;strong&nbsp;-&nbsp;粗体强调<br/>*&nbsp;sub&nbsp;-&nbsp;下标<br/>*&nbsp;sup&nbsp;-&nbsp;上标<br/>*&nbsp;textarea&nbsp;-&nbsp;多行文本输入框<br/>*&nbsp;tt&nbsp;-&nbsp;电传文本<br/>*&nbsp;u&nbsp;-&nbsp;下划线<br/>*&nbsp;var&nbsp;-&nbsp;定义变量</div></div><br/><strong>可变元素</strong>——可变元素为根据上下文语境决定该元素为块元素或者内联元素。<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">*&nbsp;applet&nbsp;-&nbsp;java&nbsp;applet<br/>*&nbsp;button&nbsp;-&nbsp;按钮<br/>*&nbsp;del&nbsp;-&nbsp;删除文本<br/>*&nbsp;iframe&nbsp;-&nbsp;inline&nbsp;frame<br/>*&nbsp;ins&nbsp;-&nbsp;插入的文本<br/>*&nbsp;map&nbsp;-&nbsp;图片区块(map)<br/>*&nbsp;object&nbsp;-&nbsp;object对象<br/>*&nbsp;script&nbsp;-&nbsp;客户端脚本</div></div><br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1146" /> 
	  <id>http://www.52css.com/default.asp?id=1146</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[牛人也得看的15个CSS常识]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2009-12-20T16:46:17+08:00</updated>
	  <published>2009-12-20T16:46:17+08:00</published>
		  <summary type="html"><![CDATA[　　1、不要使用过小的图片做背景平铺。这就是为何很多人都不用&nbsp;1px&nbsp;的原因，这才知晓。宽高&nbsp;1px&nbsp;的图片平铺出一个宽高&nbsp;200px&nbsp;的区域，需要&nbsp;200*200=40,&nbsp;000&nbsp;次，占用资源。&nbsp;<br/>　　2、无边框。推荐的写法是&nbsp;border:none;，哈哈，我一直在用这个。&nbsp;border:0;&nbsp;只是定义边框宽度为零，但边框样式、颜色还是会被浏览器解析，占用资源。&nbsp;<br/>　　3、慎用&nbsp;*&nbsp;通配符。所谓通配符，就是将&nbsp;CSS&nbsp;中的所有标签均初始化，不管用的不用的，过时的先进的，一视同仁，这样，大大的占用资源。要有选择的初始化标签。&nbsp;<br/>　　4、CSS&nbsp;的十六进制颜色代码缩写。习惯了缩写及小写，这才知道，原来不是推荐的写法，为的是减少解析所占用的资源。但同时会增加文件体积。孰优孰劣，有待仔细考证。&nbsp;<br/>　　5、样式放头上，脚本放脚下。不内嵌，只外链。&nbsp;<br/>　　6、坚决不用&nbsp;CSS&nbsp;表达式。&nbsp;<br/>　　7、使用&nbsp;引用样式表，而不是通过&nbsp;@import&nbsp;导入。&nbsp;<br/>　　8、一般来说，PNG&nbsp;比&nbsp;GIF&nbsp;要小，小得多。再者，GIF&nbsp;中有多少颜色是被浪费的，很值得优化。&nbsp;<br/>　　9、千万不要在&nbsp;HTML&nbsp;中缩放图片，一者不好看，二者占资源。&nbsp;<br/>　　10、正文字体最好用偶数，12px、14px、16px，效果非常好。特例，15px。&nbsp;<br/>　　11、block、ul、ol&nbsp;等上下留出至少一倍行距，左侧至少两倍行距，右侧随意。&nbsp;<br/>　　12、段落之间，至少要有一倍行距。&nbsp;<br/>　　13、强行指定某些元素的&nbsp;line-height，正文&nbsp;1.6&nbsp;倍于文字大小，标题&nbsp;1.3&nbsp;倍。&nbsp;<br/>　　14、中文标点用全角。英文夹杂在中文中，左右空格，半角。&nbsp;<br/>　　15、中文字体的粗体和斜体，远离较好，利民利己。<br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1141" /> 
	  <id>http://www.52css.com/default.asp?id=1141</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS网页布局中 DIV和TABLE超出宽度自动换行的情况分析]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2009-12-15T22:52:14+08:00</updated>
	  <published>2009-12-15T22:52:14+08:00</published>
		  <summary type="html"><![CDATA[　　自动换行问题，正常字符的换行是比较合理的，而连续的数字和英文字符常常将容器撑大，挺让人头疼，在52CSS.com中不乏这方面的文章，现在总结一下CSS如何实现换行的方法，只要在CSS中定义了如下句子，可保网页不会再被撑开了。<br/><br/>　　对于div,p等块级元素<br/>　　正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　html&nbsp;<br/>　　&lt;div&nbsp;id=&#34;wrap&#34;&gt;正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义&lt;/div&gt;<br/>　　css&nbsp;<br/>　　#wrap{white-space:normal;&nbsp;width:200px;&nbsp;}</div></div><br/>　　IE浏览器<br/>　　连续的英文字符和阿拉伯数字,使用word-wrap:&nbsp;break-word&nbsp;;或者word-break:break-all;实现强制断行<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　html&nbsp;<br/>　　&lt;div&nbsp;id=&#34;wrap&#34;&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/div&gt;<br/>　　css&nbsp;<br/>　　#wrap{word-break:break-all;&nbsp;width:200px;}</div></div><br/>　　或者&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　#wrap{word-wrap:break-word;&nbsp;width:200px;}</div></div><br/>　　Firefox浏览器<br/>　　连续的英文字符和阿拉伯数字的断行,Firefox的所有版本的没有解决这个问题,我们只有让超出边界的字符隐藏或者,给容器添加滚动条<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　html&nbsp;<br/>　　&lt;div&nbsp;id=&#34;wrap&#34;&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/div&gt;<br/>　　css&nbsp;<br/>　　#wrap{word-break:break-all;&nbsp;width:200px;&nbsp;overflow:auto;}</div></div><br/>　　对于table元素<br/><br/>　　IE浏览器<br/><br/>　　一、使用&nbsp;table-layout:fixed;强制table的宽度,多余内容隐藏&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">&lt;table&nbsp;style=&#34;table-layout:fixed&#34;&nbsp;width=&#34;200&#34;&gt;&lt;tr&gt;&lt;td&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&nbsp;</div></div><br/>　　二、使用&nbsp;table-layout:fixed;强制table的宽度,内层td,th采用word-break&nbsp;:&nbsp;break-all;或者word-wrap&nbsp;:&nbsp;break-word&nbsp;;换行&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">&lt;table&nbsp;width=&#34;200&#34;&nbsp;style=&#34;table-layout:fixed;&#34;&gt;&lt;tr&gt;&lt;td&nbsp;width=&#34;25%&#34;&nbsp;style=&#34;word-break&nbsp;:&nbsp;break-all;&nbsp;&#34;&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/td&gt;&lt;td&nbsp;style=&#34;word-wrap&nbsp;:&nbsp;break-word&nbsp;;&#34;&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&nbsp;</div></div><br/>　　三、在td,th中嵌套div,p等采用上面提到的div,p的换行方法<br/><br/>　　Firefox浏览器<br/><br/>　　一、使用&nbsp;table-layout:fixed;强制table的宽度,内层td,th采用word-break&nbsp;:&nbsp;break-all;或者word-wrap&nbsp;:&nbsp;break-word&nbsp;;换行，使用overflow:hidden;隐藏超出内，这里overflow:auto;无法起作用&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">&lt;table&nbsp;style=&#34;table-layout:fixed&#34;&nbsp;width=&#34;200&#34;&gt;&lt;tr&gt;&nbsp;<br/>&lt;td&nbsp;width=&#34;25%&#34;&nbsp;&nbsp;&nbsp;style=&#34;word-break&nbsp;:&nbsp;break-all;&nbsp;overflow:hidden;&nbsp;&#34;&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/td&gt;&nbsp;<br/>&lt;td&nbsp;width=&#34;75%&#34;&nbsp;style=&#34;word-wrap&nbsp;:&nbsp;break-word;&nbsp;overflow:hidden;&nbsp;&#34;&gt;52csscom52csscom52csscom52csscom52csscom52csscom&lt;/td&gt;&nbsp;<br/>&lt;/tr&gt;&lt;/table&gt;&nbsp;</div></div><br/>　　二、在td,th中嵌套div,p等采用上面提到的对付Firefox的方法。<br/>　　最佳CSS定义换行代码&nbsp;<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">　　.wrap&nbsp;{&nbsp;table-layout:fixed;&nbsp;word-break:&nbsp;break-all;&nbsp;overflow:hidden;&nbsp;}&nbsp;</div></div><br/>　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1139" /> 
	  <id>http://www.52css.com/default.asp?id=1139</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CSS背景图片的定位background-position的问题]]></title>
	  <author>
		 <name>52css</name>
		 <uri>http://www.52css.com/</uri>
		 <email>MrJin@52css.com</email>
	  </author>
	  <category term="" scheme="http://www.52css.com/default.asp?cateID=5" label="CSS2.0教程" /> 
	  <updated>2009-12-13T22:05:45+08:00</updated>
	  <published>2009-12-13T22:05:45+08:00</published>
		  <summary type="html"><![CDATA[background-position的说明：<br/>&nbsp;&nbsp;&nbsp;&nbsp;设置或检索对象的背景图像位置。必须先指定&nbsp;background-image&nbsp;属性。该属性定位不受对象的补丁属性(&nbsp;padding&nbsp;)设置影响。<br/>&nbsp;&nbsp;&nbsp;&nbsp;默认值为：&nbsp;0%&nbsp;0%&nbsp;。此时背景图片将被定位于对象不包括补丁(&nbsp;padding&nbsp;)的内容区域的左上角。<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果只指定了一个值，该值将用于横坐标。纵坐标将默认为&nbsp;50%&nbsp;。如果指定了两个值，第二个值将用于纵坐标。<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果设置值为&nbsp;right&nbsp;center，因为&nbsp;right&nbsp;作为横坐标值将会覆盖&nbsp;center&nbsp;值，所以背景图片将被居右定位。<br/>对应的脚本特性为&nbsp;backgroundPosition&nbsp;。<br/><br/>语法：<br/>&nbsp;&nbsp;&nbsp;&nbsp;background-position&nbsp;:&nbsp;length&nbsp;||&nbsp;length<br/>&nbsp;&nbsp;&nbsp;&nbsp;background-position&nbsp;:&nbsp;position&nbsp;||&nbsp;position<br/><br/>取值：<br/>&nbsp;&nbsp;&nbsp;&nbsp;length&nbsp;:&nbsp;百分数&nbsp;|&nbsp;由浮点数字和单位标识符组成的长度值。<br/>&nbsp;&nbsp;&nbsp;&nbsp;position&nbsp;:&nbsp;top&nbsp;|&nbsp;center&nbsp;|&nbsp;bottom&nbsp;|&nbsp;left&nbsp;|&nbsp;center&nbsp;|&nbsp;right<br/><br/>background-position&nbsp;--&nbsp;定义背景图片的位置<br/><br/>取值:<br/>[&nbsp;&lt;percentage&gt;&nbsp;|&nbsp;&lt;length&gt;&nbsp;|&nbsp;left&nbsp;|&nbsp;center&nbsp;|&nbsp;right&nbsp;]&nbsp;[&nbsp;&lt;percentage&gt;&nbsp;|&nbsp;&lt;length&gt;&nbsp;|&nbsp;top&nbsp;|&nbsp;center&nbsp;|&nbsp;bottom&nbsp;]&nbsp;]&nbsp;<br/>&nbsp;*&nbsp;水平<br/>&nbsp;left:&nbsp;左<br/>&nbsp;center:&nbsp;中<br/>&nbsp;right:&nbsp;右<br/>&nbsp;*&nbsp;垂直<br/>&nbsp;top:&nbsp;上<br/>&nbsp;center:&nbsp;中<br/>&nbsp;bottom:&nbsp;下<br/>*&nbsp;垂直与水平的组合<br/>&nbsp;x-%&nbsp;y-%<br/>&nbsp;x-pos&nbsp;y-pos<br/><br/>&nbsp;初始值:&nbsp;0%&nbsp;0%<br/>&nbsp;继承性:&nbsp;否<br/>&nbsp;适用于:&nbsp;所有元素<br/>&nbsp;background:背景.position:位置.&nbsp;<br/><br/>重点讲解的地方：<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.52css.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="div css xhtml xml Example Source Code"/> Example Source Code <span style="font-weight:100;color:#f7f7f7;">[www.52css.com]</span></div><div class="UBBContent">&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#34;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN&#34;&nbsp;&#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#34;&gt;<br/>&lt;html&nbsp;xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34;&nbsp;lang=&#34;UTF-8&#34;&gt;<br/>&lt;head&gt;<br/>&lt;title&gt;CSS背景图片的定位background-position的问题&nbsp;-&nbsp;52CSS.com&lt;/title&gt;<br/>&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>&lt;!--<br/>*{<br/>margin:0;<br/>padding:0;<br/>}&nbsp;<br/><br/>body&nbsp;{<br/>text-align:center;<br/>background:#000;<br/>}<br/><br/>#container{<br/>width:1000px;<br/>margin:0&nbsp;auto;<br/>background:#fff&nbsp;url(images/bg.jpg)&nbsp;no-repeat&nbsp;left&nbsp;top;<br/>height:500px;<br/>}<br/>--&gt;<br/>&lt;/style&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;div&nbsp;id=&#34;container&#34;&gt;&nbsp;&lt;/div&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;&nbsp;</div></div><br/><br/><div align="center"><img src="http://www.52css.com/attachments/month_0912/a2009121322318.jpg" border="0" alt=""/></div><br/><br/>一.background-position:left&nbsp;top;(见图1).<br/>背景图片的左上角和容器(container)的左上角对齐，超出的部分隐藏。<br/>等同于&nbsp;background-position:0,0;<br/>也等同于background-position:0%,0%;<br/><br/>二.background-position:right&nbsp;bottom;(见图2)。<br/>背景图片的右下角和容器(container)的右下角对齐，超出的部分隐藏。<br/>等同于background-positon:100%,100%;<br/>也等同于background-positon:容器(container)的宽度-背景图片的宽度,容器(container)的高度-背景图片的高度<br/><br/>三.background-position:500px&nbsp;15px；(见图3)。<br/>背景图片从容器(container)左上角的地方向右移500px,向下移15px，超出的部分隐藏。<br/><br/>四.background-position:-500px&nbsp;-15px;(见图4)。<br/>背景图片从容器(container)左上角的地方向左移500px，向上移15px，超出的部分隐藏。<br/><br/>五.background-position:50%&nbsp;50%;(见图5)。<br/>等同于left：{容器(container)的宽度—背景图片的宽度}*left百分比，超出的部分隐藏。<br/>等同于right：{容器(container)的高度—背景图片的高度}*right百分比，超出的部分隐藏。<br/>例如：background-position:50%&nbsp;50%;就是background-position:(1000-2000)*50%px,(500-30)*50%px;即background-position:-500px,235px;也就是背景图片从容器(container)的左上角向左移500px，向下移235px；<br/><br/>六.background-position:-50%&nbsp;-50%;(见图6)。<br/>（这种情况背景图片应该用bg2.jpg才能看出效果,bg.jpg的高度太小效果不明显）<br/>等同于left：-{{容器(container)的宽度—背景图片的宽度}*left百分比（百分比都取正值）}，超出的部分隐藏。<br/>等同于right：-{{容器(container)的高度—背景图片的高度}*right百分比（百分比都取正值）}，超出的部分隐藏。<br/>例如：background-position:-50%&nbsp;-50%;就是background-position:-{(1000-500)*50%}px,-{(500-360)*50%}px;即background-&nbsp;position:-250px,-70px;也就是背景图片从容器(container)的左上角向左移250px，向上移70px；&nbsp;<br/>　　　]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.52css.com/default.asp?id=1138" /> 
	  <id>http://www.52css.com/default.asp?id=1138</id> 
  </entry>	
		
</feed>