IE6/FF/google等浏览器hack的方法有哪些?hack技巧分享
2024-06-24 10:35:31阅读量:34 字体:大 中 小
一、IE6 下
a标签嵌套img标签IE下会有边框,那是超链接默认的样式,解决办法:img{border:0 none;}
1、终极方法:条件注释
缺点是在IE浏览器下可能会增加额外的HTTP请求数。
2、CSS选择器区分
IE6不支持子选择器;先针对IE6使用常规申明CSS选择器,然后再用子选择器针对IE7+及其他浏览器。
/* IE6 专用 */
.content {color:red;}
/* 其他浏览器 */
div>p .content {color:blue;} -->
3、PNG半透明图片的问题
虽然可以通过JS等方式解决,但依然存在载入速度等问题,所以,这个在设计上能避免还是尽量避免为好。以达到网站最大优化。
4、IE6下的圆角
IE6不支持CSS3的圆角属性,性价比最高的解决方法就是用图片圆角来替代,或者放弃IE6的圆角。
5、IE6背景闪烁
如果你给链接、按钮用CSS sprites作为背景,你可能会发现在IE6下会有背景图闪烁的现象。造成这个的原因是由于IE6没有将背景图缓存,每次触发hover的时候都会重新加载,可以用JavaScript设置IE6缓存这些图片:
document.execCommand("BackgroundImageCache",false,true);
6、最小高度
IE6 不支持min-height属性,但它却认为height就是最小高度。解决方法:使用ie6不支持但其余浏览器支持的属性!important。
#container {min-height:200px; height:auto !important; height:200px;}
7、最大高度
//直接使用ID来改变元素的最大高度
var container = document.getElementById('container');
container.style.height = (container.scrollHeight > 199) ? "200px" : "auto";
//写成函数来运行
function setMaxHeight(elementId, height){
var container = document.getElementById(elementId);
container.style.height = (container.scrollHeight > (height - 1)) ? height + "px" : "auto";
}
//函数示例
setMaxHeight('container1', 200);
setMaxHeight('container2', 500);
8、100% 高度
在IE6下,如果要给元素定义100%高度,必须要明确定义它的父级元素的高度,如果你需要给元素定义满屏的高度,就得先给html和body定义height:100%;。
9、最小宽度
同max-height和max-width一样,IE6也不支持min-width。
//直接使用ID来改变元素的最小宽度
var container = document.getElementById('container');
container.style.width = (container.clientWidth < width) ? "500px" : "auto";
//写成函数来运行
function setMinWidth(elementId, width){
var container = document.getElementById(elementId);
container.style.width = (container.clientWidth < width) ? width + "px" : "auto";
}
//函数示例
setMinWidth('container1', 200);
setMinWidth('container2', 500);
10、最大宽度
//直接使用ID来改变元素的最大宽度
var container = document.getElementById(elementId);
container.style.width = (container.clientWidth > (width - 1)) ? width + "px" : "auto";
//写成函数来运行
function setMaxWidth(elementId, width){
var container = document.getElementById(elementId);
container.style.width = (container.clientWidth > (width - 1)) ? width + "px" : "auto";
}
//函数示例
setMaxWidth('container1', 200);
setMaxWidth('container2', 500);
11、双边距Bug
当元素浮动时,IE6会错误的把浮动方向的margin值双倍计算。个人觉得较好解决方法是避免float和margin同时使用。
12、清除浮动
如果你想用div(或其他容器)包裹一个浮动的元素,你会发现必须给div(容器)定义明确的height、width、overflow之中一个属性(除了auto值)才能将浮动元素严实地包裹。
#container {border:1px solid #333; overflow:auto; height:100%;}
#floated1 {float:left; height:300px; width:200px; background:#00F;}
#floated2 {float:right; height:400px; width:200px; background:#F0F;}
13、浮动层错位
当内容超出外包容器定义的宽度时,在IE6中容器会忽视定义的width值,宽度会错误地随内容宽度增长而增长。
浮动层错位问题在IE6下没有真正让人满意的解决方法,虽然可以使用overflow:hidden;或overflow:scroll;来修正,但hidden容易导致其他一些问题,scroll会破坏设计;JavaScript也没法很好地解决这个问题。所以建议是一定要在布局上避免这个问题发生,使用一个固定的布局或者控制好内容的宽度(给内层加width)。
14、躲猫猫bug
在IE6和IE7下,躲猫猫bug是一个非常恼人的问题。一个撑破了容器的浮动元素,如果在他之后有不浮动的内容,并且有一些定义了:hover的链接,当鼠标移到那些链接上时,在IE6下就会触发躲猫猫。
解决方法很简单:
1.在(那个未浮动的)内容之后添加一个
2.触发包含了这些链接的容器的hasLayout,一个简单的方法就是给其定义height:1%;
15、绝对定位元素的1像素间距bug
IE6下的这个错误是由于进位处理误差造成(IE7已修复),当绝对定位元素的父元素高或宽为奇数时,bottom和right会产生错误。唯一的解决办法就是给父元素定义明确的高宽值,但对于液态布局没有完美的解决方法。
16、3像素间距bug
在IE6中,当文本(或无浮动元素)跟在一个浮动的元素之后,文本和这个浮动元素之间会多出3像素的间隔。
给浮动层添加 display:inline 和 -3px 负值margin
给中间的内容层定义 margin-right 以纠正-3px
17、IE下z-index的bug
在IE浏览器中,定位元素的z-index层级是相对于各自的父级容器,所以会导致z-index出现错误的表现。解决方法是给其父级元素定义z-index,有些情况下还需要定义position:relative。
18、Overflow Bug
在IE6/7中,overflow无法正确的隐藏有相对定位position:relative;的子元素。解决方法就是给外包容器.wrap加上position:relative;。
19、横向列表宽度bug
如果你使用float:left;把
20、列表阶梯bug
列表阶梯bug通常会在给
21、垂直列表间隙bug
当我们使用
解决方法:把flaot并且清除float来解决这个问题;另外一个办法就是触发的hasLayout(如定义高宽、使用zoom:1;);也可以给
22、IE6中的:hover
在IE6中,除了(需要有href属性)才能触发:hover行为,这妨碍了我们实现许多鼠标触碰效果,但还是有一些法子是可以解决它的。最好是不要用:hover来实现重要的功能,仅仅只用它来强化效果。
23、IE6调整窗口大小的 Bug
当把body居中放置,改变IE浏览器大小的时候,任何在body里面的相对定位元素都会固定不动了。解决办法:给body定义position:relative;就行了。
24、文本重复Bug
在IE6中,一些隐藏的元素(如注释、display:none;的元素)被包含在一个浮动元素里,就有可能引发文本重复bug。解决办法:给浮动元素添加display:inline;。
25、IE6下 行高 line-height实效,甚至变成两杯行高
这需要ie6 的hack 减少对象一半行高
另:在ie6中,当文字和img、input、textarea、select、object等对象在同一个容器中的时候,line-height属性失效。只有全文字时,line-height属性才有效。
解决方法:
在其中一个非文字的对象的样式中增加:

