疯狂抨击ie6下各种扭曲行为
从开始接触ie6就被它强大的力量给震住了,虽然它很可怕,但是我总归得想方设法把它给扼杀在摇篮外。以下是我在ie6下面碰到的一些扭曲行为,弱弱的把它给干掉!!!
1.浮动下margin翻倍问题(很典型,估计大家都知道了)。
div {float: left; width: 100px; margin: 10px; display: inline;}
只需在div中添加display: inline;这个问题就迎刃而解了。
2.margin失效问题。
<div class="container">
<div class="welcome">
<a href="#" class="u-player">玩家</a><a href="#" class="u-quit">退出</a>
</div>
</div>
<style type="text/css">
.container {width: 290px; border: 1px solid red; padding-bottom: 8px;}
.welcome {height: 40px; line-height: 40px; margin: 0 15px; border-bottom: 1px solid #DDDDDD; font-size: 14px;}
.welcome .u-player {float: left;}
.welcome .u-quit {float: right;}
.welcome a:hover {text-decoration: underline; color: #ff6600;}
</style>
ie6下面margin失效,只有当container定义width或者zoom:1或者height: 1%的情况下,margin才能起作用。
3.ie6下text-indent导致标签消失。
只需将display设置为block即可。
4.ie6下title关键字和位置导致页面为空白。
title下面包括"开心"、"所有"关键字时,ie6下为空白页面(我暂时发现这两个字),可以将关键字去掉或者将<title></title>放置在<meta http-equiv=”Content-Type” content=”text/html;charset=utf-8”/>也可以恢复正常页面。
5.ie6下面z-index失效问题(这个问题我纠结了很久……)。
.wrapper {width: 1200px; margin: auto;}
.side {position: relative; z-index:; float: left; width: 240px; height: 300px; background: #000000;}
.main {float: right; width: 710px; height: 500px; background: blue;}
/* 查找区服 */
.search {position: relative; z-index: 2; }
.search span {display: inline-block; width: 120px; line-height: 30px; background: red; text-align: center; color: white;}
.all-server {position: absolute; left: 200px; width: 200px; height: 400px; background: #696969;}
.all-server ul li a {color: white;}
/* 滚动图片 */
.slide ul {position: relative; width: 900px; }
.slide ul li {float: left; width: 400px;}
.slide ul li img {width: 400px;}
<!-- ie下面z-index失效 -->
<div class="wrapper clearfix">
<div class="side"> <!-- 需要给side设置position:relative和z-index:2,这不是追踪到父级,而是父级的父级的父级,追踪了三层 -->
<div class="server">
<div class="search">
<span>所有区服</span>
<div class="all-server"> <!-- 这个地方是绝对定位 -->
<ul>
<li><a href="#">444服-大幅度发</a></li>
<li><a href="#">444服-大幅度发</a></li>
<li><a href="#">444服-大幅度发</a></li>
<li><a href="#">444服-大幅度发</a></li>
<li><a href="#">444服-大幅度发</a></li>
<li><a href="#">444服-大幅度发</a></li>
<li><a href="#">444服-大幅度发</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="main">
<div class="slide">
<ul> <!-- 这个地方是用相对定位,因为图片滚动,所以需要用到相对定位 -->
<li><img src="http://imgs2.mxthcdn.com/d/I26gkb868263768568468_eZDLVE.jpg"/></li>
<li><img src="http://imgs2.mxthcdn.com/d/I26gkb868263768568468_eZDLVE.jpg"/></li>
</ul>
</div>
</div>
</div>
all-server所有区服是绝对定位,slide滚动图片中ul是相对定位。看文档说在ie6下面只需将所有区服父级设置position:relative和z-index:2(只要高过slide中即可),但是最后发现这样设置是无效的。只有在side标签中设置position:relative和z-index:2才能起作用,也就是追踪了三层,all-server的父级是search,父级的父级是server,父级的父级的父级才是side,那是什么引起要追踪这么多层呢?原来是float:left引起的,我只要将float:left去掉,就可以实现all-server父级的z-index比slide的高即可,原来是浮动讲这个带入到坑中。。。

6.ie6下面绝对定位到顶部。
.footer {position: fixed; bottom:; width: 100%; line-height: 100px; background: #000000; color: white; font-size: 20px; text-align: center;}
<!--[if IE 6]>
<style type="text/css">
/* 兼容IE6 */
.footer{
_position: absolute;
_top: expression(documentElement.scrollTop + document.documentElement.clientHeight - this.offsetHeight);
}
* html,* html body{background-image:url(about:blank);background-attachment:fixed;} /* 防止滚动条滚动时闪烁 */ </style>
<![endif]-->
<!-- footer最底部 -->
<div class="footer">
I'm footer!
</div>
除了ie6,其他浏览器绝对定位只要用position:fixed,就可以定位到默认位置,而ie6不行,它不识别fixed这个东西,它只能用absolute来定位。documentElement.scrollTop表示滚动条以上的内容(也就是上部肉眼看不到的文档内容), document.documentElement.clientHeight表示该标签上部内容,不包括看不到的文档内容, this.offsetHeight表示自己的高度,用滚动条上部看不到文档+看得到文档-自己高度不就可以实现footer为最底部了么?
7.js判断ie6浏览器。
if ('undefined' == typeof(document.body.style.maxHeight)) {
console.log(” I’m ie6!” );
}
疯狂抨击ie6下各种扭曲行为的更多相关文章
- 【IE6的疯狂之十三】IE6下使用滤镜后链接不能点击的BUG
大家可能都知道IE6下使用DXImageTransform.Microsoft.AlphaImageLoader滤镜(用于PNG32 Alpha透明)后链接不能点击的BUG,大家也都知道只要在a标签上 ...
- 【IE6的疯狂之十一】CSS的优先级及!important在IE6下的BUG
一 css的优先级 今天有人跟我说css hack中用!important来区分ie6,因为ie6不支持!important,是的在很早以前我也是用过这种方法写hack,但是后来就基本不用了.本来我对 ...
- IE6下的png透明图片的背景定位
在IE6下PNG透明图片做背景,无法使用background-position进行定位.但是可以使用margin和绝对定位来进行. 另外,由于IE6下的 :hover 只对<a>支持,对其 ...
- ie6下js更新元素display:block后,仍然不显示的hack办法
$hotGames.html(html).removeClass("hide").show();//代码执行到这里,在ie6下仍然无法正常显示 //只有执行了下边的两行代码后,才正 ...
- 解决IE6下png图片透明度不显示的问题
世界上最遥远的距离,不外乎我在搞前端,你却在用旧IE,现在随着XP要退休了,IE6的市场占有率应该也会逐步下滑.不过基于天朝人民的惰性以及企鹅微软的“扎篱笆”活动,做网站的朋友依旧不能忽视IE6的存在 ...
- IE6下png格式图片显示问题
一开始是使用 _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/bgBtn.png'); /* IE6 * ...
- IE6下margin时,float浮动产生双倍边距
今天遇到了一个IE6下的兼容性问题,虽然IE6已经不被大众所期待了,用户也已基本上消失的所剩无几,但是,作为一个问题而存在,我们有必要尝试的去研究一下bug的改善方法 对元素float-left,然后 ...
- IE6下div层被select控件遮住的问题解决方法
Select在IE6下是处于最顶层的,因此想要遮住它,设置zIndex属性是不行的,就需要一个优先级更高的元素,就是iframe,当把iframe嵌套在弹出div层中后,把iframe设置为不可见,但 ...
- ie6下内容会撑开父级设置好的宽高
在ie6下,内容的宽高会撑开父级设置好的宽高,在其他浏览器下不会. 会出现的问题是:如果内容宽度大于父级设置好的宽度,内容的最后一个元素会换行显示. 注意:在计算时,务必做到精准,不然可能会产生不必要 ...
随机推荐
- Object C学习笔记17-动态判断和选择器
当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...
- 20.C#LINQ基础和简单使用(十一章11.1-11.2)
终于看到了第11章,之前虽然也有看过,但没有太仔细,在工作中也偶尔会使用,但不明白其中的原理,那现在就来讲讲LINQ,做一做书虫~~ 首先先了解下LINQ的三个要点: LINQ不能把非常复杂的查询表达 ...
- [c#基础]值类型和引用类型的Equals,==的区别
引言 最近一个朋友正在找工作,他说在笔试题中遇到Equals和==有什么区别的题,当时跟他说如果是值类型的,它们没有区别,如果是引用类型的有区别,但string类型除外.为了证实自己的说法,也研究了一 ...
- Bootstrap3.0学习第二十五轮(JavaScript插件——折叠)
详情请查看http://aehyok.com/Blog/Detail/31.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- Future模式
Future模式简介 Future模式有点类似于网上购物,在你购买商品,订单生效之后,你可以去做自己的事情,等待商家通过快递给你送货上门.Future模式就是,当某一程序提交请求,期望得到一个答复.但 ...
- XCode7继续用http协议解决办法
昨天被苹果放鸽子也没升级iOS9,今天升级了Xcode7,同时手机升级了iOS9,发现项目报错,查了查才知道是iOS9不支持不安全的http传输协议,让用https协议,这根本就不x现实,,服务端根本 ...
- Spring-事物传播行为
spring事物的传播属性(7种) REQUIRED(默认) 业务方法需要在一个容器里运行.如果方法运行时,已经处在一个事务中,那么加入到这个事务,否则自己新建一个新的事务. 存在事物,则使用当前事物 ...
- Cocos2d-X3.0 刨根问底(三)----- Director类源码分析
上一章我们完整的跟了一遍HelloWorld的源码,了解了Cocos2d-x的启动流程.其中Director这个类贯穿了整个Application程序,这章随小鱼一起把这个类分析透彻. 小鱼的阅读源码 ...
- Bringing up interface eth0: Error:Connection activation failed:Device not managed by NetworkManager
Just follow the below steps and everything will be ok... 1. Remove Network Manager from startup Se ...
- BZOJ3229 石子合并
Description 在一个操场上摆放着一排N堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分. 试设计一个算法,计算出将N堆石 ...