1. ie6下的margin双边距问题:在ie6下快属性标签设置了float,在float方向上设置margin,就会出现双倍margin的问题
解决方案: (1) 给float元素设置 display:inline; (2) hack处理:对IE6进行_margin-left:margin值 处理 .box{margin-left:20px;_margin-left:20px;}
注解: css hack是通过在css样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,css hack就是让你记住这个标准),从而达到应用不同css样式的目的
2. 当标签的高度设置小于10px时,在IE6和IE7中会超过设置的最小高度
解决方案:设置overflow:hidden 或者 line-height设置成小于设置的高度值
3. 行内标签为了设置宽高会设置成display:block,这样一来就会产生上面说的双边距问题
解决方法:设置成display:inline,但是这样就不能设置宽高 ,所以在添加一个display:table
4. 上下margin重叠问题,当相邻的两个元素都设置了上下margin后,会取最大值,舍弃最小值
5. 两个块级元素, 父元素设置了overflow:auto,子元素设置了position:relative,且高度大于父集高度,在IE6和IE7下会被隐藏而不溢出
解决方法:父集元素添加position:relative
6. chrome下默认会将小于12px的文本强行按照12px进行解析
解决方法:添加属性:-webkit-text-size-adjust:none
7. IE6下div高度无法小于19px, 小于19px会被当做19px来处理
解决方法:(1)添加overflow:hidden属性; (2)设置font-size大小为高度大小
8: png24位的图片在IE6下回出现背景,最好使用png8格式的
9. 盒模型问题 ( 在IE下不设置文档声明 会进入怪异盒模型解析 )
标准盒模型width是内容宽 可视宽 = width + padding + border
怪异盒模型width是可视宽 内容宽 = width - padding - border
10. ie6下不支持1px的点线
解决方法: 切图 用背景代替(平铺)
11. ie6和ie7下li本省没有浮动,但是li里面的内容(两个或两个以上都浮动,如果只有一个浮动不会出现,但是会折行)浮动, li 下面就会产生几像素的间隙
解决方法: 给 li 加float
给 li 添加样式 : vertical-align: top
12. ie6下 浮动元素和绝对定位(absolute)元素是并列关系的时候,绝对定位元素会消失
解决方法 : 用div把绝对定位元素包起来
13. ie6和ie7下元素有相对定位(relative), 父集的overflow对他是不起作用的
解决方法: 给父级也添加以一个相对定位(relative)
14. ie6下当一行的子元素所占宽度之和和父级的宽度相差超过或等于3px,或者有不满行状态的时候,最后一行下的margin就会失效
解决方法: 暂时无解
15. ie6下绝对定位(absolute)元素父级的宽(高)是奇数的话,rigth和bottom会有1px的偏差
解决方法:
16: ie6和ie7下输入型的input上下会有1px的间隙,而且还会撑开设置好的高度
解决方法: 给input加浮动
17. ie6和ie7下输入类型的表单控件,border:none无效
解决方法: 背景重置