深圳网页制作IE兼容的的全面攻略
今天咱就还攻克网站的烦人的IE问题。如果您没有看懂则可以跟深圳网络公司小陆联系:0755-82968506
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指定一个类:
然后CSS这样设计:
#container{
min-width: 600px;
width:expression(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;}给定义死了,后面就不会为这个头疼了.
8 ,DIV浮动IE文本产生3象素的bug