博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]IE6双倍边距——IE布局BUG集锦
阅读量:7119 次
发布时间:2019-06-28

本文共 783 字,大约阅读时间需要 2 分钟。

前言:IE6双倍边距这个问题其实早在学习CSS之初都已经知道如何解决,但当时只知道如何解决而并不知道引起这个BUG的原因是什么,再接下来工作过程中不断实践也终于明白是怎么回事了。但最近开发项目逐渐转移到以IE7为IE的基础参考标准后,逐渐有点淡忘IE6下的一些诡异BUG的解决方案了,就是知道如何解决也忘了部分理论知识了。看来还是脑子不够用啊,索性上网把所有的IE6BUG 都收集整理下,作为我可怜的大脑的外挂硬盘储备

1、问题:在IE6下如果某个标签使用了float属性,同时设置了其外补丁“margin:10px 0 0 10px”可以看出,上边距和左边距同样为10px,但第一个对象距左边有20px。

2、解决办法:当将其display属性设置为inline时问题就都解决了。

3、说明:这是因为块级对象默认的display属性值是block,当设置了浮动的同时,还设置了它的外边距 就会出现这种情况。也许你会问:“为什么第二个对象和第一个对象之间就不存在双倍边距的BUG”?因为浮动都有其相对应的对象,只有相对于其父对象的浮动 对象才会出现这样的问题。第一个对象是相对父对象的,而第二个对象是相对第一个对象的,所以第二个对象在设置后不会出现问题。另外在一些特殊布局中,可能需要组合使用display:block;和display:inline;才能达到预期效果。

当然最坏的情况下,我们就可以使用"margin:10px 0 0 10px;*margin:10px 0 0 10px;_margin:10px 0 0 5px",这种“标准属性;*IE7识别属性;_IE6识别属性”HACK方式解决。

4、总结:这个现象仅当块级对象设置了浮动属性后才会出现,内联对象(行级对象)不会出现此问题。并且只有设置左边距和右边距的值才会出问题,上下边距不会出现问题。

 

你可能感兴趣的文章
高可用集群原理概念详述
查看>>
mount NTFS harddisk on slackware ver13.37
查看>>
Liferay Dynamic CSS Filter方法的研究 - 总体过程
查看>>
看完性能简报,想不优化好都难!
查看>>
Qt学习之路(4):初探信号槽
查看>>
CSS伪类的又一个小应用,实现下拉菜单
查看>>
Python协程深入理解
查看>>
Ubuntu 11.10搭建和配置Nagios
查看>>
百度运维部电子竞技大赛!
查看>>
Linux下清空回收站
查看>>
XenMotion 与HA的区别
查看>>
修改Sql Server 2000数据库名称
查看>>
PHP问题 —— Notice: Undefined index:
查看>>
专业的优化服务,就是为你争取时间!
查看>>
solr安装配置
查看>>
SAS接口互连完全指南
查看>>
Word 2003中打开最近操作过的文档的两种推荐的方法
查看>>
LAMP+LNMP视频教程
查看>>
Linux下创建与解压zip, tar, tar.gz和tar.bz2文件
查看>>
《微服务》九大特性重读笔记
查看>>