ie6下兼容问题
最小高度问题:overflow:hidden
在ie6、7下 li本身不浮动 内容浮动 li产生3像素间隙 解决:vertical-align:top; 二、当ie6下最小高度问题和li间隙问题共存时 给li加浮动
滤镜:标准浏览器【opacity:0.5】 ie6【filter:alpha(opacity=50)】
图片底部3像素问题:vertical-align:top;
padding是占位置的。
ie6下 子元素会撑开父级设置好的宽高 : 计算一定要正确,不要让内容的宽高,超出设置的宽高【子元素宽度超过父级宽度,放不下会折行,这样撑开了父级的高度】:
在ie元素浮动,如果宽度需要内容撑开,就给里面的块元素都加浮动【<div><h1>left</h1></div> <div><h1>right</h1></div> div加浮动 h1也要加浮动 】因为在ie6下 内容会撑开父级,h1为块元素 撑开父级就占满整行了
在IE6、7下元素要通过浮动并在同一行,就给这行元素都加浮动
结构性问题:p标签不能包块标签
ie6下不支持点线 1px dotted 解决:切背景图 平铺
双边距bug:块元素浮动 加 左右margin 会产生双边距bug 解决 display:inline【转成内嵌元素】 :margin-right 右侧有双边距 margin-left 一行 左侧的第一个元素有双边距
在ie6下解决margin传递要触发haslayout 其他浏览器解决 加overflow:hidden 或 元素或他的子元素 浮动
在ie6下父级有边框的时候,子元素的margin消失 解决:触发父级的haslayout
当一行子元素 占有的宽度之和 和 父级相差超过3像素 或者 有一行不满行状态时 最后一行子元素的下margin在ie6下会失效。解决 暂无
ie6下文字溢出bug:子元素和父级元素的宽度相差小于3px的时候,两个浮动元素中间有注释或者内嵌元素时 会产生 解决:用div把注释和内嵌元素整个的包裹起来,或者设置子元素的宽度小于父级宽度3px+
定位问题bug
1. 当浮动元素 与 绝对定位元素 是同一行时,绝对定位元素会消失 解决:给定位元素加外面包div
2. 在ie6、7下,子元素有相对定位的话,父级的overflow包不住子元素【原因是定位增加了元素层级,解决办法是 给父级也加相对定位提高层级】 解决:给父级也加相对定位
3. 在ie6下 绝对定位元素的父级宽高是奇数的时候,元素的right值和bottom值会有一像素的偏差,解决:父级的宽高尽量是偶数
输入类型表单控件bug:
1. 在ie6、7下输入类型的表单控件上下各有一像素的间隙 解决 : 给input加浮动
2. 在ie6、7下输入类型的border:none;border依然有 解决 重新给input加背景
3. 在ie6、7下输入类型的表单控件 输入文字后 背景图片会跟着一起移动
div 文字超出隐藏 overflow:hidden;text-overflow:ellipsis;white-space:nowrap; 设置了容器宽度就可以了 很方便