<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[阿Tim日志]]></title> 
<link>https://atim.cn/index.php</link> 
<description><![CDATA[专业的php开发者.开发团队的带队人]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[阿Tim日志]]></copyright>
<item>
<link>https://atim.cn/post//</link>
<title><![CDATA[做出真正的W3C,IE FireFox对CSS的不同解释收集]]></title> 
<author>bkkkd &lt;partybase@gmail.com&gt;</author>
<category><![CDATA[开发应用]]></category>
<pubDate>Tue, 09 Jan 2007 15:04:04 +0000</pubDate> 
<guid>https://atim.cn/post//</guid> 
<description>
<![CDATA[ 
	W3C说是一个标准,不如说是一个麻烦,FireFox大家都说好用,但我宁愿它没有!! 苦了这些程序员,哎<br /><br />以下细节只针对IE和FireFox，其它浏览器并未测试<br /><br />1.DOCTYPE 影响 CSS 处理<br /><br />2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行<br /><br />3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中<br /><br />4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width<br /><br />5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式<br /><br />6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字，就垂直居中了。缺点是要控制内容不要换行<br /><br />7.cursor: pointer 可以同时在 IE FF 中显示游标手指状， hand 仅 IE 可以<br /><br />8.FF: 链接加边框和背景色，需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。<br /><br />9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法：<br />div&#123;margin:30px!important;margin:28px;&#125;<br />　　注意这两个margin的顺序一定不能写反，据阿捷的说法!important这个属性IE不能识别，但别的浏览器可以识别。所以在IE下其实解释成这样：<br />div&#123;maring:30px;margin:28px&#125;<br />　　重复定义的话按照最后一个来执行，所以不可以只写margin:XXpx!important;<br /><br />10.IE5 和IE6的BOX解释不一致<br />　　IE5下<br />div&#123;width:300px;margin:0 10px 0 10px;&#125;<br />　　div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px，而在IE6和其他浏览器上宽度则是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改<br />div&#123;width:300px!important;width /**/:340px;margin:0 10px 0 10px&#125;<br />　　关于这个/**/是什么我也不太明白，只知道IE5和firefox都支持但IE6不支持，如果有人理解的话，请告诉我一声，谢了！：）<br /><br />11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义<br />ul&#123;margin:0;padding:0;&#125;<br />　　就能解决大部分问题<br /><br />12.对div设置水平居中对齐时，要给子div加上一句&quot;margin:auto&quot;以兼容FireFox浏览器 <br /><br />13.当div的布局并没有如text-align设置的那样排列时，尝试用float来实现 <br /><br />14.将<p>标签的样式改成:margin:0px;line-height:XXpx，避免在FireFox浏览器下发生一些意想不到的结果 <br /><br />15.想要消除ul、ol等列表的缩进时，样式应写成:list-style:none;margin:0px;padding:0px;，其中margin属性对IE有效，padding属性对FireFox有效 <br /><br />16.padding 5px 4px 3px 1px FireFox无法解释简写,必须改成 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px;<br /><br />注意事项：<br /><br />　　1、float的div一定要闭合。<br /><br />　　例如：(其中floatA、floatB的属性已经设置为float:left;)<br />&lt;#div id=&quot;floatA&quot; &gt;</#div /><br />&lt;#div id=&quot;floatB&quot; &gt;</#div /><br />&lt;#div id=&quot;NOTfloatC&quot; &gt;</#div /><br />　　这里的NOTfloatC并不希望继续平移，而是希望往下排。<br />　　这段代码在IE中毫无问题，问题出在FF。原因是NOTfloatC并非float标签，必须将float标签闭合。<br />　　在<br />&lt;#div class=&quot;floatB&quot;&gt;</#div /><br />&lt;#div class=&quot;NOTfloatC&quot;&gt;</#div /><br />　　之间加上<br />&lt;#div class=&quot;clear&quot;&gt;</#div /><br />　　这个div一定要注意声明位置，一定要放在最恰当的地方，而且必须与两个具有float属性的div同级，之间不能存在嵌套关系，否则会产生异常。<br />　　并且将clear这种样式定义为为如下即可：<br />.clear&#123;<br />clear:both;&#125;<br />　　此外，为了让高度能自动适应，要在wrapper里面加上overflow:hidden;<br />　　当包含float的box的时候，高度自动适应在IE下无效，这时候应该触发IE的layout私有属性(万恶的IE啊！)用zoom:1;可以做到，这样就达到了兼容。<br />　　例如某一个wrapper如下定义：<br />.colwrapper&#123;<br />overflow:hidden;<br />zoom:1;<br />margin:5px auto;&#125;<br /><br />　　2、margin加倍的问题。<br /><br />　　设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。<br />　　解决方案是在这个div里面加上display:inline;<br />例如：<br /><br />&lt;#div id=&quot;imfloat&quot;&gt;</#div /><br /><br /><br />　　相应的css为<br /><br />#IamFloat&#123;<br />float:left;<br />margin:5px;/*IE下理解为10px*/<br />display:inline;/*IE下再理解为5px*/&#125;<br /><br />　　3、关于容器的包涵关系<br /><br />　　很多时候，尤其是容器内有平行布局，例如两、三个float的div时，宽度很容易出现问题。在IE中，外层的宽度会被内层更宽的div挤破。一定要用Photoshop或者Firework量取像素级的精度。<br /><br />　　4、关于高度的问题<br /><br />　　如果是动态地添加内容，高度最好不要定义。浏览器可以自动伸缩，然而如果是静态的内容，高度最好定好。（似乎有时候不会自动往下撑开，不知道具体怎么回事）<br /><br />　　5、最狠的手段 - !important;<br /><br />　　如果实在没有办法解决一些细节问题,可以用这个方法.FF对于&quot;!important&quot;会自动优先解析,然而IE则会忽略.如下<br />.tabd1&#123;<br />background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/<br />background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */&#125;<br />　　值得注意的是，一定要将xxxx !important 这句放置在另一句之上，上面已经提过  <br /></p>
]]>
</description>
</item><item>
<link>https://atim.cn/post//#blogcomment</link>
<title><![CDATA[[评论] 做出真正的W3C,IE FireFox对CSS的不同解释收集]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://atim.cn/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>