2010-8-18
去腾讯面试,问IE6 。
前两天看的《IE6 很邪恶,但我爱它的盒子模型》,我说盒子模型如何如何,面试官告诉我IE5的盒子模型有问题,不是IE6 。
回来查查书,《Web标准实战》上说了,是IE5/Win的盒子模型有问题 。看来CSS还是不够精通 。
特实验如下:
实验1:验证width、padding、border
渲染模式:标准模式
结论:标准模式时,IE6浏览器采用W3C盒子模型,此时IE6、Firefox表现一致 。
代码:
复制代码代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-Hans" lang="zh-Hans"
head
meta http-equiv="Content-Type" content="text/html;charset=utf-8" /
titlebox/title
style type="text/css"
.clear
{
clear:both;
}
pre
{
margin:0;
white-space:pre-wrap;
word-wrap:break-word;
}
#container
{
width:700px;
margin:0 auto;
}
#content_1
{
background:#FFCC00;
border:20px solid #D65C00;
float:left;
height:300px;
width:200px;
padding:30px;
}
#content_2
{
background:#CEEDFC;
border:20px solid #336699;
float:right;
height:300px;
padding:30px;
width:300px;
}
/style
/head
body
div id="container"
p已声名DOCTYPE html,即渲染模式:标准模式 。
/p
p标准模式时,IE6浏览器采用W3C盒子模型,此时IE6、Firefox表现一致 。
/p
pre
#container
{
width:700px;
margin:0 auto;
}
/pre
div id="content_1"
pre
#content_1
{
background:#FFCC00;
border:20px solid #D65C00;
float:left;
height:300px;
width:200px;
padding:30px;
}
/pre
/div
div id="content_2"
pre
#content_2
{
background:#CEEDFC;
border:20px solid #336699;
float:right;
height:300px;
padding:30px;
width:300px;
}
/pre
/div
div class="clear"
/div
img src="/images/defaultpic.gif" /
/div
/body
/html
截图:
实验2:验证 IE6 双倍边距bug
渲染模式:标准模式
结论:标准模式时,IE6浏览器存在双倍margin的bug,此时IE6、Firefox表现不一致 。
代码:
复制代码代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-Hans" lang="zh-Hans"
head
meta http-equiv="Content-Type" content="text/html;charset=utf-8" /
titlebox/title
style type="text/css"
.clear
{
clear:both;
}
pre
{
margin:0;
white-space:pre-wrap;
word-wrap:break-word;
}
#container
{
width:700px;
margin:0 auto;
}
#content_1
{
background:#FFCC00;
border:20px solid #D65C00;
float:left;
height:300px;
margin-left:10px;
margin-right:10px;
width:200px;
padding:30px;
}
#content_2
{
background:#CEEDFC;
border:20px solid #336699;
float:right;
height:300px;
padding:30px;
width:280px;
}
/style
/head
body
div id="container"
p已声名DOCTYPE html,即渲染模式:标准模式 。
/p
p标准模式时,IE6浏览器存在双倍margin的bug,此时IE6、Firefox表现不一致 。
/p
pre
#container
{
width:700px;
margin:0 auto;
}
/pre
div id="content_1"
pre
#content_1
{
background:#FFCC00;
border:20px solid #D65C00;
float:left;
height:300px;
margin-left:10px;
margin-right:10px;
width:200px;
推荐阅读
- 被渲染成默认色 使用滤镜解决IE6下png图片不能透明的问题
- ie6、ie7dom 元素重新渲染及zoom的使用
- IE6中的position:fixed定位兼容性写法分享
- IE6、IE7中获取Button元素的值的bug说明
- 全集 IE6中PNG Alpha透明
- IE6 float:left margin-left出现两倍像素
- 关于onScroll事件在IE6下每次滚动触发三次bug说明
- ie6 注释引起的问题
- IE6 注释引起的文字溢出和浮动错位的解决思路
- 兼容ie6浏览器的php下载文件代码分享