需要注意的一些CSS兼容细节
2014-04-01 20:30:51   来源:   评论:0 点击:

1, FF下给div设置padding 后会导致width和height增加(DIV的实际宽度=DIV宽+Padding), 但IE不会 解决办法:给DIV设定IE、FF两个宽度,在I

1, FF下给div设置padding 后会导致width和height增加(DIV的实际宽度=DIV宽+Padding), 但IE不会.

解决办法:给DIV设定IE、FF两个宽度,在IE的宽度前加上IE特有标记" * "号。

2, 页面居中问题.

body {TEXT-ALIGN: center;} 在IE下足够了,但FF下失效。

解决办法:加上"MARGIN-RIGHT: auto; MARGIN-LEFT: auto; "

3, 有的时候在IE6上看见一些奇怪的间隙,可高度明明设好过。

解决办法:试试在有空隙的DIV上加上"font-size:0px;"

4, 关于手形光标. cursor: pointer. 而hand只适用于IE.

5, 浮动IE6产生的双倍距离

#box{ float:left;

  width:100px;

  margin:0 0 0 100px;

}

这种情况之下IE6会产生200px的距离

解决办法:加上display:inline,使浮动忽略

这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,…不可控制(内嵌元素);#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果

6 页面的最小宽度

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。比如要设置背景图片,这个宽度是比较重要的。

解决办法:为了让这一命令在IE上也能用,可以把一个〈div〉放到〈body〉标签下,然后为div指定一个类:然后CSS这样设计:

#container{

  min-width: 600px;

  width:e¬xpression(document.body.clientWidth 〈 600? “600px”:“auto” );

}

第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

7、UL和FORM标签的padding与margin

ul标签在FF中默认是有padding值的,而在IE中只有margin默认有值。FORM标签在IE中,将会自动margin一些边距,而在FF中margin则是0;

解决办法:css中首先都使用这样的样式ul,form{margin:0;padding:0;}给定义死了,后面就不会为这个头疼了.

相关热词搜索:div+css

上一篇:浏览器兼容问题--css filter的办法
下一篇:使用js、css、html判断浏览器的各种版本详解