<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[罗元青's Blog - 多浏览器兼容]]></title>
<link>http://www.spinkonline.com/</link>
<description><![CDATA[我的心情我主宰：个性、感性、敏感、狂野]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[spink@126.com(spink)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>罗元青&#39;s Blog</title> 
	<url>http://www.spinkonline.com/images/logos.gif</url> 
	<link>http://www.spinkonline.com/</link> 
	<description>罗元青&#39;s Blog</description> 
</image>

			<item>
			<link>http://www.spinkonline.com/default.asp?id=101</link>
			<title><![CDATA[IE和FF下CSS样式的区别]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:56:24 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=101</guid>	
		<description><![CDATA[FF对盒模型的解释也不一样，代码说明：#test&nbsp;{&nbsp;width:&nbsp;650px&nbsp;!important;width:&nbsp;648px;padding-left:2px;background:#fff;&nbsp;}<br/>test&nbsp;显示的宽带是&nbsp;650px<br/>IE&nbsp;Box的总宽度是：&nbsp;width+padding+border+margin宽度总和<br/>FF&nbsp;Box的总宽度就是&nbsp;width的宽度，padding+border+margin的宽度在含在width内。<br/>如果有BOX{WIDTH:&#34;300&#34;;&nbsp;PADDING:&#34;5PX&#34;;}<br/>则BOX在IE的宽度应该为:310<br/>而在FF的宽度则是300<br/>所以在BOX有填充的情况下应该这样使用<br/>BOX{WIDTH:&#34;290&#34;!IMPORTANT;&nbsp;WIDTH:&nbsp;&#34;300&#34;;}<br/>这样子才能确保BOX的宽度始终在300px,而不会出现被撑开的现象<br/>而在FF里面则不会造成浮动层填不满的情况<br/>五：ul&nbsp;标签在&nbsp;Mozilla&nbsp;中有&nbsp;padding&nbsp;值的，而在&nbsp;IE&nbsp;中只有&nbsp;margin&nbsp;有值。<br/>设置ul{margin:0;padding:0}<br/>针对firefox&nbsp;ie6&nbsp;ie7的css样式<br/>现在大部分都是用!important来hack，对于ie6和firefox测试可以正常显示，<br/>但是ie7对!important可以正确解释，会导致页面没按要求显示！找到一个针<br/>对IE7不错的hack方式就是使用“*+html”，现在用IE7浏览一下，应该没有问题了。<br/>现在写一个CSS可以这样：<br/>#1&nbsp;{&nbsp;color:&nbsp;#333;&nbsp;}&nbsp;/*&nbsp;Moz&nbsp;*/<br/>*&nbsp;html&nbsp;#1&nbsp;{&nbsp;color:&nbsp;#666;&nbsp;}&nbsp;/*&nbsp;IE6&nbsp;*/<br/>*+html&nbsp;#1&nbsp;{&nbsp;color:&nbsp;#999;&nbsp;}&nbsp;/*&nbsp;IE7&nbsp;*/<br/>那么在firefox下字体颜色显示为#333，IE6下字体颜色显示为#666，IE7下字体颜色显示为#999<br/>可以用”+”来实现只有IE识别的CSS&nbsp;Hack<br/>可能有朋友想到用”_”&nbsp;Hack，但它们是由区别的，因为IE7中是不识别“_”的。所以用+<br/>测试结果：<br/>IE5.5，IE6&nbsp;，IE7浏览器都能识别；<br/>FF2.0，Opera&nbsp;9，Safari&nbsp;2浏览器不识别<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=100</link>
			<title><![CDATA[IE6.0、IE7.0 与 FireFox CSS]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:55:48 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=100</guid>	
		<description><![CDATA[1.DOCTYPE&nbsp;影响&nbsp;CSS&nbsp;处理<br/>2.FF:&nbsp;div&nbsp;设置&nbsp;margin-left,&nbsp;margin-right&nbsp;为&nbsp;auto&nbsp;时已经居中,&nbsp;IE&nbsp;不行<br/>3.FF:&nbsp;body&nbsp;设置&nbsp;text-align&nbsp;时,&nbsp;div&nbsp;需要设置&nbsp;margin:&nbsp;auto(主要是&nbsp;margin-left,margin-right)&nbsp;方可居中<br/>4.FF:&nbsp;设置&nbsp;padding&nbsp;后,&nbsp;div&nbsp;会增加&nbsp;height&nbsp;和&nbsp;width,&nbsp;但&nbsp;IE&nbsp;不会,&nbsp;故需要用&nbsp;!important&nbsp;多设一个&nbsp;height&nbsp;和&nbsp;width<br/><br/><br/>5.FF:&nbsp;支持&nbsp;!important,&nbsp;IE&nbsp;则忽略,&nbsp;可用&nbsp;!important&nbsp;为&nbsp;FF&nbsp;特别设置样式<br/>6.div&nbsp;的垂直居中问题:&nbsp;vertical-align:middle;&nbsp;将行距增加到和整个DIV一样高&nbsp;line-height:200px;&nbsp;然后插入文字，就垂直居中了。缺点是要控制内容不要换行<br/>7.cursor:&nbsp;pointer&nbsp;可以同时在&nbsp;IE&nbsp;FF&nbsp;中显示游标手指状，&nbsp;hand&nbsp;仅&nbsp;IE&nbsp;可以<br/>8.FF:&nbsp;链接加边框和背景色，需设置&nbsp;display:&nbsp;block,&nbsp;同时设置&nbsp;float:&nbsp;left&nbsp;保证不换行。参照&nbsp;menubar,&nbsp;给&nbsp;a&nbsp;和&nbsp;menubar&nbsp;设置高度是为了避免底边显示错位,&nbsp;若不设&nbsp;height,&nbsp;可以在&nbsp;menubar&nbsp;中插入一个空格。<br/>9.在mozilla&nbsp;firefox和IE中的BOX模型解释不一致导致相差2px解决方法：&nbsp;div{margin:30px!important;margin:28px;}注意这两个margin的顺序一定不能写反，据阿捷的说法!&nbsp;important这个属性IE不能识别，但别的浏览器可以识别。所以在IE下其实解释成这样：&nbsp;div{maring:30px;margin:28px}重复定义的话按照最后一个来执行，所以不可以只写margin:XXpx!&nbsp;important;<br/>11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义&nbsp;ul{margin:0;padding:0;}就能解决大部分问题<br/>注意事项：<br/>1、float的div一定要闭合。<br/>例如：(其中floatA、floatB的属性已经设置为float:left;)&nbsp;&lt;#div&nbsp;id=”floatA”&nbsp;&gt;<br/>&lt;#div&nbsp;id=”floatB”&nbsp;&gt;<br/>&lt;#div&nbsp;id=”NOTfloatC”&nbsp;&gt;这里的NOTfloatC并不希望继续平移，而是希望往下排。<br/>这段代码在IE中毫无问题，问题出在FF。原因是NOTfloatC并非float标签，必须将float标签闭合。<br/>在&nbsp;&lt;#div&nbsp;class=”floatB”&gt;<br/>&lt;#div&nbsp;class=”NOTfloatC”&gt;之间加上&nbsp;&lt;#div&nbsp;class=”clear”&gt;这个div一定要注意声明位置，一定要放在最恰当的地方，而且必须与两个具有float属性的div同级，之间不能存在嵌套关系，否则会产生异常。<br/>并且将clear这种样式定义为为如下即可：&nbsp;.clear{<br/>clear:both;}此外，为了让高度能自动适应，要在wrapper里面加上overflow:hidden;<br/>当包含float的box的时候，高度自动适应在IE下无效，这时候应该触发IE的layout私有属性(万恶的IE啊！)用zoom:1;可以做到，这样就达到了兼容。<br/>例如某一个wrapper如下定义：&nbsp;.colwrapper{<br/>overflow:hidden;<br/>zoom:1;<br/>margin:5px&nbsp;auto;}<br/>2、margin加倍的问题<br/>设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。<br/>解决方案是在这个div里面加上display:inline;<br/>例如：<br/>&lt;#div&nbsp;id=”imfloat”&gt;<br/>相应的css为<br/>#IamFloat{<br/>float:left;<br/>margin:5px;/*IE下理解为10px*/<br/>display:inline;/*IE下再理解为5px*/}<br/>3、关于容器的包涵关系<br/>很多时候，尤其是容器内有平行布局，例如两、三个float的div时，宽度很容易出现问题。在IE中，外层的宽度会被内层更宽的div挤破。一定要用Photoshop或者Firework量取像素级的精度。<br/>4、关于高度的问题<br/>如果是动态地添加内容，高度最好不要定义。浏览器可以自动伸缩，然而如果是静态的内容，高度最好定好。（似乎有时候不会自动往下撑开，不知道具体怎么回事）<br/>5、最狠的手段&nbsp;-&nbsp;!important;<br/>如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下&nbsp;.tabd1{<br/>background:url(/res/images/up/tab1.gif)&nbsp;no-repeat&nbsp;0px&nbsp;0px&nbsp;!important;&nbsp;/*Style&nbsp;for&nbsp;FF*/<br/>background:url(/res/images/up/tab1.gif)&nbsp;no-repeat&nbsp;1px&nbsp;0px;&nbsp;/*&nbsp;Style&nbsp;for&nbsp;IE&nbsp;*/}值得注意的是，一定要将xxxx&nbsp;!important&nbsp;这句放置在另一句之上，上面已经提过<br/>IE7.0出来了，对CSS的支持又有新问题。浏览器多了，网页兼容性更差了，疲于奔命的还是我们&nbsp;，为解决IE7.0的兼容问题，找来了下面这篇文章：<br/>现在我大部分都是用!important来hack，对于ie6和firefox测试可以正常显示，但是ie7对!important可以正确解释，会导致页面没按要求显示！搜索了一下，找到一个针对IE7不错的hack方式就是使用“*+html”，现在用IE7浏览一下，应该没有问题了。<br/>现在写一个CSS可以这样：<br/>#example&nbsp;{&nbsp;color:&nbsp;#333;&nbsp;}&nbsp;/*&nbsp;Moz&nbsp;*/<br/>*&nbsp;html&nbsp;#example&nbsp;{&nbsp;color:&nbsp;#666;&nbsp;}&nbsp;/*&nbsp;IE6&nbsp;*/<br/>*+html&nbsp;#example&nbsp;{&nbsp;color:&nbsp;#999;&nbsp;}&nbsp;/*&nbsp;IE7&nbsp;*/<br/>那么在firefox下字体颜色显示为#333，IE6下字体颜色显示为#666，IE7下字体颜色显示为#999.<br/>CSS兼容IE6,IE7,FIREFOX的一些收集<br/>第一种，是CSS&nbsp;HACK的方法<br/><br/>height:20px;&nbsp;/*For&nbsp;Firefox*/<br/>*height:25px;&nbsp;/*For&nbsp;IE7&nbsp;&amp;&nbsp;IE6*/<br/>_height:20px;&nbsp;/*For&nbsp;IE6*/<br/><br/>注意顺序。<br/><br/>这样也属于CSS&nbsp;HACK，不过没有上面这样简洁。<br/>#example&nbsp;{&nbsp;color:&nbsp;#333;&nbsp;}&nbsp;/*&nbsp;Moz&nbsp;*/<br/>*&nbsp;html&nbsp;#example&nbsp;{&nbsp;color:&nbsp;#666;&nbsp;}&nbsp;/*&nbsp;IE6&nbsp;*/<br/>*+html&nbsp;#example&nbsp;{&nbsp;color:&nbsp;#999;&nbsp;}&nbsp;/*&nbsp;IE7&nbsp;*/<br/><br/>第二种是使用IE专用的条件注释<br/>&lt;!--其他浏览器&nbsp;--&gt;<br/>&lt;link&nbsp;rel=&#34;stylesheet&#34;&nbsp;type=&#34;text/css&#34;&nbsp;href=&#34;css.css&#34;&nbsp;/&gt;<br/><br/>&lt;!--[if&nbsp;IE&nbsp;7]&gt;<br/>&lt;!--&nbsp;适合于IE7&nbsp;--&gt;<br/>&lt;link&nbsp;rel=&#34;stylesheet&#34;&nbsp;type=&#34;text/css&#34;&nbsp;href=&#34;ie7.css&#34;&nbsp;/&gt;<br/>&lt;![endif]--&gt;<br/><br/>&lt;!--[if&nbsp;lte&nbsp;IE&nbsp;6]&gt;<br/>&lt;!--&nbsp;适合于IE6及一下&nbsp;--&gt;<br/>&lt;link&nbsp;rel=&#34;stylesheet&#34;&nbsp;type=&#34;text/css&#34;&nbsp;href=&#34;ie.css&#34;&nbsp;/&gt;<br/>&lt;![endif]--&gt;<br/><br/>第三种css&nbsp;filter的办法，以下为经典从国外网站翻译过来的。.<br/><br/>新建一个css样式如下：<br/><br/>#item&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;200px;<br/>&nbsp;&nbsp;&nbsp;&nbsp;height:&nbsp;200px;<br/>&nbsp;&nbsp;&nbsp;&nbsp;background:&nbsp;red;<br/>}&nbsp;<br/>新建一个div,并使用前面定义的css的样式：<br/><br/>&lt;div&nbsp;id=&#34;item&#34;&gt;some&nbsp;text&nbsp;here&lt;/div&gt;&nbsp;<br/><br/>在body表现这里加入lang属性,中文为zh：<br/><br/>&lt;body&nbsp;lang=&#34;en&#34;&gt;&nbsp;<br/><br/>现在对div元素再定义一个样式：<br/><br/>*:lang(en)&nbsp;#item{<br/>&nbsp;&nbsp;&nbsp;&nbsp;background:green&nbsp;!important;<br/>}&nbsp;<br/><br/>这样做是为了用!important覆盖原来的css样式,由于:lang选择器ie7.0并不支持,所以对这句话不会有任何作用,于是也达到了ie6.0下同样的效果,但是很不幸地的是,safari同样不支持此属性,所以需要加入以下css样式：<br/><br/>#item:empty&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;background:&nbsp;green&nbsp;!important<br/>}&nbsp;<br/>:empty选择器为css3的规范,尽管safari并不支持此规范,但是还是会选择此元素,不管是否此元素存在,现在绿色会现在在除ie各版本以外的浏览器上。<br/><br/>对IE6和FF的兼容可以考虑以前的!important<br/><br/>个人比较喜欢用第一种，简洁，兼容性比较好。<br/>&nbsp;<br/>或许你一直在抱怨为什么要专门为IE和FF写不同的CSS，为什么IE这样让人头疼，然后一边写css，一边咒骂那个可恶的M$&nbsp;IE.其实对于css的标准支持方面，IE并没有我们想象的那么可恶，关键在于IE和FF的默认值不一样而已，掌握了这个技巧，你会发现写出兼容FF和IE的css并不是那么困难，或许对于简单的css，你完全可以不用”!important”这个东西了。<br/><br/>我们都知道，浏览器在显示网页的时候，都会根据网页的css样式表来决定如何显示，但是我们在样式表中未必会将所有的元素都进行了具体的描述，当然也没有必要那么做，所以对于那些没有描述的属性，浏览器将采用内置默认的方式来进行显示，譬如文字，如果你没有在css中指定颜色，那么浏览器将采用黑色或者系统颜色来显示，div或者其他元素的背景，如果在css中没有被指定，浏览器则将其设置为白色或者透明，等等其他未定义的样式均如此。所以有很多东西出现FF和IE显示不一样的根本原因在于它们的默认显示不一样，而这个默认样式该如何显示我知道在w3中有没有对应的标准来进行规定，因此对于这点也就别去怪罪IE了。所以解决办法就出来了，那就是对于不统一的默认显示方式，在css中给指定具体数值就可以了，下面我将就我知道的默认标签来进行说明。<br/><br/>列表标签UL&nbsp;LI，这个是朋友抱怨得最多的标签，说每次遇到这个标签的时候IE和FF总是显示不一致。行，既然如此，你何不在样式表中将这个标签的属性给定义了，如&nbsp;ul{padding:0;margin:0;}，然后再看看，是不是一致了？对于ul标签，IE会自动缩进几个像素，而FF则不是这样，所以这就是根本原因.当然,我上面的定义肯定显示不太美观,这个时候你可以手动进行调节,譬如调节成&nbsp;{padding:0;margin:0&nbsp;0&nbsp;0&nbsp;10px;list-style-position:&nbsp;inside;},所以今后对于这个标签,只要你发现IE和FF不一致,就去看看对应的css有哪些属性,然后进行夸张的描述,用IE和FireFox查看之,如果一致则有效.FORM标签,这个标签在IE中,将会自动margin一些边距,而在FF中margin则是0,因此,如果想显示一致,所以最好在css中指定margin和padding,针对上面两个问题,我的css中一般首先都使用这样的样式ul,form{margin:0;padding:0;}给定义死了,所以后面就不会为这个头疼了.<br/><br/>关于更多默认值不同的标签,希望大家继续发掘,希望此文能抛砖引玉.<br/><br/>下面的问题不是默认值的问题了.<br/><br/>对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float&nbsp;div后面做一个统一的背景,譬如:&lt;div&nbsp;id=”page”&gt;&nbsp;&lt;div&nbsp;id=”left”&gt;&lt;/div&gt;&nbsp;&lt;div&nbsp;id=”center”&gt;&lt;/div&gt;&nbsp;&lt;div&nbsp;id=”right”&gt;&lt;/div&gt;&nbsp;&lt;/div&gt;,比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left&nbsp;center&nbsp;right的向下拉长,而page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成float,所以我们应该这样解决&lt;div&nbsp;id=”page”&gt;&nbsp;&lt;div&nbsp;id=”bg”&nbsp;style=”float:left;width:100%”&gt;&lt;div&nbsp;id=”left”&gt;&lt;/div&gt;&nbsp;&lt;div&nbsp;id=”center”&gt;&lt;/div&gt;&nbsp;&lt;div&nbsp;id=”right”&gt;&lt;/div&gt;&nbsp;&lt;/div&gt;&lt;/div&gt;,再嵌入一个float&nbsp;left而宽度是100%的DIV解决之.<br/><br/>1,&nbsp;!important<br/><br/>随着IE7对!important的支持,&nbsp;!important&nbsp;方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)<br/>&lt;style&gt;<br/>#wrapper<br/>{<br/>width:&nbsp;100px!important;&nbsp;/*&nbsp;IE7+FF&nbsp;*/<br/>width:&nbsp;80px;&nbsp;/*&nbsp;IE6&nbsp;*/<br/>}<br/>&lt;/style&gt;<br/><br/><br/>2,&nbsp;IE6/IE77对FireFox<br/><br/>*+html&nbsp;与&nbsp;*html&nbsp;是IE特有的标签,&nbsp;firefox&nbsp;暂不支持.而*+html&nbsp;又为&nbsp;IE7特有标签.<br/>&lt;style&gt;<br/>#wrapper<br/>{<br/>#wrapper&nbsp;{&nbsp;width:&nbsp;120px;&nbsp;}&nbsp;/*&nbsp;FireFox&nbsp;*/<br/>*html&nbsp;#wrapper&nbsp;{&nbsp;width:&nbsp;80px;}&nbsp;/*&nbsp;ie6&nbsp;fixed&nbsp;*/<br/>*+html&nbsp;#wrapper&nbsp;{&nbsp;width:&nbsp;60px;}&nbsp;/*&nbsp;ie7&nbsp;fixed,&nbsp;注意顺序&nbsp;*/<br/>}<br/>&lt;/style&gt;<br/><br/><br/>注意:<br/>*+html&nbsp;对IE7的HACK&nbsp;必须保证HTML顶部有如下声明：<br/>&lt;!DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;&#34;-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN&#34;　&#34;<a href="http://www.w3.org/TR/html4/loose.dtd" target="_blank">http://www.w3.org/TR/html4/loose.dtd</a>&#34;&gt;<br/><br/>二、万能&nbsp;float&nbsp;闭合(非常重要!)<br/><br/>关于&nbsp;clear&nbsp;float&nbsp;的原理可参见&nbsp;[How&nbsp;To&nbsp;Clear&nbsp;Floats&nbsp;Without&nbsp;Structural&nbsp;Markup]<br/>将以下代码加入Global&nbsp;CSS&nbsp;中,给需要闭合的div加上&nbsp;class=&#34;clearfix&#34;&nbsp;即可,屡试不爽.<br/>&lt;style&gt;<br/>/*&nbsp;Clear&nbsp;Fix&nbsp;*/<br/><br/>.clearfix:after<br/>{<br/>content:&#34;.&#34;;<br/>display:block;<br/>height:0;<br/>clear:both;<br/>visibility:hidden;<br/>}<br/>.clearfix<br/>{<br/>display:inline-block;<br/>}<br/>/*&nbsp;Hide&nbsp;from&nbsp;IE&nbsp;Mac&nbsp;*/<br/>.clearfix&nbsp;{display:block;}<br/>/*&nbsp;End&nbsp;hide&nbsp;from&nbsp;IE&nbsp;Mac&nbsp;*/<br/>/*&nbsp;end&nbsp;of&nbsp;clearfix&nbsp;*/<br/>&lt;/style&gt;<br/><br/>三、其他兼容技巧(再次啰嗦)<br/><br/>1,&nbsp;FF下给&nbsp;div&nbsp;设置&nbsp;padding&nbsp;后会导致&nbsp;width&nbsp;和&nbsp;height&nbsp;增加,&nbsp;但IE不会.(可用!important解决)<br/>2,&nbsp;居中问题.<br/>1).垂直居中.将&nbsp;line-height&nbsp;设置为&nbsp;当前&nbsp;div&nbsp;相同的高度,&nbsp;再通过&nbsp;vertical-align:&nbsp;middle.(&nbsp;注意内容不要换行.)<br/>2).水平居中.&nbsp;margin:&nbsp;0&nbsp;auto;(当然不是万能)<br/>3,&nbsp;若需给&nbsp;a&nbsp;标签内内容加上&nbsp;样式,&nbsp;需要设置&nbsp;display:&nbsp;block;(常见于导航标签)<br/>4,&nbsp;FF&nbsp;和&nbsp;IE&nbsp;对&nbsp;BOX&nbsp;理解的差异导致相差&nbsp;2px&nbsp;的还有设为&nbsp;float的div在ie下&nbsp;margin加倍等问题.<br/>5,&nbsp;ul&nbsp;标签在&nbsp;FF&nbsp;下面默认有&nbsp;list-style&nbsp;和&nbsp;padding&nbsp;.&nbsp;最好事先声明,&nbsp;以避免不必要的麻烦.&nbsp;(常见于导航标签和内容列表)<br/>6,&nbsp;作为外部&nbsp;wrapper&nbsp;的&nbsp;div&nbsp;不要定死高度,&nbsp;最好还加上&nbsp;overflow:&nbsp;hidden.以达到高度自适应.<br/>7,&nbsp;关于手形光标.&nbsp;cursor:&nbsp;pointer.&nbsp;而hand&nbsp;只适用于&nbsp;IE.<br/><br/>1&nbsp;针对firefox&nbsp;ie6&nbsp;ie7的css样式&nbsp;<br/>现在大部分都是用!important来hack，对于ie6和firefox测试可以正常显示，<br/>但是ie7对!important可以正确解释，会导致页面没按要求显示！找到一个针<br/>对IE7不错的hack方式就是使用“*+html”，现在用IE7浏览一下，应该没有问题了。&nbsp;<br/>现在写一个CSS可以这样：&nbsp;<br/><br/>#1&nbsp;{&nbsp;color:&nbsp;#333;&nbsp;}&nbsp;/*&nbsp;Moz&nbsp;*/&nbsp;<br/>*&nbsp;html&nbsp;#1&nbsp;{&nbsp;color:&nbsp;#666;&nbsp;}&nbsp;/*&nbsp;IE6&nbsp;*/&nbsp;<br/>*+html&nbsp;#1&nbsp;{&nbsp;color:&nbsp;#999;&nbsp;}&nbsp;/*&nbsp;IE7&nbsp;*/&nbsp;<br/>那么在firefox下字体颜色显示为#333，IE6下字体颜色显示为#666，IE7下字体颜色显示为#999。<br/><br/>2&nbsp;css布局中的居中问题&nbsp;<br/>主要的样式定义如下：<br/><br/>body&nbsp;{TEXT-ALIGN:&nbsp;center;}<br/>#center&nbsp;{&nbsp;MARGIN-RIGHT:&nbsp;auto;&nbsp;MARGIN-LEFT:&nbsp;auto;&nbsp;}&nbsp;<br/>说明：<br/>首先在父级元素定义TEXT-ALIGN:&nbsp;center;这个的意思就是在父级元素内的内容居中；对于IE这样设定就已经可以了。<br/>但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT:&nbsp;auto;MARGIN-LEFT:&nbsp;auto;&nbsp;”<br/>需要说明的是，如果你想用这个方法使整个页面要居中，建议不要套在一个DIV里，你可以依次拆出多个div，<br/>只要在每个拆出的div里定义MARGIN-RIGHT:&nbsp;auto;MARGIN-LEFT:&nbsp;auto;&nbsp;就可以了。<br/><br/>3&nbsp;盒模型不同解释.<br/><br/>#box{&nbsp;width:600px;&nbsp;//for&nbsp;ie6.0-&nbsp;w\idth:500px;&nbsp;//for&nbsp;ff+ie6.0}<br/>#box{&nbsp;width:600px!important&nbsp;//for&nbsp;ff&nbsp;width:600px;&nbsp;//for&nbsp;ff+ie6.0&nbsp;width&nbsp;/**/:500px;&nbsp;//for&nbsp;ie6.0-}&nbsp;<br/><br/>4&nbsp;浮动ie产生的双倍距离<br/><br/>#box{&nbsp;float:left;&nbsp;width:100px;&nbsp;margin:0&nbsp;0&nbsp;0&nbsp;100px;&nbsp;//这种情况之下IE会产生200px的距离&nbsp;display:inline;&nbsp;//使浮动忽略}<br/>这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,...不可控制(内嵌元素);<br/><br/>#box{&nbsp;display:block;&nbsp;//可以为内嵌元素模拟为块元素&nbsp;display:inline;&nbsp;//实现同一行排列的的效果&nbsp;diplay:table;<br/><br/>5&nbsp;IE与宽度和高度的问题<br/><br/>IE不认得min-这个定义，但实际上它把正常的width和height当作有min的情况来使。这样问题就大了，如果只用宽度和高度，<br/>正常的浏览器里这两个值就不会变，如果只用min-width和min-height的话，IE下面根本等于没有设置宽度和高度。<br/>比如要设置背景图片，这个宽度是比较重要的。要解决这个问题，可以这样：<br/>#box{&nbsp;width:&nbsp;80px;&nbsp;height:&nbsp;35px;}html&gt;body&nbsp;#box{&nbsp;width:&nbsp;auto;&nbsp;height:&nbsp;auto;&nbsp;min-width:&nbsp;80px;&nbsp;min-height:&nbsp;35px;}<br/><br/>6&nbsp;页面的最小宽度<br/><br/>min-width是个非常方便的CSS命令，它可以指定元素最小也不能小于某个宽度，这样就能保证排版一直正确。但IE不认得这个，<br/>而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用，可以把一个&lt;div&gt;&nbsp;放到&nbsp;&lt;body&gt;&nbsp;标签下，然后为div指定一个类：<br/>然后CSS这样设计：<br/>#container{&nbsp;min-width:&nbsp;600px;&nbsp;width:expression(document.body.clientWidth&nbsp;&lt;&nbsp;600?&nbsp;&#34;600px&#34;:&nbsp;&#34;auto&#34;&nbsp;);}<br/>第一个min-width是正常的；但第2行的width使用了Javascript，这只有IE才认得，这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。<br/><br/>7&nbsp;清除浮动<br/><br/>.hackbox{&nbsp;display:table;&nbsp;//将对象作为块元素级的表格显示}或者.hackbox{&nbsp;clear:both;}<br/>或者加入:after（伪对象）,设置在对象后发生的内容，通常和content配合使用，IE不支持此伪对象，非Ie&nbsp;浏览器支持，<br/>所以并不影响到IE/WIN浏览器。这种的最麻烦的......#box:after{&nbsp;content:&nbsp;&#34;.&#34;;&nbsp;display:&nbsp;block;&nbsp;height:&nbsp;0;&nbsp;clear:&nbsp;both;&nbsp;visibility:&nbsp;hidden;}&nbsp;<br/><br/>8&nbsp;DIV浮动IE文本产生3象素的bug<br/><br/>左边对象浮动，右边采用外补丁的左边距来定位，右边对象内的文本会离左边有3px的间距.<br/><br/>#box{&nbsp;float:left;&nbsp;width:800px;}#left{&nbsp;float:left;&nbsp;width:50%;}#right{&nbsp;width:50%;}*html&nbsp;#left{&nbsp;margin-right:-3px;&nbsp;//这句是关键}<br/>HTML代码&lt;div&nbsp;id=&#34;box&#34;&gt;&nbsp;&lt;div&nbsp;id=&#34;left&#34;&gt;&lt;/div&gt;&nbsp;&lt;div&nbsp;id=&#34;right&#34;&gt;&lt;/div&gt;&lt;/div&gt;<br/><br/>9&nbsp;属性选择器(这个不能算是兼容,是隐藏css的一个bug)<br/><br/>p[id]{}div[id]{}<br/>这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用<br/>属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.<br/><br/>10&nbsp;IE捉迷藏的问题<br/><br/>当div应用复杂的时候每个栏中又有一些链接，DIV等这个时候容易发生捉迷藏的问题。<br/>有些内容显示不出来，当鼠标选择这个区域是发现内容确实在页面。<br/>解决办法：对#layout使用line-height属性&nbsp;或者给#layout使用固定高和宽。页面结构尽量简单。<br/><br/>11&nbsp;高度不适应<br/><br/>高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节，特别是当内层对象使用<br/>margin&nbsp;或paddign&nbsp;时。<br/>例：<br/>&lt;div&nbsp;id=&#34;box&#34;&gt;&nbsp;<br/>&lt;p&gt;p对象中的内容&lt;/p&gt;&nbsp;<br/>&lt;/div&gt;&nbsp;<br/>CSS：#box&nbsp;{background-color:#eee;&nbsp;}&nbsp;<br/>#box&nbsp;p&nbsp;{margin-top:&nbsp;20px;margin-bottom:&nbsp;20px;&nbsp;text-align:center;&nbsp;}<br/>解决方法：在P对象上下各加2个空的div对象CSS代码：.1{height:0px;overflow:hidden;}或者为DIV加上border属性。]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=99</link>
			<title><![CDATA[IE和Firefox在css,JavaScript方面的兼容]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:54:34 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=99</guid>	
		<description><![CDATA[1.document.formName.item(&#34;itemName&#34;)&nbsp;问题<br/><br/>说明:IE下,可以使用document.formName.item(&#34;itemName&#34;)或document.formName.elements[&#34;elementName&#34;];Firefox下,只能使用document.formName.elements[&#34;elementName&#34;].<br/><br/>解决方法:统一使用document.formName.elements[&#34;elementName&#34;].<br/><br/>2.集合类对象问题<br/><br/>说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象.<br/><br/>解决方法:统一使用[]获取集合类对象.<br/><br/>3.自定义属性问题<br/><br/>说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性.<br/><br/>解决方法:统一通过getAttribute()获取自定义属性.<br/><br/>4.eval(&#34;idName&#34;)问题<br/><br/>说明:IE下,,可以使用eval(&#34;idName&#34;)或getElementById(&#34;idName&#34;)来取得id为idName的HTML对象;Firefox下只能使用getElementById(&#34;idName&#34;)来取得id为idName的HTML对象.<br/><br/>解决方法:统一用getElementById(&#34;idName&#34;)来取得id为idName的HTML对象.&nbsp;<br/><br/>5.变量名与某HTML对象ID相同的问题<br/><br/>说明:IE下,HTML对象的ID可以作为document的下属对象变量名直接使用;Firefox下则不能.Firefox下,可以使用与HTML对象ID相同的变量名;IE下则不能。<br/><br/>解决方法:使用document.getElementById(&#34;idName&#34;)代替document.idName.最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var,以避免歧义.<br/><br/>6.const问题<br/><br/>说明:Firefox下,可以使用const关键字或var关键字来定义常量;IE下,只能使用var关键字来定义常量.<br/><br/>解决方法:统一使用var关键字来定义常量.<br/><br/>7.input.type属性问题<br/><br/>说明:IE下input.type属性为只读;但是Firefox下input.type属性为读写.<br/><br/>8.window.event问题<br/><br/>说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用.<br/><br/>解决方法:<br/><br/>IE:<br/><br/>&lt;input&nbsp;name=&#34;Button8_1&#34;&nbsp;type=&#34;button&#34;&nbsp;value=&#34;IE&#34;&nbsp;onclick=&#34;javascript:gotoSubmit8_1()&#34;/&gt;<br/><br/>...<br/><br/>&lt;script&nbsp;language=&#34;javascript&#34;&gt;<br/><br/>function&nbsp;gotoSubmit8_1()&nbsp;{<br/><br/>...<br/><br/>alert(window.event);&nbsp;//use&nbsp;window.event<br/><br/>...<br/><br/>}<br/><br/>&lt;/script&gt;<br/><br/>IE&amp;Firefox:<br/><br/>&lt;input&nbsp;name=&#34;Button8_2&#34;&nbsp;type=&#34;button&#34;&nbsp;value=&#34;IE&#34;&nbsp;onclick=&#34;javascript:gotoSubmit8_2(event)&#34;/&gt;<br/><br/>...<br/><br/>&lt;script&nbsp;language=&#34;javascript&#34;&gt;<br/><br/>function&nbsp;gotoSubmit8_2(evt)&nbsp;{<br/><br/>...<br/><br/>evt=evt?evt:(window.event?window.event:null);<br/><br/>alert(evt);&nbsp;//use&nbsp;evt<br/><br/>...<br/><br/>}<br/><br/>&lt;/script&gt;<br/><br/>9.event.x与event.y问题<br/><br/>说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性.<br/><br/>解决方法:使用mX(mX&nbsp;=&nbsp;event.x&nbsp;?&nbsp;event.x&nbsp;:&nbsp;event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.<br/><br/>10.event.srcElement问题<br/><br/>说明:IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.<br/><br/>解决方法:使用obj(obj&nbsp;=&nbsp;event.srcElement&nbsp;?&nbsp;event.srcElement&nbsp;:&nbsp;event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.&nbsp;<br/><br/>11.window.location.href问题<br/><br/>说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location.<br/><br/>解决方法:使用window.location来代替window.location.href.<br/><br/>12.模态和非模态窗口问题<br/><br/>说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能.<br/><br/>解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口.&nbsp;例如：var&nbsp;parWin&nbsp;=&nbsp;window.opener;&nbsp;parWin.document.getElementById(&#34;Aqing&#34;).value&nbsp;=&nbsp;&#34;Aqing&#34;;<br/><br/>13.frame问题<br/><br/>以下面的frame为例：<br/><br/>&lt;frame&nbsp;src=&#34;xxx.html&#34;&nbsp;id=&#34;frameId&#34;&nbsp;name=&#34;frameName&#34;&nbsp;/&gt;<br/><br/>(1)访问frame对象:<br/><br/>IE:使用window.frameId或者window.frameName来访问这个frame对象.<br/><br/>Firefox:只能使用window.frameName来访问这个frame对象.<br/><br/>另外，在IE和Firefox中都可以使用window.document.getElementById(&#34;frameId&#34;)来访问这个frame对象.<br/><br/>(2)切换frame内容:<br/><br/>在IE和Firefox中都可以使用window.document.getElementById(&#34;testFrame&#34;).src&nbsp;=&nbsp;&#34;xxx.html&#34;或window.frameName.location&nbsp;=&nbsp;&#34;xxx.html&#34;来切换frame的内容.<br/><br/>如果需要将frame中的参数传回父窗口，可以在frme中使用parent来访问父窗口。例如：parent.document.form1.filename.value=&#34;Aqing&#34;;<br/><br/>14.body问题<br/><br/>Firefox的body在body标签没有被浏览器完全读入之前就存在；而IE的body则必须在body标签被浏览器完全读入之后才存在.<br/><br/>例如：<br/><br/>Firefox：<br/><br/>&lt;body&gt;<br/><br/>&lt;script&nbsp;type=&#34;text/javascript&#34;&gt;<br/><br/>document.body.onclick&nbsp;=&nbsp;function(evt){<br/><br/>evt&nbsp;=&nbsp;evt&nbsp;||&nbsp;window.event;<br/><br/>alert(evt);<br/><br/>}<br/><br/>&lt;/script&gt;<br/><br/>&lt;/body&gt;<br/><br/>IE&amp;Firefox：<br/><br/>&lt;body&gt;<br/><br/>&lt;/body&gt;<br/><br/>&lt;script&nbsp;type=&#34;text/javascript&#34;&gt;<br/><br/>document.body.onclick&nbsp;=&nbsp;function(evt){<br/><br/>evt&nbsp;=&nbsp;evt&nbsp;||&nbsp;window.event;<br/><br/>alert(evt);<br/><br/>}&nbsp;&lt;/script&gt;<br/><br/>15.&nbsp;事件委托方法<br/><br/>IE：document.body.onload&nbsp;=&nbsp;inject;&nbsp;//Function&nbsp;inject()在这之前已被实现<br/><br/>Firefox：document.body.onload&nbsp;=&nbsp;inject();<br/><br/>有人说标准是：<br/><br/>document.body.onload=new&nbsp;Function(&#39;inject()&#39;);<br/><br/>16.&nbsp;firefox与IE(parentElement)的父元素的区别<br/><br/>IE：obj.parentElement<br/><br/>firefox：obj.parentNode<br/><br/>解决方法:&nbsp;因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.<br/><br/>17.cursor:hand&nbsp;VS&nbsp;cursor:pointer<br/><br/>firefox不支持hand，但ie支持pointer<br/><br/>解决方法:&nbsp;统一使用pointer<br/><br/>18.innerText在IE中能正常工作，但是innerText在FireFox中却不行.<br/><br/>解决方法:<br/><br/>if(navigator.appName.indexOf(&#34;Explorer&#34;)&nbsp;&gt;&nbsp;-1){<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#39;element&#39;).innerText&nbsp;=&nbsp;&#34;my&nbsp;text&#34;;<br/><br/>}&nbsp;else{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#39;element&#39;).textContent&nbsp;=&nbsp;&#34;my&nbsp;text&#34;;<br/><br/>}<br/><br/>19.&nbsp;FireFox中类似&nbsp;obj.style.height&nbsp;=&nbsp;imgObj.height&nbsp;的语句无效<br/><br/>解决方法：<br/><br/>obj.style.height&nbsp;=&nbsp;imgObj.height&nbsp;+&nbsp;&#39;px&#39;;<br/><br/>20.&nbsp;ie,firefox以及其它浏览器对于&nbsp;table&nbsp;标签的操作都各不相同，在ie中不允许对table和tr的innerHTML赋值，使用js增加一个tr时，使用appendChile方法也不管用。<br/><br/>解决方法：<br/><br/>//向table追加一个空行：<br/><br/>var&nbsp;row&nbsp;=&nbsp;otable.ins&#101;rtRow(-1);<br/><br/>var&nbsp;cell&nbsp;=&nbsp;document.cr&#101;ateElement(&#34;td&#34;);<br/><br/>cell.innerHTML&nbsp;=&nbsp;&#34;&nbsp;&#34;;<br/><br/>cell.className&nbsp;=&nbsp;&#34;XXXX&#34;;<br/><br/>row.appendChild(cell);<br/><br/>21.&nbsp;padding&nbsp;问题<br/><br/>padding&nbsp;5px&nbsp;4px&nbsp;3px&nbsp;1px&nbsp;FireFox无法解释简写,必须改成&nbsp;padding-top:5px;&nbsp;padding-right:4px;&nbsp;padding-bottom:3px;&nbsp;padding-left:1px;<br/><br/>22.&nbsp;消除ul、ol等列表的缩进时<br/><br/>样式应写成:list-style:none;margin:0px;padding:0px;<br/><br/>其中margin属性对IE有效，padding属性对FireFox有效<br/><br/>23.&nbsp;CSS透明<br/><br/>IE：filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。<br/><br/>FF：opacity:0.6。<br/><br/>24.&nbsp;CSS圆角<br/><br/>IE：不支持圆角。<br/><br/>FF：&nbsp;-moz-border-radius:4px，或者-moz-border-radius-topleft:4px;-moz-border-&nbsp;radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-&nbsp;bottomright:4px;。<br/><br/>25.&nbsp;CSS双线凹凸边框<br/><br/>IE：border:2px&nbsp;outset;。<br/><br/>FF：&nbsp;-moz-border-top-colors:&nbsp;#d4d0c8&nbsp;white;-moz-border-left-colors:&nbsp;#d4d0c8&nbsp;white;-moz-border-right-colors:#404040&nbsp;#808080;-moz-border-bottom-colors:#404040&nbsp;#808080;<br/><br/>以下以&nbsp;IE&nbsp;代替&nbsp;Internet&nbsp;Explorer，以&nbsp;MF或FF代替&nbsp;Mozzila&nbsp;Firefox<br/><br/>1：innerText<br/><br/>IE支持，FIREFOX不支持<br/><br/>解决办法：用innerHTML,2种浏览器都识别innerHTML<br/><br/>2：document.cr&#101;ateElement<br/><br/>document.appendChild<br/><br/>在往表里插入行时<br/><br/>FIREFOX支持，IE不支持<br/><br/>解决办法：把行插入到TBODY中，不要直接插入到表<br/><br/>3：setAttribute(&#39;style&#39;,&#39;color:red;&#39;)<br/><br/>FIREFOX支持(除了IE，现在所有浏览器都支持)，IE不支持<br/><br/>解决办法：不用setAttribute(&#39;style&#39;,&#39;color:red&#39;)<br/><br/>而用object.style.cssText&nbsp;=&nbsp;&#39;color:red;&#39;(这写法也有例外)<br/><br/>最好的办法是上面种方法都用上，万无一失&nbsp;^_^<br/><br/>4:class<br/><br/>setAttribute(&#39;class&#39;,&#39;styleClass&#39;)<br/><br/>FIREFOX支持，IE不支持(指定属性名为CLASS，IE不会设置元素的CLASS属性，相反只使用SETATTRIBUTE时IE自动识别CLASSNAME属性)<br/><br/>解决办法：<br/><br/>setAttribute(&#39;class&#39;,&#39;styleClass&#39;)<br/><br/>setAttribute(&#39;className&#39;,&#39;styleClass&#39;)<br/><br/>2种都用上（注：IE和FF都支持object.className）<br/><br/>5:用setAttribute设置事件<br/><br/>var&nbsp;obj&nbsp;=&nbsp;document.getElementById(&#39;objId&#39;);<br/><br/>obj.setAttribute(&#39;onclick&#39;,&#39;funcitonname();&#39;);<br/><br/>FIREFOX支持，IE不支持<br/><br/>解决办法：<br/><br/>IE中必须用点记法来引用所需的事件处理程序,并且要用赋予匿名函数<br/><br/>如下：<br/><br/>var&nbsp;obj&nbsp;=&nbsp;document.getElementById(&#39;objId&#39;);<br/><br/>obj.onclick=function(){fucntionname();};<br/><br/>这种方法所有浏览器都支持<br/><br/>6：建立单选钮<br/><br/>IE以外的浏览器<br/><br/>var&nbsp;rdo&nbsp;=&nbsp;document.cr&#101;ateElement(&#39;input&#39;);<br/><br/>rdo.setAttribute(&#39;type&#39;,&#39;radio&#39;);<br/><br/>rdo.setAttribute(&#39;name&#39;,&#39;radiobtn&#39;);<br/><br/>rdo.setAttribute(&#39;value&#39;,&#39;checked&#39;);<br/><br/>IE:<br/><br/>var&nbsp;rdo&nbsp;=document.cr&#101;ateElement(&#34;&lt;input&nbsp;type=&#39;radio&#39;&nbsp;name=&#39;radiobtn&#39;&nbsp;value=&#39;checked&#39;&gt;&#34;);<br/><br/>解决办法：<br/><br/>这一点区别和前面的都不一样。这次完全不同，所以找不到共同的办法来解决，那么只有IF-ELSE了<br/><br/>万幸的是，IE可以识别出document的uniqueID属性，别的浏览器都不可以识别出这一属性。问题解决。<br/><br/>0：共同的一些技巧<br/><br/>在动态建立INPUT型输入元素时，一般是先加入，在设置TYPE。这就有可能出错<br/><br/>好习惯：var&nbsp;btn&nbsp;=&nbsp;document.cr&#101;ateElement(&#39;input&#39;);<br/><br/>btn.setAttribut(&#39;type&#39;,&#39;button&#39;);<br/><br/>document.getElementById(&#39;formId&#39;).appendChild(btn);<br/><br/>==================================================================================<br/><br/>1.&nbsp;document.form.item&nbsp;问题<br/><br/>(1)现有问题：<br/><br/>现有代码中存在许多&nbsp;document.formName.item(&#34;itemName&#34;)&nbsp;这样的语句，不能在&nbsp;MF&nbsp;下运行<br/><br/>(2)解决方法：<br/><br/>改用&nbsp;document.formName.elements[&#34;elementName&#34;]<br/><br/>(3)其它<br/><br/>参见&nbsp;2<br/><br/>2.&nbsp;集合类对象问题<br/><br/>(1)现有问题：<br/><br/>现有代码中许多集合类对象取用时使用&nbsp;()，IE&nbsp;能接受，MF&nbsp;不能。<br/><br/>(2)解决方法：<br/><br/>改用&nbsp;[]&nbsp;作为下标运算。如：document.forms(&#34;formName&#34;)&nbsp;改为&nbsp;document.forms[&#34;formName&#34;]。<br/><br/>又如：document.getElementsByName(&#34;inputName&#34;)(1)&nbsp;改为&nbsp;document.getElementsByName(&#34;inputName&#34;)[1]<br/><br/>(3)其它<br/><br/>3.&nbsp;window.event<br/><br/>(1)现有问题：<br/><br/>使用&nbsp;window.event&nbsp;无法在&nbsp;MF&nbsp;上运行<br/><br/>(2)解决方法：<br/><br/>MF&nbsp;的&nbsp;event&nbsp;只能在事件发生的现场使用，此问题暂无法解决。可以这样变通：<br/><br/>原代码(可在IE中运行)：<br/><br/>&lt;input&nbsp;type=&#34;button&#34;&nbsp;name=&#34;someButton&#34;&nbsp;value=&#34;提交&#34;&nbsp;onclick=&#34;java&nbsp;script:gotoSubmit()&#34;/&gt;<br/><br/>...<br/><br/>&lt;script&nbsp;language=&#34;javascript&#34;&gt;<br/><br/>function&nbsp;gotoSubmit()&nbsp;{<br/><br/>...<br/><br/>alert(window.event);&nbsp;//&nbsp;use&nbsp;window.event<br/><br/>...<br/><br/>}<br/><br/>&lt;/script&gt;<br/><br/>新代码(可在IE和MF中运行)：<br/><br/>&lt;input&nbsp;type=&#34;button&#34;&nbsp;name=&#34;someButton&#34;&nbsp;value=&#34;提交&#34;&nbsp;onclick=&#34;java&nbsp;script:gotoSubmit(event)&#34;/&gt;<br/><br/>...<br/><br/>&lt;script&nbsp;language=&#34;javascript&#34;&gt;<br/><br/>function&nbsp;gotoSubmit(evt)&nbsp;{<br/><br/>evt&nbsp;=&nbsp;evt&nbsp;?&nbsp;evt&nbsp;:&nbsp;(window.event&nbsp;?&nbsp;window.event&nbsp;:&nbsp;null);<br/><br/>...<br/><br/>alert(evt);&nbsp;//&nbsp;use&nbsp;evt<br/><br/>...<br/><br/>}<br/><br/>&lt;/script&gt;<br/><br/>此外，如果新代码中第一行不改，与老代码一样的话(即&nbsp;gotoSubmit&nbsp;调用没有给参数)，则仍然只能在IE中运行，但不会出错。所以，这种方案&nbsp;tpl&nbsp;部分仍与老代码兼容。<br/><br/>4.&nbsp;HTML&nbsp;对象的&nbsp;id&nbsp;作为对象名的问题<br/><br/>(1)现有问题<br/><br/>在&nbsp;IE&nbsp;中，HTML&nbsp;对象的&nbsp;ID&nbsp;可以作为&nbsp;document&nbsp;的下属对象变量名直接使用。在&nbsp;MF&nbsp;中不能。<br/><br/>(2)解决方法<br/><br/>用&nbsp;getElementById(&#34;idName&#34;)&nbsp;代替&nbsp;idName&nbsp;作为对象变量使用。<br/><br/>5.&nbsp;用idName字符串取得对象的问题<br/><br/>(1)现有问题<br/><br/>在IE中，利用&nbsp;eval(idName)&nbsp;可以取得&nbsp;id&nbsp;为&nbsp;idName&nbsp;的&nbsp;HTML&nbsp;对象，在MF&nbsp;中不能。<br/><br/>(2)解决方法<br/><br/>用&nbsp;getElementById(idName)&nbsp;代替&nbsp;eval(idName)。<br/><br/>6.&nbsp;变量名与某&nbsp;HTML&nbsp;对象&nbsp;id&nbsp;相同的问题<br/><br/>(1)现有问题<br/><br/>在&nbsp;MF&nbsp;中，因为对象&nbsp;id&nbsp;不作为&nbsp;HTML&nbsp;对象的名称，所以可以使用与&nbsp;HTML&nbsp;对象&nbsp;id&nbsp;相同的变量名，IE&nbsp;中不能。<br/><br/>(2)解决方法<br/><br/>在声明变量时，一律加上&nbsp;var&nbsp;，以避免歧义，这样在&nbsp;IE&nbsp;中亦可正常运行。<br/><br/>此外，最好不要取与&nbsp;HTML&nbsp;对象&nbsp;id&nbsp;相同的变量名，以减少错误。<br/><br/>(3)其它<br/><br/>参见&nbsp;问题4<br/><br/>7.&nbsp;event.x&nbsp;与&nbsp;event.y&nbsp;问题<br/><br/>(1)现有问题<br/><br/>在IE&nbsp;中，event&nbsp;对象有&nbsp;x,&nbsp;y&nbsp;属性，MF中没有。<br/><br/>(2)解决方法<br/><br/>在MF中，与event.x&nbsp;等效的是&nbsp;event.pageX。但event.pageX&nbsp;IE中没有。<br/><br/>故采用&nbsp;event.clientX&nbsp;代替&nbsp;event.x。在IE&nbsp;中也有这个变量。<br/><br/>event.clientX&nbsp;与&nbsp;event.pageX&nbsp;有微妙的差别（当整个页面有滚动条的时候），不过大多数时候是等效的。<br/><br/>如果要完全一样，可以稍麻烦些：<br/><br/>mX&nbsp;=&nbsp;event.x&nbsp;?&nbsp;event.x&nbsp;:&nbsp;event.pageX;<br/><br/>然后用&nbsp;mX&nbsp;代替&nbsp;event.x<br/><br/>(3)其它<br/><br/>event.layerX&nbsp;在&nbsp;IE&nbsp;与&nbsp;MF&nbsp;中都有，具体意义有无差别尚未试验。<br/><br/>8.&nbsp;关于frame<br/><br/>(1)现有问题<br/><br/>在&nbsp;IE中&nbsp;可以用window.testFrame取得该frame，mf中不行<br/><br/>(2)解决方法<br/><br/>在frame的使用方面mf和ie的最主要的区别是：<br/><br/>如果在frame标签中书写了以下属性：<br/><br/>&lt;frame&nbsp;src=&#34;xx.htm&#34;&nbsp;id=&#34;frameId&#34;&nbsp;name=&#34;frameName&#34;&nbsp;/&gt;<br/><br/>那么ie可以通过id或者name访问这个frame对应的window对象<br/><br/>而mf只可以通过name来访问这个frame对应的window对象<br/><br/>例如如果上述frame标签写在最上层的window里面的htm里面，那么可以这样访问<br/><br/>ie：&nbsp;window.top.frameId或者window.top.frameName来访问这个window对象<br/><br/>mf：&nbsp;只能这样window.top.frameName来访问这个window对象<br/><br/>另外，在mf和ie中都可以使用window.top.document.getElementById(&#34;frameId&#34;)来访问frame标签<br/><br/>并且可以通过window.top.document.getElementById(&#34;testFrame&#34;).src&nbsp;=&nbsp;&#39;xx.htm&#39;来切换frame的内容<br/><br/>也都可以通过window.top.frameName.location&nbsp;=&nbsp;&#39;xx.htm&#39;来切换frame的内容<br/><br/>关于frame和window的描述可以参见bbs的‘window与frame’文章<br/><br/>以及/test/js/test_frame/目录下面的测试<br/><br/>9.&nbsp;在mf中，自己定义的属性必须getAttribute()取得<br/><br/>10.在mf中没有&nbsp;parentElement&nbsp;parement.children&nbsp;而用<br/><br/>parentNode&nbsp;parentNode.childNodes<br/><br/>childNodes的下标的含义在IE和MF中不同，MF使用DOM规范，childNodes中会插入空白文本节点。<br/><br/>一般可以通过node.getElementsByTagName()来回避这个问题。<br/><br/>当html中节点缺失时，IE和MF对parentNode的解释不同，例如<br/><br/>&lt;form&gt;<br/><br/>&lt;table&gt;<br/><br/>&lt;input/&gt;<br/><br/>&lt;/table&gt;<br/><br/>&lt;/form&gt;<br/><br/>MF中input.parentNode的值为form,&nbsp;而IE中input.parentNode的值为空节点<br/><br/>MF中节点没有removeNode方法，必须使用如下方法&nbsp;node.parentNode.removeChild(node)<br/><br/>11.const&nbsp;问题<br/><br/>(1)现有问题:<br/><br/>在&nbsp;IE&nbsp;中不能使用&nbsp;const&nbsp;关键字。如&nbsp;const&nbsp;constVar&nbsp;=&nbsp;32;&nbsp;在IE中这是语法错误。<br/><br/>(2)解决方法:<br/><br/>不使用&nbsp;const&nbsp;，以&nbsp;var&nbsp;代替。<br/><br/>12.&nbsp;body&nbsp;对象<br/><br/>MF的body在body标签没有被浏览器完全读入之前就存在，而IE则必须在body完全被读入之后才存在<br/><br/>13.&nbsp;url&nbsp;encoding<br/><br/>在js中如果书写url就直接写&amp;不要写&amp;例如var&nbsp;url&nbsp;=&nbsp;&#39;xx.jsp?objectName=xx&amp;objectEvent=xxx&#39;;<br/><br/>frm.action&nbsp;=&nbsp;url那么很有可能url不会被正常显示以至于参数没有正确的传到服务器<br/><br/>一般会服务器报错参数没有找到<br/><br/>当然如果是在tpl中例外，因为tpl中符合xml规范，要求&amp;书写为&amp;<br/><br/>一般MF无法识别js中的<br/><br/>14.&nbsp;nodeName&nbsp;和&nbsp;tagName&nbsp;问题<br/><br/>(1)现有问题：<br/><br/>在MF中，所有节点均有&nbsp;nodeName&nbsp;值，但&nbsp;textNode&nbsp;没有&nbsp;tagName&nbsp;值。在&nbsp;IE&nbsp;中，nodeName&nbsp;的使用好象<br/><br/>有问题（具体情况没有测试，但我的IE已经死了好几次）。<br/><br/>(2)解决方法：<br/><br/>使用&nbsp;tagName，但应检测其是否为空。<br/><br/>15.&nbsp;元素属性<br/><br/>IE下&nbsp;input.type属性为只读，但是MF下可以修改<br/><br/>16.&nbsp;document.getElementsByName()&nbsp;和&nbsp;document.all[name]&nbsp;的问题<br/><br/>(1)现有问题：<br/><br/>在&nbsp;IE&nbsp;中，getElementsByName()、document.all[name]&nbsp;均不能用来取得&nbsp;div&nbsp;元素（是否还有其它不能取的元素还不知道）。<br/><br/>======================================================================================================<br/><br/>1.&nbsp;向表中追加行<br/><br/>这是IE和Firefox,Safari,Opera都支持的代码<br/><br/>var&nbsp;cell&nbsp;=&nbsp;documentcr&#101;ateElement(&#34;td&#34;).appendChild(document.cr&#101;ateTextNode(&#34;foo&#34;));&nbsp;<br/><br/>var&nbsp;row&nbsp;=&nbsp;document.cr&#101;ateElement(&#34;tr&#34;).appendChild(cell);&nbsp;<br/><br/>document.getElementById(&#34;MyTableBoyd&#34;).appendChild(row);&nbsp;<br/><br/>或者：在TR的父节点添加TBODY。（注：在IE中，利用DOM动态添加表格的行时，在TR的上一层必须添加TBODY，否则动态添加之后无法显示出来）<br/><br/>2.&nbsp;通过JAVASCRIPT设置元素的样式<br/><br/>var&nbsp;spanElement&nbsp;=&nbsp;document.getElementById(&#34;myspan&#34;);&nbsp;<br/><br/>//spanElement.setAttribute(&#34;style&#34;,&#34;font-weight:bold;color:red&#34;);&nbsp;//IE之外的浏览器<br/><br/>spanElement.style.cssText=&#34;font-weight:bold;color:red&#34;;&nbsp;//IE的方法cssText不是标准属性,但得到IE支持<br/><br/>3.&nbsp;IE和FF在添加Option兼容操作，这里直接贴出本人的代码（注：FF支持直接将Option列表以innerHTML形式嵌入到sel&#101;ct节点，但IE不支持）<br/><br/>function&nbsp;removeAllOptions(sel&#101;ct_id){<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;com=document.getElementById(sel&#101;ct_id);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;len=com.options.length;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;i=0;i&lt;len;i++){<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.remove(0);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>}<br/><br/>function&nbsp;addOption(e_sel&#101;ct,value,text){<br/><br/>&nbsp;&nbsp;&nbsp;var&nbsp;oOption&nbsp;=&nbsp;document.cr&#101;ateElement(&#34;option&#34;);<br/><br/>&nbsp;&nbsp;&nbsp;e_sel&#101;ct.options.add(oOption);<br/><br/>&nbsp;&nbsp;&nbsp;if(text!=null){<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;text_node=document.cr&#101;ateTextNode(text);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oOption.appendChild(text_node);<br/><br/>&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;if(value!=null){<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oOption.value&nbsp;=&nbsp;value;<br/><br/>&nbsp;&nbsp;&nbsp;}<br/><br/>}<br/><br/>4.&nbsp;创建输入元素(通用代码)<br/><br/>var&nbsp;button&nbsp;=&nbsp;document.cr&#101;ateElement(&#34;input&#34;);&nbsp;<br/><br/>button.setAttribute(&#34;type&#34;,&#34;button&#34;);&nbsp;<br/><br/>document.getElementById(&#34;form&#34;).appendChild(button);<br/><br/>5.&nbsp;向输入元素增加事件处理程序(通用代码)<br/><br/>var&nbsp;element&nbsp;=&nbsp;document.getElementById(&#34;ee&#34;);&nbsp;<br/><br/>element.onclick=function(){todo();};<br/><br/>6.&nbsp;创建单选按钮<br/><br/>var&nbsp;ration&nbsp;=&nbsp;document.cr&#101;ateElement(&#34;&lt;input&nbsp;type=&#39;radio&#39;&nbsp;name=&#39;radionsss&#39;&nbsp;value=&#39;checked&#39;&gt;”);//ie&nbsp;<br/><br/>//非ie创建方法<br/><br/>vat&nbsp;radion&nbsp;=&nbsp;document.cr&#101;ateElement(&#34;input&#34;);&nbsp;<br/><br/>radion&nbsp;.setAttribute(&#34;type&#34;,&#34;radio&#34;);&nbsp;<br/><br/>radion.setAttribute(&#34;name&#34;,&#34;radionsss&#34;);&nbsp;<br/><br/>radion.setAttribute(&#34;value&#34;,&#34;checked&#34;);]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=98</link>
			<title><![CDATA[兼容IE和FF的换行CSS 推荐样式]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:53:26 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=98</guid>	
		<description><![CDATA[最好的方式是<br/>word-wrap:break-word;&nbsp;overflow:hidden;<br/>而不是<br/>word-wrap:break-word;&nbsp;word-break:break-all;<br/>也不是<br/>word-wrap:break-word;&nbsp;overflow:auto;<br/><br/>在&nbsp;IE&nbsp;下没有任何问题，在&nbsp;FF&nbsp;下，长串英文会被遮住超出的内容。<br/><br/>word-wrap同word-break的区别<br/><br/>word-wrap:<br/>normal&nbsp;&nbsp;&nbsp;Default.&nbsp;Content&nbsp;exceeds&nbsp;the&nbsp;boundaries&nbsp;of&nbsp;its&nbsp;container.&nbsp;<br/>break-word&nbsp;Content&nbsp;wraps&nbsp;to&nbsp;next&nbsp;line,&nbsp;and&nbsp;a&nbsp;word-break&nbsp;occurs&nbsp;when&nbsp;necessary.&nbsp;必要时会触发word-break。<br/><br/>word-break:<br/>normal&nbsp;&nbsp;&nbsp;Default.&nbsp;Allows&nbsp;line&nbsp;breaking&nbsp;within&nbsp;words.&nbsp;好像是只对Asian&nbsp;text起作用。<br/>break-all&nbsp;Behaves&nbsp;the&nbsp;same&nbsp;as&nbsp;normal&nbsp;for&nbsp;Asian&nbsp;text,&nbsp;yet&nbsp;allows&nbsp;the&nbsp;line&nbsp;to&nbsp;break&nbsp;arbitrarily&nbsp;for&nbsp;non-Asian&nbsp;text.&nbsp;This&nbsp;value&nbsp;is&nbsp;suited&nbsp;to&nbsp;Asian&nbsp;text&nbsp;that&nbsp;contains&nbsp;some&nbsp;excerpts&nbsp;of&nbsp;non-Asian&nbsp;text.&nbsp;<br/>keep-all&nbsp;Does&nbsp;not&nbsp;allow&nbsp;word&nbsp;breaking&nbsp;for&nbsp;Chinese,&nbsp;Japanese,&nbsp;and&nbsp;Korean.&nbsp;Functions&nbsp;the&nbsp;same&nbsp;way&nbsp;as&nbsp;normal&nbsp;for&nbsp;all&nbsp;non-Asian&nbsp;languages.&nbsp;This&nbsp;value&nbsp;is&nbsp;optimized&nbsp;for&nbsp;text&nbsp;that&nbsp;includes&nbsp;small&nbsp;amounts&nbsp;of&nbsp;Chinese,&nbsp;Japanese,&nbsp;o&#114;&nbsp;Korean.&nbsp;<br/><br/>总结如下：<br/>word-wrap是控制换行的。<br/>使用break-word时，是将强制换行。中文没有任何问题，英文语句也没问题。但是对于长串的英文，就不起作用。<br/><br/>break-word是控制是否断词的。<br/>normal是默认情况，英文单词不被拆开。<br/>break-all，是断开单词。在单词到边界时，下个字母自动到下一行。主要解决了长串英文的问题。<br/>keep-all，是指Chinese,&nbsp;Japanese,&nbsp;and&nbsp;Korean不断词。即只用此时，不用word-wrap，中文就不会换行了。（英文语句正常。）<br/><br/><br/>ie下：<br/>使用word-wrap:break-word;所有的都正常。<br/><br/>ff下：<br/>如这2个都不用的话，中文不会出任何问题。英文语句也不会出问题。但是，长串英文会出问题。<br/>为了解决长串英文，一般用word-wrap:break-word;word-break:break-all;。但是，此方式会导致，普通的英文语句中的单词会被断开（ie下也是）。<br/><br/>目前主要的问题存在于&nbsp;长串英文&nbsp;和&nbsp;英文单词被断开。其实长串英文就是一个比较长的单词而已。<br/>即英文单词应不应该被断开那？那问题很明显了，显然不应该被断开了。<br/>对于长串英文，就是恶意的东西，自然不用去管了。但是，也要想些办法，不让它把容器撑大。<br/>用：overflow:auto;&nbsp;ie下，长串会自动折行。ff下，长串会被遮盖。<br/><br/><br/>所以，综上，最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;。<br/>word-wrap:break-word;overflow:auto;在ie下没有任何问题。在ff下，长串会被遮住部分内容。<br/><br/>另，测试代码如下：<br/><br/>&lt;style&gt;<br/>.c1{&nbsp;width:300px;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;red}<br/>.c2{&nbsp;width:300px;word-wrap:break-word;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;yellow}<br/>.c3{&nbsp;width:300px;word-wrap:break-word;word-break:break-all;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;green}<br/>.c4{&nbsp;width:300px;word-wrap:break-word;word-break:keep-all;&nbsp;border:1px&nbsp;solid&nbsp;blue}<br/>.c5{&nbsp;width:300px;word-break:break-all;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;black}<br/>.c6{&nbsp;width:300px;word-break:keep-all;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;red}<br/>.c7{&nbsp;width:300px;word-wrap:break-word;overflow:auto;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;yellow}<br/>&lt;/style&gt;<br/><br/>.c1{&nbsp;width:300px;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;red}<br/>&lt;div&nbsp;class=&#34;c1&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c1&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c1&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c1&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;&nbsp;<br/><br/>&nbsp;<br/><br/>.c2{&nbsp;width:300px;word-wrap:break-word;&nbsp;border:1px&nbsp;solid&nbsp;yellow}<br/>&lt;div&nbsp;class=&#34;c2&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c2&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c2&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c2&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;<br/><br/>.c3{&nbsp;width:300px;word-wrap:break-word;word-break:break-all;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;green}<br/>&lt;div&nbsp;class=&#34;c3&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c3&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c3&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c3&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;<br/><br/>.c4{&nbsp;width:300px;word-wrap:break-word;word-break:keep-all;&nbsp;border:1px&nbsp;solid&nbsp;blue}<br/>&lt;div&nbsp;class=&#34;c4&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c4&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c4&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c4&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;<br/><br/>.c5{&nbsp;width:300px;word-break:break-all;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;black}<br/>&lt;div&nbsp;class=&#34;c5&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c5&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c5&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c5&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;<br/><br/>.c6{&nbsp;width:300px;word-break:keep-all;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;red}<br/>&lt;div&nbsp;class=&#34;c6&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c6&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c6&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c6&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;<br/><br/>.c7{&nbsp;width:300px;word-wrap:break-word;overflow:auto;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;yellow}<br/>&lt;div&nbsp;class=&#34;c7&#34;&gt;safjaskflasjfklsajfklasjflksajflksjflkasjfksafj&lt;/div&gt;<br/>&lt;div&nbsp;class=c7&gt;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&nbsp;This&nbsp;is&nbsp;all&nbsp;English.&lt;/div&gt;<br/>&lt;div&nbsp;class=c7&gt;全是中文的情况。全是中文的情况。全是中文的情况。&lt;/div&gt;<br/>&lt;div&nbsp;class=c7&gt;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;中英文混排的情况。Chinese&nbsp;and&nbsp;English.&nbsp;&lt;/div&gt;]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=97</link>
			<title><![CDATA[容IE和FF的透明度设置]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:52:32 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=97</guid>	
		<description><![CDATA[filter:alpha(opacity=20);-moz-opacity:0.2;&nbsp;]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=96</link>
			<title><![CDATA[ie ff中设置flash背景透明]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:51:44 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=96</guid>	
		<description><![CDATA[在ie中实现flash背景透明很简单，加这样一个值<br/><br/>&lt;param&nbsp;name=&#34;wmode&#34;&nbsp;value=&#34;transparent&#34;&gt;<br/><br/>在Mozilla,Firefox浏览器中起作用的是这个标签&nbsp;&lt;embed&gt;&lt;/embed&gt;&nbsp;那这样，在&lt;embed&gt;标签内加入属性&nbsp;wmode=&#34;transparent&#34;&nbsp;就可以实现flash背景透明，如<br/><br/>&lt;embed&nbsp;src=&#34;your.swf&#34;&nbsp;wmode=&#34;transparent&#34;&nbsp;quality=&#34;high&#34;&gt;&lt;/embed&gt;<br/><br/>两个地方都加，两个都支持了]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=95</link>
			<title><![CDATA[javascript事件集锦]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:50:09 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=95</guid>	
		<description><![CDATA[click()&nbsp;对象.click()&nbsp;使对象被点击。<br/>closed&nbsp;对象.closed&nbsp;对象窗口是否已关闭true/false<br/>clearTimeout(对象)&nbsp;清除已设置的setTimeout对象<br/>clearInterval(对象)&nbsp;清除已设置的setInterval对象<br/>confirm(&#34;提示信息&#34;)&nbsp;弹出确认框，确定返回true取消返回false<br/>cursor:样式&nbsp;更改鼠标样式&nbsp;hand；crosshair；text；wait；help；default；auto；e/s/w/n-resize<br/><br/>event.clientX&nbsp;返回最后一次点击鼠标X坐标值；<br/>event.clientY&nbsp;返回最后一次点击鼠标Y坐标值；<br/>event.offsetX&nbsp;返回当前鼠标悬停X坐标值<br/>event.offsetY&nbsp;返回当前鼠标悬停Y坐标值<br/><br/>document.write(document.lastModified)&nbsp;网页最后一次更新时间<br/>document.ondblclick=x&nbsp;当双击鼠标产生事件<br/>document.onmousedown=x&nbsp;单击鼠标键产生事件<br/><br/>document.body.scrollTop;&nbsp;返回和设置当前竖向滚动条的坐标值，须与函数配合,<br/>document.body.scrollLeft;&nbsp;返回和设置当前横向滚动务的坐标值，须与函数配合，<br/>document.title&nbsp;document.title=&#34;message&#34;;&nbsp;当前窗口的标题栏文字<br/>document.bgcolor&nbsp;document.bgcolor=&#34;颜色值&#34;;&nbsp;改变窗口背景颜色<br/>document.Fgcolor&nbsp;document.Fgcolor=&#34;颜色值&#34;;&nbsp;改变正文颜色<br/>document.linkcolor&nbsp;document.linkcolor=&#34;颜色值&#34;;&nbsp;改变超联接颜色<br/>document.alinkcolor&nbsp;document.alinkcolor=&#34;颜色值&#34;;&nbsp;改变正点击联接的颜色<br/>document.VlinkColor&nbsp;document.VlinkColor=&#34;颜色值&#34;;&nbsp;改变已访问联接的颜色<br/>document.forms.length&nbsp;返回当前页form表单数<br/>document.anchors.length&nbsp;返回当前页锚的数量<br/>document.links.length&nbsp;返回当前页联接的数量<br/>document.onmousedown=x&nbsp;单击鼠标触发事件<br/>document.ondblclick=x&nbsp;双击鼠标触发事件<br/>defaultStatus&nbsp;window.status=defaultStatus;&nbsp;将状态栏设置默认显示<br/><br/>function&nbsp;function&nbsp;xx(){...}&nbsp;定义函数<br/>isNumeric&nbsp;判断是否是数字<br/>innerHTML&nbsp;xx=对象.innerHTML&nbsp;输入某对象标签中的html源代码<br/>innerText&nbsp;divid.innerText=xx&nbsp;将以div定位以id命名的对象值设为XX<br/><br/>location.reload();&nbsp;使本页刷新，target可等于一个刷新的网页<br/><br/>Math.random()&nbsp;随机涵数,只能是0到1之间的数,如果要得到其它数,可以为*10,再取整<br/>Math.floor(number)&nbsp;将对象number转为整数，舍取所有小数<br/>Math.min(1,2)&nbsp;返回1,2哪个小<br/>Math.max(1,2)&nbsp;返回1,2哪个大<br/><br/>navigator.appName&nbsp;返回当前浏览器名称<br/>navigator.appVersion&nbsp;返回当前浏览器版本号<br/>navigator.appCodeName&nbsp;返回当前浏览器代码名字<br/>navigator.userAgent&nbsp;返回当前浏览器用户代标志<br/><br/>onsubmit&nbsp;onsubmit=&#34;return(xx())&#34;&nbsp;使用函数返回值<br/>opener&nbsp;opener.document.对象&nbsp;控制原打开窗体对象<br/><br/>prompt&nbsp;xx=window.prompt(&#34;提示信息&#34;,&#34;预定值&#34;);&nbsp;输入语句<br/>parent&nbsp;parent.框架名.对象&nbsp;控制框架页面<br/><br/>return&nbsp;return&nbsp;false&nbsp;返回值<br/>random&nbsp;随机参数（0至1之间）<br/>reset()&nbsp;form.reset();&nbsp;使form表单内的数据重置<br/><br/>split(&#34;&#34;)&nbsp;string.split(&#34;&#34;)&nbsp;将string对象字符以逗号隔开<br/>submit()&nbsp;form对象.submit()&nbsp;使form对象提交数据<br/><br/>String对象的&nbsp;charAt(x)对象&nbsp;反回指定对象的第多少位的字母<br/>lastIndexOf(&#34;string&#34;)&nbsp;从右到左询找指定字符，没有返回-1<br/>indexOf(&#34;string&#34;)&nbsp;从左到右询找指定字符，没有返回-1<br/>LowerCase()&nbsp;将对象全部转为小写&nbsp;<br/>UpperCase()&nbsp;将对象全部转为大写<br/>substring(0,5)&nbsp;string.substring(x,x)&nbsp;返回对象中从0到5的字符<br/>setTimeout(&#34;function&#34;,time)&nbsp;设置一个超时对象<br/>setInterval(&#34;function&#34;,time)&nbsp;设置一个超时对象<br/><br/>toLocaleString()&nbsp;x.toLocaleString()&nbsp;从x时间对象中获取时间，以字符串型式存在<br/>typeof(变量名)&nbsp;检查变量的类型，值有：String,Boolean,Object,Function,Underfined<br/><br/>window.event.button==1/2/3&nbsp;鼠标键左键等于1右键等于2两个键一起按为3<br/>window.screen.availWidth&nbsp;返回当前屏幕宽度(空白空间)<br/>window.screen.availHeight&nbsp;返回当前屏幕高度(空白空间)<br/>window.screen.width&nbsp;返回当前屏幕宽度(分辨率值)<br/>window.screen.height&nbsp;返回当前屏幕高度(分辨率值)<br/>window.document.body.offsetHeight;&nbsp;返回当前网页高度<br/>window.document.body.offsetWidth;&nbsp;返回当前网页宽度<br/>window.resizeTo(0,0)&nbsp;将窗口设置宽高<br/>window.moveTo(0,0)&nbsp;将窗口移到某位置<br/>window.focus()&nbsp;使当前窗口获得焦点<br/>window.scroll(x,y)&nbsp;窗口滚动条坐标，y控制上下移动，须与函数配合<br/>window.open()&nbsp;window.open(&#34;地址&#34;,&#34;名称&#34;,&#34;属性&#34;)&nbsp;<br/>属性:toolbar(工具栏),location(地址栏),directions,status(状态栏),menubar(菜单栏),scrollbar(滚动条),resizable(改变大小),&nbsp;width(宽),height(高),fullscreen(全屏),scrollbars(全屏时无滚动条),channelmode(宽屏),left(打开窗口x坐标),top(打开窗口y坐标)<br/>window.location&nbsp;=&nbsp;&#39;view-source:&#39;&nbsp;+&nbsp;window.location.href&nbsp;应用事件查看网页源代码;<br/><br/>a=new&nbsp;Date();&nbsp;//创建a为一个新的时期对象<br/>y=a.getYear();&nbsp;//y的值为从对象a中获取年份值&nbsp;两位数年份<br/>y1=a.getFullYear();&nbsp;//获取全年份数&nbsp;四位数年份<br/>m=a.getMonth();&nbsp;//获取月份值<br/>d=a.getDate();&nbsp;//获取日期值<br/>d1=a.getDay();&nbsp;//获取当前星期值<br/>h=a.getHours();&nbsp;//获取当前小时数<br/>m1=a.getMinutes();&nbsp;//获取当前分钟数<br/>s=a.getSeconds();&nbsp;//获取当前秒钟数<br/><br/><br/>对象.style.fontSize=&#34;文字大小&#34;;<br/>单位：mm/cm/in英寸/pc帕/pt点/px象素/em文字高<br/>1in=1.25cm<br/>1pc=12pt<br/>1pt=1.2px(800*600分辩率下)<br/><br/>文本字体属性：<br/>fontSize大小<br/>family字体<br/>color颜色<br/>fontStyle风格，取值为normal一般,italic斜体,oblique斜体且加粗<br/>fontWeight加粗,取值为100到900不等,900最粗,light,normal,bold<br/>letterSpacing间距,更改文字间距离,取值为,1pt,10px,1cm<br/>textDecoration:文字修饰;取值,none不修饰,underline下划线,overline上划线<br/>background:文字背景颜色,<br/>backgroundImage:背景图片,取值为图片的插入路径<br/><br/><br/>点击网页正文函数调用触发器：<br/><br/>1.onClick&nbsp;当对象被点击<br/>2.onLoad&nbsp;当网页打开,只能书写在body中<br/>3.onUnload&nbsp;当网页关闭或离开时,只能书写在body中<br/>4.onmouseover&nbsp;当鼠标悬于其上时<br/>5.onmouseout&nbsp;当鼠标离开对象时<br/>6.onmouseup&nbsp;当鼠标松开<br/>7.onmousedown&nbsp;当鼠标按下键<br/>8.onFocus&nbsp;当对象获取焦点时<br/>9.onSel&#101;ct&nbsp;当对象的文本被选中时<br/>10.onChange&nbsp;当对象的内容被改变<br/>11.onBlur&nbsp;当对象失去焦点<br/>onsubmit=return(ss())表单调用时返回的值<br/><br/>直线&nbsp;border-bottom:1x&nbsp;solid&nbsp;black<br/>虚线&nbsp;border-bottom:1x&nbsp;dotted&nbsp;black<br/>点划线border-bottom:2x&nbsp;dashed&nbsp;black<br/>双线&nbsp;border-bottom:5x&nbsp;double&nbsp;black<br/>槽状&nbsp;border-bottom:1x&nbsp;groove&nbsp;black<br/>脊状&nbsp;border-bottom:1x&nbsp;ridge&nbsp;black<br/><br/><br/>1.边缘高光glow(color=颜色,strength=亮光大小)<br/><br/>2.水平翻转fliph()&nbsp;使对象水平翻转180度<br/><br/>3.垂直翻转flipv()&nbsp;使对象垂直翻转180度<br/><br/>4.对象模糊blur(add=true/false&nbsp;direction=方向&nbsp;strength=强度)<br/>add指定是否按印象画派进行模糊direction模糊方向strength模糊强度<br/>5.对象透明alpha(opaction=0-100,finishopacity=0-100,style=0/1/2/3)<br/>opaction对象整体不透明值finishopacity当对象利用了渐透明时该项指定结束透明位置的不透明值style指定透明方式0为整体透明，1为线型透明，2为圆型透明，3为矩形透明<br/>6.去除颜色chroma(color=颜色值)使对象中颜色与指定颜色相同区域透明<br/>7.建立阴影dro&#112;shadow(color=阴影颜色,offx=水平向左偏离像素,offy=水平向下偏离像素)<br/>8.去色gray()使对象呈灰度显示<br/>9.负片效果invert()使对象呈底片效果<br/>10.高光light()使对象呈黑色显示<br/>11.遮盖mask(color=颜色)使整个对象以指定颜色进行蒙板一次<br/><br/>opacity&nbsp;表透明度水平.0~100,0表全透明,100表完全不透明<br/>finishopacity表想要设置的渐变透明效果.0~100.<br/>style&nbsp;表透明区的形状.0表统一形状.1表线形.2表放射形.3表长方形.<br/>startx.starty表渐变透明效果的开始时X和Y坐标.<br/>finishx,finishy渐变透明效果结束时x,y&nbsp;的坐标.<br/>add有来确定是否在模糊效果中使有原有目标.值为0,1.0表&#34;否&#34;,1表&#34;是&#34;.<br/>direction设置模糊的方向.0度表垂直向上,45度为一个单位.默认值是向左270度.left,right,down,up.<br/>strength&nbsp;只能用整数来确定.代表有多少个像素的宽度将受到模糊影响.默认是5个.<br/>color要透明的颜色.<br/>offx,offy分别是x,y&nbsp;方向阴影的偏移量.<br/>positive指投影方式.0表透明像素生成阴影.1表只给出不透明像素生成阴影..<br/><br/>AddAmbient:加入包围的光源.<br/>AddCone:加入锥形光源.<br/>AddPoint加入点光源<br/>Changcolor:改变光的颜色．<br/>Changstrength:改变光源的强度．<br/>Clear:清除所有的光源．<br/>MoveLight:移动光源．<br/><br/>freq是波纹的频率，在指定在对象上一区需要产生多少个完事的波纹．<br/>lightstrength可对于波纹增强光影的效果．显著0~100正整数，正弦波开始位置是0~360度．0表从0度开始，25表从90度开始．<br/>strength表振幅大小．<br/><br/><br/>hand&nbsp;style=&#34;cursor:hand&#34;<br/>crosshair&nbsp;style=&#34;cursor:crosshair&#34;<br/>text&nbsp;style=&#34;cursor:text&#34;<br/>wait&nbsp;style=&#34;cursor:wait&#34;<br/>default&nbsp;style=&#34;cursor:default&#34;&nbsp;<br/>help&nbsp;style=&#34;cursor:help&#34;<br/>e-resize&nbsp;style=&#34;cursor:e-resize&#34;<br/>ne-resize&nbsp;style=&#34;cursor:ne-resize&#34;<br/>n-resize&nbsp;style=&#34;cursor:n-resize&#34;<br/>nw-resize&nbsp;style=&#34;cursor:nw-resize&#34;<br/>w-resize&nbsp;style=&#34;cursor:w-resize&#34;<br/>s-resize&nbsp;style=&#34;cursor:s-resize&#34;<br/>sw-resize&nbsp;style=&#34;cursor:sw-resize&nbsp;&#34;<br/>se-resizestyle=&#34;cursor:se-resize&#34;<br/>auto&nbsp;style=&#34;cursor:auto&#34;]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=94</link>
			<title><![CDATA[ 当层无法运用margin:0 auto居中问题的解决]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:48:26 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=94</guid>	
		<description><![CDATA[当层无法运用margin:0&nbsp;auto居中问题的解决!<br/>如果无法运用&lt;div&nbsp;style=&#34;margin:0&nbsp;auto&#34;&gt;....&lt;/div&gt;来设置层居中.出现这样问题可能是没有定义hmlt的dtd,html向标准化的xml演变的过程是需要时间的,所以有三个dtd版本,我们现在用的最多的就是过渡期的dtd<br/>这三个分别是<br/>1,过渡型<br/>&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/>2,严格型<br/>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#34;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN&#34;&nbsp;&#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>&#34;&gt;<br/>3,框架型<br/>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#34;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Frameset//EN&#34;&nbsp;&#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd</a>&#34;&gt;<br/>如果对css&nbsp;2.0标准不太熟悉不要使用严格型的dtd.我们现在使用过渡期的就行了!<br/><br/>在网页最顶剖加上<br/>&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;]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=93</link>
			<title><![CDATA[正确的使用margin:0 auto与body{text-align:center;}实现元素居中]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:47:13 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=93</guid>	
		<description><![CDATA[body{text-align:center}与margin:0&nbsp;auto的异同？<br/><br/>text-align是用于设置或对象中文本的对齐方式。一般情况下我们设置文本对齐方式的时候需要用此属性进行设置&nbsp;<br/><br/>我们设置某个对象水平方向居中的时候，常常将左右的外边距设置为auto来实现<br/><br/>text-align:center设置为文本或img标签等一些内联对象（或与之类似的元素）的居中。margin:0&nbsp;auto是设置块元素（或与之类似的元素）的居中。但这两个属性IE与FF的理解也有所不同。<br/><br/>　　我们设置一个段落P，在段落内存在一个图片img标签。<br/>　　我们设置body{text-align:center;}，在IE中，段落P，图片img同时实现了居中对齐，也就是说text-align:center;同时作用于元素p与元素img。<br/>　　在FF中，段落P，没有能实现居中对齐，而图片img实现了居中对齐，也就是说text-align:center;作用于img标签，而段落p标签没有起到居中的作用。<br/><br/>　　我们设置段落&nbsp;p&nbsp;{margin:0&nbsp;auto;}。我们发现在IE与FF中，段落P均实现了居中对齐。图片img由于不是作用对象，所以不会居中对齐。<br/><br/>有三种情况需要说明：<br/><br/>　　一、有朋友在操作的时候，将margin:0&nbsp;auto;的选择器混淆了，应该是作用对象，如div，p，而不是body。如果设置：body&nbsp;{&nbsp;margin:0&nbsp;auto;&nbsp;}将不会达到任何效果，除非你定义body的宽度，那将会让body内的元素产生位置变化。如我们设置body宽度为500px。对p段落不作任何设置，我们最大化窗口将会看到段落并非处于窗口的最左上角。<br/><br/>　　二，我们设置段落&nbsp;p&nbsp;{text-align:center;}&nbsp;将要实现的并不是段落本身的对齐方式，而是段落内元素居中对齐。<br/><br/>　　三，我们设置图片标签img&nbsp;{margin:0&nbsp;auto;}&nbsp;，我们就犯了一个小错误，img类于内联对象，不可以设置图片img标签的margin属性，如果你一定想要设置，那么首先要将它的属性转变为块元素，如下面的代码：img&nbsp;{display:block;&nbsp;margin:0&nbsp;auto;}<br/><br/>如果页面中的元素，均位于div标签或其它块元素内，进行了合理的嵌套，我们不必设置body{text-align:center}。只需要设置相应的div元素margin:0&nbsp;auto;即可。如上面的代码所讲述，页面中的元素均位于段落p标签中，只需要将段落居中即可。<br/><br/>　　如果页面中的元素，有一部分不是在div标签或其它块元素内，我们需要设置body{text-align:center}。但也会遇到问题，这样设置以后，大部分内联元素，都居中对齐了，包括页面中其它的一些文本，还需要进行相应的调整才能适应设计的需要。如：我们设置body内有一个段落P，在段落内有一个图片img及一段文本，在body内还存在一个独立的图片img。<br/><br/>我们实现了段落p的居中，同时也让位于段落外的图片实现了居中，但段落中的图片与文本居中对齐了。<br/><br/>比如代码：<br/>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#34;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN&#34;&nbsp;&#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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;&gt;<br/>&lt;head&gt;<br/>&lt;meta&nbsp;http-equiv=&#34;Content-Type&#34;&nbsp;content=&#34;text/html;&nbsp;charset=gb2312&#34;&nbsp;/&gt;<br/>&lt;title&gt;www.51qqdm.cn&lt;/title&gt;<br/>&lt;style&nbsp;type=&#34;text/css&#34;&gt;<br/>body&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;text-align:center;<br/>}<br/>p&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;margin:0&nbsp;auto;<br/>&nbsp;&nbsp;&nbsp;&nbsp;width:300px;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;background:#06f;&nbsp;<br/>}<br/>img&nbsp;{<br/><br/>}<br/>&lt;/style&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;p&gt;<br/>&lt;img&nbsp;src=&#34;<a href="http://www.51qqdm.cn/imges/logo.gif" target="_blank">http://www.51qqdm.cn/imges/logo.gif</a>&#34;&nbsp;alt=&#34;51qqdm.cn&nbsp;-&nbsp;CSS&nbsp;Web&nbsp;Design&#34;&nbsp;width=&#34;200&#34;&nbsp;height=&#34;90&#34;&nbsp;style=&#34;vertical-align:top;&#34;&nbsp;/&gt;<br/>&lt;br&nbsp;/&gt;<br/>一个专业的CSS学习站点，内容丰富并且保持每天更新，我们建立了很多QQ群供网友们互动讨论学习，学习开发符合WEB标准的网页及网站重构。&nbsp;<br/>&lt;/p&gt;<br/>&lt;br&nbsp;/&gt;<br/>&lt;img&nbsp;src=&#34;<a href="http://www.51qqdm.cn/imges/logo.gif" target="_blank">http://www.51qqdm.cn/imges/logo.gif</a>&#34;&nbsp;alt=&#34;51qqdm.cn-&nbsp;CSS&nbsp;Web&nbsp;Design&#34;&nbsp;width=&#34;200&#34;&nbsp;height=&#34;90&#34;&nbsp;style=&#34;vertical-align:top;&#34;&nbsp;/&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;]]></description>
		</item>
		
			<item>
			<link>http://www.spinkonline.com/default.asp?id=92</link>
			<title><![CDATA[IE Firefox css 差别]]></title>
			<author>spink@126.com(spink)</author>
			<category><![CDATA[多浏览器兼容]]></category>
			<pubDate>Sat,23 Aug 2008 11:45:56 +0800</pubDate>
			<guid>http://www.spinkonline.com/default.asp?id=92</guid>	
		<description><![CDATA[1、单位问题<br/>问题：任何距离的数值ie可以不加单位，ff必须要求写单位（0除外）&nbsp;<br/>解决：写全单位如padding:0px;<br/><br/>2、水平居中<br/>问题：div里的内容，ie默认为center，而ff默认left&nbsp;<br/>解决：mairgin:0px&nbsp;auto;&nbsp;<br/><br/>3、高度问题<br/>问题：如果设置了一个DIV的高度，当DIV里实际内容大于所设高度，ie会自动拉伸以适应DIV容器大小，ff会固定DIV的告诉，超过部分超出DIV底线以外，出现和下面的内容重叠的现象<br/>解决：控制恰当的高度，或者不写，让浏览器自动调节高度，或者设置overflow:hidden;<br/><br/>4、clear:both;<br/>问题：如果上面用float控制了n列DIV，下面ie会自动检测自动排列，ff则可能很不老实，到处乱动<br/>解决：float结束后的下一个标签加clear:both;以结束float的控制<br/><br/>5、最大/小宽度问题<br/>问题：min-width,max-width只是ff的命令，如何让ie实现同样的效果<br/>解决：ie不认识min-和max-，实际ie认为min-width、max-width和width效果一样，可以用下面方法解决<br/>#cctext{<br/>min-width:&nbsp;700px;&nbsp;<br/>max-width:&nbsp;1000px;<br/>width:expression(document.body.clientWidth&lt;700&nbsp;?&nbsp;&#34;700px&#34;&nbsp;:&nbsp;document.body.clientWidth&gt;1000&nbsp;?&nbsp;&#34;1000px&#34;&nbsp;:&nbsp;&#34;auto&#34;);&nbsp;<br/>}<br/><br/>6、!important支持<br/>问题：ff支持ie不支持<br/>解决：无。ie会忽略。<br/><br/>7、游标状态<br/>问题：cursor:hand;仅ie支持，显示手指状态<br/>解决：使用cursor:pointer;ie和ff都支持<br/><br/>8、实际像素<br/>IE/Opera：对象的实际宽度&nbsp;=&nbsp;(margin-left)&nbsp;+&nbsp;width&nbsp;+&nbsp;(margin-right)<br/>Firefox/Mozilla：对象的实际宽度=&nbsp;(margin-left)&nbsp;+&nbsp;(border-left-width)&nbsp;+&nbsp;(padding-&nbsp;left)&nbsp;+&nbsp;width&nbsp;+&nbsp;(padding-right)&nbsp;+&nbsp;(border-right-width)&nbsp;+&nbsp;(margin-right)<br/>所以排列好及列的表格时ie和ff显示宽度稍有区别&nbsp;]]></description>
		</item>
		
</channel>
</rss>