1.doctype 影响 css兼容处理
2.ff: div 设置 margin-left, margin-right 为 auto 时已经居中, ie 不行
3.ff: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
4.ff: 设置 padding 后, div 会增加 height 和 width, 但 ie 不会, 故需要用 !important 多设一个 height 和 width
5.ff: 支持 !important, ie 则忽略, 可用 !important 为 ff 特别设置样式
6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个div一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
7.cursor: pointer 可以同时在 ie ff 中显示游标手指状,hand 仅 ie 可以
8.ff: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格9.在mozilla firefox和ie中的box模型解释不一致导致相差2px解决方法: div{margin:30px!important;margin:28px;}注意这两个margin的顺序一定不能写反,据阿捷的说法! important这个属性ie不能识别,但别的浏览器可以识别。所以在ie下其实解释成这样: div{maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:xxpx! important;
11.ul标签在mozilla中默认是有padding值的,而在ie中只有margin有值所以先定义 ul{margin:0;padding:0;}就能解决大部分问题
注意事项:
css兼容1、float的div一定要闭合。 例如:(其中floata、floatb的属性已经设置为float:left;) <#div id=”floata” >
<#div id=”floatb” >
<#div id=”notfloatc” >这里的notfloatc并不希望继续平移,而是希望往下排。
这段代码在ie中毫无问题,问题出在ff。原因是notfloatc并非float标签,必须将float标签闭合。在 <#div class=”floatb”>
<#div class=”notfloatc”>之间加上 <#div class=”clear”>这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。
并且将clear这种样式定义为为如下即可: .clear{clear:both;}此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden;当包含float的box的时候,高度自动适应在ie下无效,这时候应该触发ie的layout私有属性,用zoom:1;可以做到,这样就达到了兼容。例如某一个wrapper如下定义: .colwrapper{
overflow:hidden;
zoom:1;
margin:5px auto;}
css兼容2、margin加倍的问题
设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。
解决方案是在这个div里面加上display:inline;
例如:
<#div id=”imfloat”>
相应的css为
#iamfloat{
float:left;
margin:5px;/*ie下理解为10px*/
display:inline;/*ie下再理解为5px*
济宁SEO为什么越来越多公司选择建造网站?(网站页面优化公司哪家好)网站建设、网页设计公司建站报价之间为何差距这么大?网站的标题能不能修改?网站关键词排名的正确处理方法免备案云服务器哪个好?怎么选择免备案云服务器网站空间转移对网站优化的影响盐田海山网站建设公司的网站建设流程有哪些?20个响应式网页设计中的“神话”误区