CSS 中ie6兼容问题
2016-04-14 09:15
246 查看
1)CSS Bug:CSS样式在各个浏览器中解析不一致的情况,或者说是CSS样式在浏览器中不正确显示问题,成为CSS Bug
2)CSS Hack: CSS 中,Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法,因为他们都属于个人对CSS代码的
非官方修改,或者非官方补丁。有人喜欢用patch(补丁)来描述这种行为。
3)Filter:表示过滤器的意思,是一种对特定浏览器或者浏览器组显示或者隐藏规定声明的方法,本质上说,Filter是一种用来
过滤不同浏览器的Hack类型
*使用Hack带来一些副作用
IE6常见CSS解析Bug和Hack
1)图片间隙
a) div中图片间隙(出现在IE6以及更低版本中)
描述:在div中插入图片,图片会将div下方撑大3像素。
hack1:将</div>和<img> 写在一行
hack2 :将<img>转为块元素,给其添加声明:display:block;
b)dt,li中图片间隙问题(IE 6)
hack : 将<img>转为块元素,给<img>加声明:display : block;
IE6中 li解析高度会多2px, 将 li 转为块元素,加声明:display : block;
2)默认高度(IE6)
描述:ie6及以下版本,部分块元素会有默认高度(低于18px高度)
hack1:给元素添加声明: font-size:0; //前提是该块元素里没有文字
hack2:给元素添加声明:overflow:hidden;
hack3: 在元素中插入html注释:<!---->
hack4:.在元素中插入html的空白符:
3)表单行高不一致(IE,MOZ,C,O,S)
描述:表单行高对其方式不一致
hack :给表单元素添加声明: float:left;
4)百分比bug
描述:在IE6以及以下版本中解析百分比时,会按四舍五入的方法计算百分比,从而导致50%加50%大于100%的情况。
hack:给右边的元素添加声明:clear:right; //清除右浮动。
clear:left; //清除左浮动。
clear:both; //清除两边浮动。
5) 透明属性
IE浏览器写法:filter:alpha(opacity=value); //取值范围 1-100(IE8以下)
兼容其他浏览器写法:opacity:value;(value 取值0~1,例如 0.1,0.2~0.9)
6)[b]在IE6以及以下版本中,列表阶梯bug[/b]
a)描述: 当li里的元素a转为块元素时,并设置高度,在IE6以下会呈现li垂直效果
hack:如果想让所有的列表在一行显示,需要将li里的a设置浮动即可。
b)描述:在给子元素使用float:left ,并且设置高度,父元素中设置浮动,会出现梯效果
hack:给父元素设置浮动
c)描述:li里的a{ display:block}(IE7)以下出现行高不一致情况
hack1:给a加声明 : display:inline-block ;
hack2:给li 加float:left;并设li的宽度等于父元素
7)[b]在IE6文本框<input type = "text"/>会多解析1px;[/b]
hack1:相应的把文本框的高度设小1px;
8)[b] 在IE6中奇数宽高的BUG[/b]
描述:IE6中奇数的高宽显示大小与偶数高宽显示大小存在一定的不同。其中要问题是出在奇数高宽上。
hack:要解决此类问题,只需要尽量将外部定位的div高宽写成偶数即可。
9)IE6中图片链接的下方有间隙
IE6中图片的下方会存在一定的间隙,尤其在图片垂直挨着图片的时候,即可看到这样的间隙。要解决此类问题,需要将img标签定义为display:block 或定义vertical-align对应的属性。也可以为img对应的样式写入font-size:0
10)在ie6中有时候宽度并没有超出,但是会重复最后1个字的情况
hack1:删除它周围的注释
hack2:在父级元素加上: display:inline;
hack3:去掉父级元素的宽度
hack4:在重复的元素后面添加<br/>
hack5:给文字外面套<div></div>
hack6:清除浮动
11)在ie6中,dl中插入图片如果宽度不够,最右边的dl会被挤下去,
hack:在里面在套用一个<div></div>给其设置外面div的宽度+缺失的宽度,在给此div设置:overflow:hidden;
2)CSS Hack: CSS 中,Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法,因为他们都属于个人对CSS代码的
非官方修改,或者非官方补丁。有人喜欢用patch(补丁)来描述这种行为。
3)Filter:表示过滤器的意思,是一种对特定浏览器或者浏览器组显示或者隐藏规定声明的方法,本质上说,Filter是一种用来
过滤不同浏览器的Hack类型
*使用Hack带来一些副作用
IE6常见CSS解析Bug和Hack
1)图片间隙
a) div中图片间隙(出现在IE6以及更低版本中)
描述:在div中插入图片,图片会将div下方撑大3像素。
hack1:将</div>和<img> 写在一行
hack2 :将<img>转为块元素,给其添加声明:display:block;
b)dt,li中图片间隙问题(IE 6)
hack : 将<img>转为块元素,给<img>加声明:display : block;
IE6中 li解析高度会多2px, 将 li 转为块元素,加声明:display : block;
2)默认高度(IE6)
描述:ie6及以下版本,部分块元素会有默认高度(低于18px高度)
hack1:给元素添加声明: font-size:0; //前提是该块元素里没有文字
hack2:给元素添加声明:overflow:hidden;
hack3: 在元素中插入html注释:<!---->
hack4:.在元素中插入html的空白符:
3)表单行高不一致(IE,MOZ,C,O,S)
描述:表单行高对其方式不一致
hack :给表单元素添加声明: float:left;
4)百分比bug
描述:在IE6以及以下版本中解析百分比时,会按四舍五入的方法计算百分比,从而导致50%加50%大于100%的情况。
hack:给右边的元素添加声明:clear:right; //清除右浮动。
clear:left; //清除左浮动。
clear:both; //清除两边浮动。
5) 透明属性
IE浏览器写法:filter:alpha(opacity=value); //取值范围 1-100(IE8以下)
兼容其他浏览器写法:opacity:value;(value 取值0~1,例如 0.1,0.2~0.9)
6)[b]在IE6以及以下版本中,列表阶梯bug[/b]
a)描述: 当li里的元素a转为块元素时,并设置高度,在IE6以下会呈现li垂直效果
hack:如果想让所有的列表在一行显示,需要将li里的a设置浮动即可。
b)描述:在给子元素使用float:left ,并且设置高度,父元素中设置浮动,会出现梯效果
hack:给父元素设置浮动
c)描述:li里的a{ display:block}(IE7)以下出现行高不一致情况
hack1:给a加声明 : display:inline-block ;
hack2:给li 加float:left;并设li的宽度等于父元素
7)[b]在IE6文本框<input type = "text"/>会多解析1px;[/b]
hack1:相应的把文本框的高度设小1px;
8)[b] 在IE6中奇数宽高的BUG[/b]
描述:IE6中奇数的高宽显示大小与偶数高宽显示大小存在一定的不同。其中要问题是出在奇数高宽上。
hack:要解决此类问题,只需要尽量将外部定位的div高宽写成偶数即可。
9)IE6中图片链接的下方有间隙
IE6中图片的下方会存在一定的间隙,尤其在图片垂直挨着图片的时候,即可看到这样的间隙。要解决此类问题,需要将img标签定义为display:block 或定义vertical-align对应的属性。也可以为img对应的样式写入font-size:0
10)在ie6中有时候宽度并没有超出,但是会重复最后1个字的情况
hack1:删除它周围的注释
hack2:在父级元素加上: display:inline;
hack3:去掉父级元素的宽度
hack4:在重复的元素后面添加<br/>
hack5:给文字外面套<div></div>
hack6:清除浮动
11)在ie6中,dl中插入图片如果宽度不够,最右边的dl会被挤下去,
hack:在里面在套用一个<div></div>给其设置外面div的宽度+缺失的宽度,在给此div设置:overflow:hidden;
相关文章推荐
- css 时间线 面包屑 进度条
- css控制UL LI 的样式详解
- 关于css
- css——多行文字固定高度垂直居中(ie6.7.8.9 chrome ff)
- CSS3选择器总结
- 你不知道的CSS(边框塌陷)
- CSS中的绝对定位与相对定位
- 如何使用CSS实现小三角形效果
- CSS 外边距合并
- CSS小叙
- 一起熟悉css选择器
- CSS3---变形与动画效果
- 使用Sass优雅并高效的实现CSS中的垂直水平居中(附带Flex布局,CSS3+SASS完美版)
- css3 监听webkitAnimationEnd运动结束 后执行什么
- CSS选择器详解一
- CSS:CSS 在工程中改变——面向对象的CSS (OO CSS)
- css3 用border写三角形
- css学习
- JSP的CSS背景样式写法
- css的定位: