经常咱们会遇到咱们要设置在一行显示的布局,却由于种种缘由形成了错位,看到结果是在一行的最后一个盒子布局错位掉下去了(以下图)。css
形成DIV CSS网页布局错位的缘由大概有两种状况,一种是宽度计算错误,一种是IE BUG形成,特别是IE6和IE7。接下来咱们挨着为你们介绍错位与解决错位方法。html
宽度计算错误,假如总宽度为500px,有3个盒子,分别css宽度为200px、200px、100px,这个没问题会在一排显示不会错位,但若是加入了css边框、padding、margin属性时,别忘记这几个属性所占的宽度。特别是padding与边框border占用宽度空间不要忽略了。若是有一个盒子加入左右边框,这个时候有一个盒子中刚合适的宽度条件下减小2px边框占用宽度,不然即会总3个盒子合计宽度大于了总宽度,形成错位。浏览器
这个问题是最多见的问题,咱们检查完第一点宽度问题,而宽度没问题,这个时候在IE六、IE7中错位,在IE8及其它浏览器没有错位问题,这个时候咱们就要考虑到你是否使用了margin属性,一般咱们使用了CSS浮动(css float)状况下使用margin(margin-right margin-left这里特别是这个属性)此属性会产生双倍数值,这个时候咱们须要使用css hack解决此问题。让IE6或IE7单独识别特指定margin样式。布局
如:
一、IE6单独识别(margin-left对于只有IE6错位状况下)
{margin-left:5px;_margin-left:2px}
这个时候除IE6外其它浏览器设别margin-left:5px,IE6单独识别_margin-left:2pxspa
二、IE7与IE6都识别(margin-left对于ie6和ie7识别其它版本和品牌浏览器不设别)
{margin-left:5px;*margin-left:2px;}
这个时候除IE6和IE7外,其它浏览器设别margin-left:5px,IE6和IE7识别*margin-left:2pxhtm
更多CSS HACK知识你们可进入CSS HACK栏目了解更多相关知识。get
觉得为你们总结了常见网页错位缘由,你们从这以上两方面入手检查CSS布局网页错位缘由。io