IE6之前盒装模型Bug解决办法!
2005-09-11 14:29
274 查看
先温习一下对于IE的box-model的破解
IE box-model这个臭名昭著的bug存在于IE6/Win以前的每一只版本,这个虫子直到tantak发布了流传最为广泛的那个hack才开始被驯服
http://www.tantek.com/CSS/Examples/boxmodelhack.html
IE5.X/win对box-model的解析是一样的,他们认为width包括了边框(border)和补白(padding),幸运的是这个情况在IE6中有了好转
但是IE6在向后兼容的同时也包容了以前的错误,IE6其实有两个核心,在旧的页面前他仍旧表现出对错误的宽容,只有在文档中严格地加上文档类型(DOCTYPE)声明,IE6才能够接受正确的box-model
所以,tantak的hack必须和正确的DOCTYPE同时包含在文档中才能够正常工作
div.content {
width:400px; //这个是错误的width,所有浏览器都读到了
voice-family: "/"}/""; //IE5.X/win忽略了"/"}/""后的内容
voice-family:inherit;
width:300px; //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的
}
html>body .content { //html>body是CSS2的写法
width:300px; //支持CSS2该写法的浏览器有幸读到了这一句
}
IE box-model这个臭名昭著的bug存在于IE6/Win以前的每一只版本,这个虫子直到tantak发布了流传最为广泛的那个hack才开始被驯服
http://www.tantek.com/CSS/Examples/boxmodelhack.html
IE5.X/win对box-model的解析是一样的,他们认为width包括了边框(border)和补白(padding),幸运的是这个情况在IE6中有了好转
但是IE6在向后兼容的同时也包容了以前的错误,IE6其实有两个核心,在旧的页面前他仍旧表现出对错误的宽容,只有在文档中严格地加上文档类型(DOCTYPE)声明,IE6才能够接受正确的box-model
所以,tantak的hack必须和正确的DOCTYPE同时包含在文档中才能够正常工作
div.content {
width:400px; //这个是错误的width,所有浏览器都读到了
voice-family: "/"}/""; //IE5.X/win忽略了"/"}/""后的内容
voice-family:inherit;
width:300px; //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的
}
html>body .content { //html>body是CSS2的写法
width:300px; //支持CSS2该写法的浏览器有幸读到了这一句
}
相关文章推荐
- IE6 Select元素无法被div等元素覆盖的bug解决办法
- IE6下div图片下边4px空隙bug的解决办法
- IE6下div图片下边4px空隙bug的解决办法
- IE6下 Bug overflow:hidden无效解决办法
- IE6 Select元素无法被div等元素覆盖的bug解决办法
- IE6绝对定位的bug及其解决办法
- IE6相对父容器绝对定位的bug及其解决办法
- <li>标签在ie6下的上下间隔的BUG解决办法
- IE6下最后几个字符重复bug的解决办法
- IE6文字溢出bug解决办法
- js鼠标滑过弹出层的定位IE6bug解决办法
- jquery IE6 select.val() bug报错解决办法
- 解决IE6浮动元素产生的“双边距”BUG问题及解决办法
- jquery IE6 select.val() bug报错解决办法
- IE6 Select元素无法被div等元素覆盖的bug解决办法
- ie6下 line-height设置行高失效bug解决办法
- IE6 透明PNG图片BUG解决办法(转)
- IE6中float:left后导致margin-left双倍边距的BUG解决办法就是是加上display:inline
- CSS在IE6下的一些BUG和兼容性问题及解决办法
- IE6下BUG解决办法汇总