【前言】CSS发展到2.0虽然得到了浏览器厂商的大力支持,在很多方面还是有不足,并没有完全参考规范。现在网站设计者们通常使用Hack CSS 方法或者编写两套CSS文件的方法解决不同浏览器的兼容性问题。以下就将平时所遇到的、阅读书籍时发现的问题,以及相应的解决方法做一个简单汇总。希望能给学习的同道一些启示,也希望大家集思广益,在评论中将自己发现的问题及解决办法写出来,共同学习提高。
2、ul列表对象在IE与FireFox中的不同表现。注意以下代码
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=utf-8" />
< title > 无标题文档 </ title >
< style type ="text/css" >
#layout {
list-style : none ;
margin-left : 0px ;
}
</ style >
</ head >
< body >
< div >
< ul id ="layout" >
< li > 第一项目 </ li >
< li > 第二项目 </ li >
< li > 第三项目 </ li >
</ ul >
</ div >
</ body >
</ html >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=utf-8" />
< title > 无标题文档 </ title >
< style type ="text/css" >
#layout {
list-style : none ;
margin-left : 0px ;
}
</ style >
</ head >
< body >
< div >
< ul id ="layout" >
< li > 第一项目 </ li >
< li > 第二项目 </ li >
< li > 第三项目 </ li >
</ ul >
</ div >
</ body >
</ html >
为了使列表的靠边距为0,代码中使用了margin-left:0;,在IE中得到了应有效果,而在Firefox中却还是存在一段边距。
问题及解决:ul与h1~h6等对象一样,本身就带了一定的样式。ul在默认情况下是存在一定的边距的。而这边距在IE中通过margin造成,在Firefox中由padding造成。因此,如果要在IE与Firefox中同时达到效果,必须同时定义padding与margin的值。