bug的几种常见原因

1、doctype没声明,带来的ie浏览器盒模型解析Bug

解决:进行xhtml正确声明,如strict声明

2、各种浏览器对各种标签的初始值不同带来的Bug

解决:进行css初始化

3、自身书写不规范带来的Bug

4、浏览器的解析bug带来的

  • 盒模型Bug  进行严格的doctype声明
  • ie6有双倍margin bug 是指浮动方向上的margin值会加倍,例如:某元素float:left;margin-left的值是10px,那么页面上会解析为20px;同时,float:right;margin-right也会加倍 设置漂浮元素的_display:inline;(将元素设置为内联元素)即可,解决此问题 加下划线的display可以被ie认出,其他浏览器认不出,则刚好可以修改ie的问题,其他浏览器不变
  • 3像素的margin bug     规范浮动与清除浮动来解决
  • ie关于a标签的4个伪类的兼容bug 对于ie,如果以a:link方式声明了标签的样式,可能会引来visited伪类的解析异常,去掉a:link,以a来代替。

 

img,object

select,input,textarea,这5种元素和其他内联元素相比,即使是空标签,也已经有一定的显示效果,

或者是标签本身体现的内容,是一个外部资源。对于这一类元素,w3c给出的名称是 replaced element(置换元素)

置换元素可以设宽和高,以及竖直/水平方向上的margin,padding和块一样。但是,他们又不换行,体现内联的特性

并且结束后下方会有留白,也是体现内联的特性