发布网友
共2个回答
热心网友
产生不同的原因是因为IE和FF对于样式表的一些默认处理不相同,
解决方法有两个:
1.声明所有的默认项,不让浏览器使用默认属性
2.使用hack对不同的浏览器指定不同的属性
要指定所有的默认项我现在一时也列不全,就说一下第二个吧:
举个例子,要在IE6,IE7,FF里分别用不同的margin,可以这样写:
#test {margin:100px; *margin:50px; _margin:80px;}
实现在效果是FF里为100px, IE7里为50px,IE6里为80px.
浏览器读取时是从前到后,当前后能读取到相同项的定义时,就用后面的覆盖前面的,上面那个例子中,FF读取第一个,不认识后两个,所有显示的是100px; IE7能认识前两个,不认识第三个,所以先读取了第一个,然后用第二个覆盖了第一个,显示为50px; IE6则是三个都认识,所以用第三个覆盖前两个,显示80px;
要注意写的顺序.FF最前,IE7第二,IE6第三
写的时候表现为 margin在最前, *margin在第二, _margin在最后.
换成padding和width等也是一样的做法
这个只是其中一种方法,其余还可以用!important等等,你可以去搜索CSS hack,会有更完整的解决方案
热心网友
解决办法就是根据不同浏览器使用不同的技术去实现.