免责声明:
本文《IE6/FF/google等浏览器hack的方法有哪些?hack技巧分享》版权归原作者所有,内容不代表本站立场!
如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。
推荐阅读

抖音可以注销了重新注册吗
抖音注销了可以重新注册,抖音账号注销后,一般需要两个星期过后才可以重新注册账号。具体的操作方式如下: 抖音可以注销了重新注册吗 1、打开抖音,点击进入我”的界面。 2、进入我&rdquo...
阅读: 727

美团异地怎么点外卖给别人
美团异地可以通过修改收货地址的方法来给别人点外卖,修改收货地址给别人点外卖的具体操作步骤如下: 美团异地怎么点外卖给别人 1、打开美团app,在首页上方点击外卖进入外卖界面。 2、进入外卖界面后,点...
阅读: 727

支付宝悄悄话怎么知道对方看没看
支付宝的悄悄话是阅后即焚的消息,如果发送悄悄话过去,悄悄话消失了就证明对方已看。具体操作方法如下: 支付宝悄悄话怎么知道对方看没看 1、打开手机支付宝app,点击消息”,再点击右上角人像。...
阅读: 1504

健康码代领怎么弄
在家里的老人孩子都不会操作手机的时候,可以代领健康码,在微信的防疫健康码中即可进行代领。具体操作方法如下: 健康码代领怎么弄 1、打开手机微信app,点击我”。 2、点击服务&rdquo...
阅读: 751

倒数日怎么删除不用的事件
倒数日是一款倒计时软件,添加的事件可以进行删除,进入事件编辑即可删除。具体操作方法如下: 倒数日怎么删除不用的事件 1、打开手机倒数日app,点击需要删除的事件,进入事件页面。 2、点击右上角笔的标...
阅读: 699

怎么关闭零钱通
零钱通是微信中的一个理财产品,如果需要关闭,在零钱通的设置中直接关闭即可。具体操作方法如下: 怎么关闭零钱通 1、打开手机微信app,点击我”。 2、点击服务”。 3、点击...
阅读: 716
热门文章
1.快手聚星怎么开通
- 1

- 快手聚星怎么开通
- 2022-12-27
- 1
2.剪映贴纸怎么跟着遮挡部位走
- 2

- 剪映贴纸怎么跟着遮挡部位走
- 2022-12-27
- 2
3.没有京东白条怎么分期买手机
- 3

- 没有京东白条怎么分期买手机
- 2022-12-27
- 3
4.换新手机微信登录不上去怎么办
- 4

- 换新手机微信登录不上去怎么办
- 2022-12-27
- 4
5.超级QQ秀怎么删掉
- 5

- 超级QQ秀怎么删掉
- 2022-12-28
- 5
6.qq小屋从哪里进
- 6

- qq小屋从哪里进
- 2022-12-28
- 6
7.怎么知道对方关闭了活跃状态
- 7

- 怎么知道对方关闭了活跃状态
- 2022-12-28
- 7
8.上海公交车微信扫码支付步骤
- 8

- 上海公交车微信扫码支付步骤
- 2022-12-28
- 8
9.支付宝怎么设置花呗收款开关
- 9

- 支付宝怎么设置花呗收款开关
- 2022-12-28
- 9
10.剪映怎么局部变色
- 10

- 剪映怎么局部变色
- 2022-12-28
- 10
最近更新

酷狗音乐中使用蝰蛇音效制作工具的具体操作方法
2024-11-11

win7电脑中出现声音图标不见了的具体解决方法
2024-11-11

车到哪app的详细软件介绍
2024-11-11

小米9se中查看序列号的具体操作方法
2024-11-11

迅雷中使用FTP探测器的详细操作方法
2024-11-11

ppt制作出小荷才露尖尖角动画场景的具体操作步骤
2024-11-11
