- 浏览: 902465 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
qunhua1861:
我已做好准备,让您无可挑剔。白癜风常识http://www.4 ...
创业路上之谢谢王磊何公道丁凯李亚平黄小润张小兵 -
qunhua1861:
给我一份信任,还您一身健康。白癜风常识http://m.400 ...
创业路上之无尽感谢 -
qunhua1861:
以我真心、关心、耐心,换您放心、安心、舒心。<a hre ...
《博客园精华集》web标准分册第2论筛选结果文章列表 -
saieuler:
真的吗??
物理运动模拟引擎 -
saieuler:
每次都是学会了,过段时间又忘了
记录KMP算法,记录其经典之处。。。
IE7的web标准之道——3:(修正)引起页面布局混乱的祸首
<div style="border-right: teal 1px dotted; border-top: teal 1px dotted; font-size: 9pt; float: right; border-left: teal 1px dotted; width: 115px; color: teal; border-bottom: teal 1px dotted; text-align: center;">
<img alt="" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road.png"><br>
IE7的web标准之道</div>
<p>IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者开始关注web标准设计。看着FireFox的市场占有率不停的上升,微软终于推出了IE7。但IE7是否真的能够力挽狂澜,是否真的能够得到用户的信任,是否真的能够得到网页设计者的认可呢?</p>
<p>且看《IE7的web标准之道》系列文章,和你一起见证IE7的改变!</p>
<h4>前言</h4>
<p>现在,最令网页设计者头痛的问题就是网页在各个浏览器中的兼容性。而兼容性差最长见的,也是最令人恐惧的便是“页面布局混乱”。常常一个页面在IE6下显示的非常完美,而到了IE7(或者FireFox)中,则惨的“不堪入目”。到底是什么让这些页面那么的“水土不服”呢?</p>
<p>其实,这些都是IE6酿下的恶果,IE6对web标准的支持过于不足,甚至理解的有偏差,才导致了这些页面的“脆弱”。而IE7则修正了很多的那种“IE6对css解释和渲染”的bug。这种bug有很多。今天,这里只讲其中一个,但是确是最重要的一个,很多的“十分”混乱的页面都是它造成的。可以不客气地说,它简直就像“页面布局混乱黑帮”的幕后黑手,是引起页面布局混乱的祸首之一,而且是最大的一个。 它就是潜伏在网页背后的“‘overflow:visible’IE6渲染bug”。</p>
<h4>“不堪入目”的网页截图</h4>
<p>如果只是简单的说“‘overflow:visible’IE6渲染bug”,你可能完全没有印象。但是看看下面的这些“不堪入目”的网页截图,便能引起你心中那无限的伤感…… </p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie6.JPG" target="_blank"><img height="422" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie6.JPG" width="544"></a><br>
图:这是在IE6中显示的效果截图,“十分完美”(点击查看完整大图)</div>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_2">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">展开这里,查看在IE7中显示的效果截图</span>
</div>
<div class="haExpanded" id="divHaS_2">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie7.JPG" target="_blank"><img height="420" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie7.JPG" width="512"></a><br>
这是在IE7中显示的“不堪入目”的效果截图(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
</div>
<!--end: hiddenArea -->
<p>上面的两张截图,是我2007年在高达软件公司的真实项目截图。可以看出,在IE7下的显示已经严重变形,虽然不影响软件的功能使用,但是已经严重的影响了用户的使用体验(没有人喜欢拖动横向滚动条)。</p>
<p>再看看下面的这个网页截图,它是我们今天将要使用的例子(源代码在下方有提供),是一个标准的“上左右下”带侧边栏的虚拟网页。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_3">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">展开这里,查看、运行、保存【虚拟示例网页源代码】</span>
</div>
<div class="haExpanded" id="divHaS_3">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px;">
<textarea id="txtTestCode2" rows="12" cols="65"> <!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Keywords" content="YES!B/S!,web标准,杨正祎,博客园,实例代码" />
<meta name="Description" content="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/" />
<title>YES!B/S!文章示例页面</title>
<style>
body { margin: 0; padding: 0; }
#header {
width: 600px;
height: 50px;
background-color: red;
margin:0 auto;/*居中显示*/
}
#body{
width:600px;
margin:0 auto;/*居中显示*/
}
#sideBar{
width:150px;
background-color:#0000ff;
float:left;
height:244px;
}
#main{
width:354px;
float:left;
background-color:green;
height:
}
#footer{
width:600px;
margin:0 auto;
background-color:#666;
}
</style>
</head>
<body>
<div id="header">
这里是头部的内容。<br/ />
可能有网站标题,就像<a target="_blank" href="" title=" title="">博客园</a>博客的标题、副标题。<br/ />
也可能有导航栏在这里<br/ />
<strong>注意这句话在IE7中的显示1</strong><br/ />
<strong>注意这句话在IE7中的显示2</strong><br/ />
</div>
<div id="body">
<div id="sideBar">
这里是侧边栏,里面放一些辅助信息。就像<a target="_blank" href="" title=" title="">博客园</a>里面,每个人博客的侧边栏一样。<br/ />
也可能有人留言,下面就是一个人的留言哦。<br/ />
“大家好,我是杨正祎,我发现一个很不错的网址哦。http://www.justinyoungcnblogs.com”。欢迎大家去看看哦。
</div><!--end: sideBar -->
<div id="main">
这里是主体的内容,随便你写啦。我就写上我的博客地址吧——<a target="_blank" href="http://justinyoung.cnblogs.com/" title="IE7的web标准之道">YES!B/S!</a>
<p> 专注于B/S模式的项目。姓名:杨正祎(Justin Young),程序员,专注于B/S模式的项目开发,擅长于Web标准页面设计。</p>
<p>欢迎你们来为我的博客做客哦,里面有很多关于web标准方面的文章哦。请你们多多指教。</p>
<p>最后还要非常华丽的署名——杨正祎</p>
<p>日期当然也不能少啦——2008-2-21</p>
</div><!--end: main -->
</div><!--end: body -->
<div id="footer">
这里是footer,就放一些版权信息吧。©<a target="_blank" href="http://justinyoung.cnblogs.com/" title="IE7的web标准之道">YES!B/S!</a>
</div><!--end: footer -->
</body>
</html>
</textarea><div style="clear: both;">
<input type="button" value="运行代码"><input type="button" value="复制代码"><input type="button" value="另存代码"><span style="font-size: 9pt; color: #999;">提示:可以先在文本框内,根据需要修改代码后再运行</span> </div>
</div>
</div>
<!--end: haMain -->
</div>
</div>
<!--end: hiddenArea -->
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road10.gif" target="_blank"><img height="418" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road10.gif" width="539"></a><br>
图:这是在IE6中显示的效果截图,还算“整齐”(点击查看完整大图)</div>
<p>而当你展开下面这个折叠区域,去看这个页面在IE7下显示的效果图的时候,可能便会大吃一惊了。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_4">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">展开这里,查看在IE7中显示的效果截图</span>
</div>
<div class="haExpanded" id="divHaS_4">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road11.gif" target="_blank"><img height="398" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road11.gif" width="524"></a><br>
图:这是在IE7中显示的效果截图,已经“不堪入目”了(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
</div>
<!--end: hiddenArea -->
<p>我们惊讶的看到,网页“头部”变“矮”了,最后两句重要的句子“消失”了;侧边栏变“窄”了,那个重要的网址的后半部消失了(其实是被右面绿色的区域遮盖住了);而最令人沮丧的是,右面“缺了个大口子”。原本整齐的布局,已经完全消失,出现的是一个“一塌糊涂”的页面。</p>
<p>到底是什么,将一个原本好好的页面“糟蹋”成这样?且看下面的详细讲解……</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_6">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText"><strong>补充资料:虚拟测试页面在FireFox中的显示结果。初学者不建议阅读</strong></span>
</div>
<div class="haExpanded" id="divHaS_6">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road12.gif" target="_blank"><img height="398" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road12.gif" width="535"></a><br>
图:这是在FireFox中显示的效果截图,已经乱的“令人抓狂”了(点击查看完整大图)</div>
<p style="margin: auto 1em;">为什么在FireFox又有这么令人抓狂的显示呢?原来,这便是IE7的web标准之道的精髓了。随着web标准的推广和认可度的提高,IE7必须向web标准靠拢,但是有必须兼顾到,那些现在在IE6中还显示正常的亿万个已经存在的页面。这样矛盾就产生了——遵循标准就意味着页面会显示的乱七八糟,甚至无法浏览;但是如果太过于兼容IE6的那些烂摊子网页,又必然会离web标准越来越远。于是IE7走出了自己的web标准之道——绝对重视web标准,又稍微兼顾IE6的烂摊子。于是,IE7显示的那个页面虽然已经乱了,但是还不像在FireFox中显示的那样令人抓狂。</p>
<p>附:测试页面在Opera(版本9.25)中的显示效果截图(写文章的时候Opera正好有了新的升级版本)——</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road13.gif" target="_blank"><img height="355" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road13.gif" width="531"></a><br>
图:这是在Opera中显示的效果截图,“乱的程度”和FireFox是一样的(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<h4>“非也,非也”</h4>
<p>“千万别用IE7,IE7太垃圾了,浏览页面会出现布局混乱,一些在IE6中显示好好的页面,用IE7浏览布局就会混乱。”这种言论在网上会经常见到,好像是IE7才导致了那些页面的混乱。其实,非也,非也。</p>
<blockquote>悟空说:“师父快快回避,且待我一棒打死这妖精!”<br>
八戒说:“师父,那个姑娘俊俏的很,怎么会是妖怪呢?大师兄他骗人的!”<br>
唐僧说:“那位施主,只是一平常人家的姑娘,定然不会是什么妖魔鬼怪。悟空你休得胡言论语。”<br>
白骨精说:“ohYeah!2比1,看来这下安全了!”<br>
</blockquote>
<p>那些IE7浏览时会出现布局混乱的页面,就如同利用妖术变了身的白骨精一样,在八戒和唐僧的凡眼看来就是个俊俏的姑娘。但是,在猴哥的“火眼金睛”下便立刻现了形。而那些布局和样式隐藏着bug的页面,在IE6的袒护和包庇下,化身成“完美页面”,招摇过市。但是在IE7的严厉的审核下,自然“原形毕露”、“bug层出”,从而导致布局混乱。但是,令人遗憾的却是——IE7被那些不知情的“凡骨俗胎”的人们咒骂、贬低、踩在脚底……这是一出悲剧!</p>
<h4>表面原因——放纵的孩子和严厉的父亲</h4>
<p>在2007年5月份的时候,我曾经写过一篇文章,叫做<a title="IE6与IE7,放纵的孩子与严厉的父亲" href="http://www.cnblogs.com/JustinYoung/articles/754637.html" target="_blank">《IE6与IE7,放纵的孩子与严厉的父亲》</a>。当时技术水平和对web标准的认知有限,所以写出来的这篇文章,虽然从表面合理的解释了造成布局混乱的原因,但是并没有说到根本上去。可谓“只知其一,不知其二”,但是这里依然推荐你阅读一篇。因为“先知其一,再知其二”将更有助于这“其二”的原因。</p>
<h4>“其二”原因——IE6对“overflow:visible”的误解</h4>
<p>为了兼顾到对overflow可能还不是很了解到朋友,这里是关于overflow样式的一些资料:<a title="W3C关于overflow的资料" href="http://www.w3.org/TR/CSS2/visufx.html#overflow" target="_blank">W3C关于overflow的资料</a>。请注意W3C对于visible参数的解释——</p>
<blockquote>
<strong>Visible</strong>: "This value indicates that content is not clipped, i.e.,it may be rendered outside the block box(注:后面这句可能是后续版本补充上来的)". </blockquote>
<p>注意,w3c只是说,超出容器的内部不会被剪切。但是它并没有说,超出来的内容可以“撑开”容器。所以下面这个例子中IE7和FireFox的解释和渲染是正确的,而IE6则是错误的(因为它错误的认为,只有让容器内的内容“撑开”容器,才能让容器内的内容在超出时不被剪切)。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_9">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_9">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfrom</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">http://justinyoung.cnblogs.com/</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>下面是上面示例分别在IE6,IE7,FireFox(版本2.0.0,12)和Oepra(版本9.25)中的显示效果截图(IE6和IE7共存的方法,可以参考文章<a title="IE6和IE7共存方法(别人是别人的,我是我的)" href="http://www.cnblogs.com/JustinYoung/archive/2007/09/11/889801.html" target="_blank">《IE6和IE7共存方法(别人是别人的,我是我的)》</a>)。</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road14.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road14.gif"></a><br>
显然只有IE6的渲染结果是“另类”的(点击查看完整大图)</div>
<p>从图片中我们可以看到IE7和FireFox的渲染结果是一样,IE6是个“坏孩子”,就不多说了,而Oepra的渲染结果和FireFox以及IE7也是有点差距的。但是这不是因为对overflow样式的理解有误差造成的,所以这里也不再扯开话题了。</p>
<h4>何以称之为“祸首”</h4>
<p>这篇文章的题目中,将这个bug称之为“引起页面布局混乱的祸首”。能被称之为“祸首”,自然有其“强悍”的地方。那它到底强悍在什么地方呢?其实,很简单,就3条——</p>
<ol style="margin: 0px 2px 0px 15px;">
<li>无论是“宽度”的内容过长,还是“高度”的内容过长,都会引发此bug。
</li>
<li>无论是文字、图片,还是任意有宽度和高度概念的“可见元素”,它们的“过宽”和“过高”都会引发此bug。
</li>
<li>任意有宽度和高度概念的“可见元素”,它们在默认状态下的“overflow”样式的值都是“Visible”(即使你没有设置这个样式)。 </li>
</ol>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_7">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText"><strong>补充资料:利用“IE Developer Toolbar”得到元素样式的默认值</strong></span>
</div>
<div class="haExpanded" id="divHaS_7">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<p>有些朋友可能会问,你怎么知道<span style="color: #900;">任意有宽度和高度概念的“可见元素”,它们在默认状态下的“overflow”样式的值都是“Visible”</span>的呢?</p>
<p>其实方法很简单,利用IE Developer Toolbar这个工具就可以知道了。下面的文章和截图,可能会对你有帮助——</p>
<p>文章: <a title="IE Developer Toolbar" href="http://www.cnblogs.com/JustinYoung/archive/2007/04/19/good-tools-for-web-developer.html" target="_blank">《介绍两个,b/s开发中我常用到的小工具》</a></p>
<p>截图:</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road15.gif" target="_blank"><img height="426" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road15.gif" width="535"></a><br>
图:利用“IE Developer Toolbar”得到元素样式的默认值(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<h4>如何修复bug</h4>
<p>其实这个bug,我们还是有办法修复的,但都不是很完美的解决方案,想要取得较好的效果,还需要一些技巧。下面便是我工作中总结的一套解决方案。小弟才疏,众多不对之处,还请各位高手指教。</p>
<p>修正这个bug首先要洗脑一下,因为错误的认识将不利于你对解决方法的理解。</p>
<ol style="margin: 0px 2px 0px 15px;">
<li>虽然,那个虚拟的示例网页在IE6中能够“完美的”显示,但是它并不是正确的。我们不能通过css hack的方法让它在FireFox和IE7中显示“靠近”IE6,而是应该“拔下”IE6的那层虚假的“皮”,重新塑造网页,从而让它在IE6、IE7和FireFox中都能正常显示。
</li>
<li>就算让网页在IE6、IE7和FireFox中,都可以正常显示了,但却未必就是最终想要的效果。
</li>
<li>为了达到最终想要的结果,可能需要使用不推荐使用的措施——css hack。 </li>
</ol>
<h5>如何解决“横向撑开”问题</h5>
<h6>用“word-wrap: break-word”解决</h6>
<p>导致布局混乱的主要原因,是IE6对overflow的visible的错误解释,才导致宽度被“撑开”才造成的。所以,我们必须采取措施,让IE6中容器不能那么“放纵孩子”才可以。方法就是使用“word-wrap: break-word”样式(IE特有,FireFox不起任何作用),强制要求容器内的内容不允许“撑开”父容器。下面的示例可能有助于理解。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_10">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_10">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
word-wrap</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">break-word</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfrom</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">http://justinyoung.cnblogs.com/</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>利用“word-wrap: break-word”可以让IE6中的“孩子”乖乖的待在“父亲”的允许访问内。如下图所示——</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road16.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road16.gif"></a><br>
利用“word-wrap: break-word”后,即使在IE6中,容器也不再被“撑开”(点击查看完整大图)</div>
<h6>用“overflow: hidden”解决</h6>
<p>显然,用“word-wrap: break-word”又导致了IE(IE6和IE7)和FireFox的显示结果新的不一致。那还有没有其他的办法呢?“擒贼先擒王”,既然是“overflow: visible”导致的bug,那直接改变“overflow”的值不就可以了吗?所以,使用“overflow: hidden”便能让IE6、IE7和FireFox显示一直。下面的这个示例,可能会有助于你的理解——</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_12">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_12">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
overflow</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">hidden</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfrom</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">http://justinyoung.cnblogs.com/</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>下面是在IE6、IE7和FireFox中的现实效果截图。</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road17.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road17.gif"></a><br>
在IE6、IE7和FireFox中终于显示一致了(点击查看完整大图)</div>
<h5>一个大问题与残缺的美丽</h5>
<p>从截图看,网页在IE6、IE7和FireFox中的确显示一致了(就布局显示而言)。但是,却发现了一个大问题!那就是——这并不是我想要的结果呀。假使这里的div是一个侧边栏,我们只是要求,它老老实实的那么“宽”,不要乱“撑”宽度就可以了,内容我们还是要看的呀,你不能把内容都剪切了不让我看呀。</p>
<p>如何让“很长度文字”换行显示呢?其实在前面我们已经使用到了,那就是“word-wrap: break-word”。虽然它是IE的特有样式,但是足以先解决IE6和IE7中的问题。但是FireFox中没有这个样式,那FireFox下如何使“很长文字”自动换行显示呢?我们遗憾的发现FireFox并没有提供类似的样式供我们使用,目前唯一的解决方案是利用JavaScript实现。原理很简单,就是根据宽度,将文本截取成多段,在每段后面强制加上换行符。下面的实现示例可能会有助于你的理解—— </p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_13">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_13">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
word-wrap</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">break-word</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfromhttp://justinyoung.cnblogs.com/<br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">script</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #0000ff;">></span><span style="color: #000000; background-color: #f5f5f5;"><br></span><span style="color: #008000; background-color: #f5f5f5;">//</span><span style="color: #008000; background-color: #f5f5f5;"><![CDATA[</span><span style="color: #008000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;"></span><span style="color: #0000ff; background-color: #f5f5f5;">if</span><span style="color: #000000; background-color: #f5f5f5;">(document.getElementById</span><span style="color: #000000; background-color: #f5f5f5;">&&</span><span style="color: #000000; background-color: #f5f5f5;"></span><span style="color: #000000; background-color: #f5f5f5;">!</span><span style="color: #000000; background-color: #f5f5f5;">document.all)wordWarp4ff(</span><span style="color: #000000; background-color: #f5f5f5;">6</span><span style="color: #000000; background-color: #f5f5f5;">)</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">数值6根据宽度需要发生变化</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #000000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff; background-color: #f5f5f5;">function</span><span style="color: #000000; background-color: #f5f5f5;">wordWarp4ff(intLen){<br></span><span style="color: #0000ff; background-color: #f5f5f5;">var</span><span style="color: #000000; background-color: #f5f5f5;">obj</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">document.getElementById(</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">div1</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">);<br></span><span style="color: #0000ff; background-color: #f5f5f5;">var</span><span style="color: #000000; background-color: #f5f5f5;">strContent</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">obj.innerHTML;<br></span><span style="color: #0000ff; background-color: #f5f5f5;">var</span><span style="color: #000000; background-color: #f5f5f5;">strTemp</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">""</span><span style="color: #000000; background-color: #f5f5f5;">;<br></span><span style="color: #0000ff; background-color: #f5f5f5;">while</span><span style="color: #000000; background-color: #f5f5f5;">(strContent.length</span><span style="color: #000000; background-color: #f5f5f5;">></span><span style="color: #000000; background-color: #f5f5f5;">intLen){<br>
strTemp</span><span style="color: #000000; background-color: #f5f5f5;">+=</span><span style="color: #000000; background-color: #f5f5f5;">strContent.substr(</span><span style="color: #000000; background-color: #f5f5f5;">0</span><span style="color: #000000; background-color: #f5f5f5;">,intLen)</span><span style="color: #000000; background-color: #f5f5f5;">+</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;"> </span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">;<br>
strContent</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">strContent.substr(intLen,strContent.length);<br>
}<br>
strTemp</span><span style="color: #000000; background-color: #f5f5f5;">+=</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;"> </span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">+</span><span style="color: #000000; background-color: #f5f5f5;">strContent;<br>
obj.innerHTML</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">strTemp;<br>
}<br></span><span style="color: #008000; background-color: #f5f5f5;">//</span><span style="color: #008000; background-color: #f5f5f5;">]]></span><span style="color: #008000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>看着下面的截图,终于能即满足要求,又在IE6、IE7和FireFox中显示一致了!</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road18.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road18.gif"></a><br>
终于能即满足要求,又在IE6、IE7和FireFox中显示一致了(点击查看完整大图)</div>
<p>但是,如同残缺的美丽,惊艳的美隐藏着巨大的缺憾。令人遗憾是——如果容器中的内容,不是文字,而是图片时,这种方法将无能为力。只能将容器放宽,或者缩小图片,当然,你也可以使用“overflow: hidden”将超出的内容剪切掉。另一个遗憾是——在FireFox中,div1容器里面的标签和样式也将失去,只留下文本……</p>
<h4>另一个“焦油坑”——“纵向撑开”</h4>
<p>上面解决方法,只是“横向”的、宽度的问题,其实“‘overflow:visible’IE6渲染bug”,同样也会引起纵向的、高度方面的页面布局混乱。解决“纵向撑开bug”和解决“横向撑开bug”需要采用完全不同的解决方案。但是,相比“纵向撑开bug”解决方案,“横向撑开bug”解决方案却简单很多——只要我们让IE7和FireFox,也能像IE6中那样根据内容,自适应高度即可。如何才能让容器在IE7和FireFox中能够自适应高度呢?其实很简单,也是IE7的重要改进之一,使用“min-height”样式。虽然IE7中已经支持“min-height/min-width”和"max-height/max-width"样式。但是IE6却不认识这些"min-"、"max-"开头的样式,所以,我们还需要使用一个css hack为IE6设置一个“height”,只让IE6认识,IE7和FireFox都不认识。通过这篇文章 <a title="实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码) " href="http://www.cnblogs.com/JustinYoung/archive/2007/09/14/892414.html" target="_blank">《实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码)》 </a>便可以找到应该使用的css hack。下面的示例可能会有助于你理解此解决方法—— </p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_14">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_14">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
*</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;">margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;">padding</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br><br>
#header</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">600px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">height:50px;注释掉下面两句,放出这一句,在FireFox和IE7中便能呈现bug</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
min-height</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">只设置最小高度,让IE7和FireFox自适应高度</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
_height</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">采用只有IE6才认识到csshack,让不认识min-height的IE6也有很好的兼容性。</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
background-color</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">red</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0auto</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">居中显示</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br>
#body</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">600px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0auto</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">居中显示</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
background-color</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">blue</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br><br>
#footer</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">600px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0auto</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
background-color</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">#666</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
clear</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">both</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">clear:both,让footer在新的一行显示,很多朋友对clear理解的不够透彻,我以后会特意出篇文章介绍这个样式,有兴趣的朋友可以关注我的博客http://justinyoung.cnblogs.com</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="header"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
这里是头部的内容。</span><span style="color: #0000ff;"><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br>
可能有网站标题,就像</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="_blank"</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">=""</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">博客园</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;">博客的标题、副标题。</span><span style="color: #0000ff;"><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br>
也可能有导航栏在这里</span><span style="color: #0000ff;"><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span><span style="color: #000000;">注意这句话在IE7中的显示1</span><span style="color: #0000ff;"></</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span><span style="color: #000000;">注意这句话在IE7中的显示2</span><span style="color: #0000ff;"></</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="body"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br>
这里是主体的内容,随便你写啦。我就写上我的博客地址吧——</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="_blank"</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">="IE7的web标准之道"</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">专注于B/S模式的项目。姓名:杨正祎(JustinYoung),程序员,专注于B/S模式的项目开发,擅长于Web标准页面设计。</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">欢迎你们来为我的博客做客哦,里面有很多关于web标准方面的文章哦。请你们多多指教。</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">最后还要非常华丽的署名——杨正祎</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">日期当然也不能少啦——2008-2-21</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #008000;"><!--</span><span style="color: #008000;">end:body</span><span style="color: #008000;">--></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="footer"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
这里是footer,就放一些版权信息吧。</span><span style="color: #ff0000;">&copy;</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="_blank"</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">="IE7的web标准之道"</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #008000;"><!--</span><span style="color: #008000;">end:footer</span><span style="color: #008000;">--></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>下面是修正后页面的效果截图,在IE6、IE7和FireFox总都是令人满意的显示结果。</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road19.gif" target="_blank"><img height="317" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road19.gif" width="542"></a><br>
利用min-height和css hack让容器在IE7和FireFox中自适应高度(点击查看完整大图)</div>
<h4>后记</h4>
<p>对于最容易引起网页布局混乱的“‘overflow:visible’IE6渲染bug”,上面从多个方向和角度进行了讲解。虽然有些方面还不能有完美的解决方案,但是在更理性的解决方案出现之前,暂时也是没有办法的事情,只能留个遗憾在那里,因为我们还要继续前进……</p>
<h4>相关文章列表</h4>
<ul style="">
<li>
<a title="《IE7的web标准之道——1:前言》 " href="http://www.cnblogs.com/JustinYoung/archive/2008/02/18/IE7_wsRoad_foreword.html" target="_blank">《IE7的web标准之道——1:前言(兼目录)》 </a>
</li>
<li>
<a title="IE7的web标准之道——2:(改进)更丰富的CSS选择符" href="http://www.cnblogs.com/JustinYoung/archive/2008/02/20/IE7_wsRoad_selector.html" target="_blank">《IE7的web标准之道——2:(改进)更丰富的CSS选择符》</a>
</li>
<li>
<a title="《IE6与IE7,放纵的孩子与严厉的父亲》" href="http://www.cnblogs.com/JustinYoung/articles/754637.html" target="_blank">《IE6与IE7,放纵的孩子与严厉的父亲》</a>
</li>
<li>
<a title="《介绍两个,b/s开发中我常用到的小工具》" href="http://www.cnblogs.com/JustinYoung/archive/2007/04/19/good-tools-for-web-developer.html" target="_blank">《介绍两个,b/s开发中我常用到的小工具》</a>
</li>
<li>
<a title="《实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码)》" href="http://www.cnblogs.com/JustinYoung/archive/2007/09/14/892414.html" target="_blank">《实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码)》 </a>
</li>
<li>
<a title="《IE6和IE7共存方法(别人是别人的,我是我的)》" href="http://www.cnblogs.com/JustinYoung/archive/2007/09/11/889801.html" target="_blank">《IE6和IE7共存方法(别人是别人的,我是我的)》</a>
</li>
<li>
<a title="W3C官方网页中关于overflow的资料" href="http://www.w3.org/TR/CSS2/visufx.html#overflow" target="_blank">W3C官方网页中关于overflow的资料</a> </li>
</ul>
<img alt="" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road.png"><br>
IE7的web标准之道</div>
<p>IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者开始关注web标准设计。看着FireFox的市场占有率不停的上升,微软终于推出了IE7。但IE7是否真的能够力挽狂澜,是否真的能够得到用户的信任,是否真的能够得到网页设计者的认可呢?</p>
<p>且看《IE7的web标准之道》系列文章,和你一起见证IE7的改变!</p>
<h4>前言</h4>
<p>现在,最令网页设计者头痛的问题就是网页在各个浏览器中的兼容性。而兼容性差最长见的,也是最令人恐惧的便是“页面布局混乱”。常常一个页面在IE6下显示的非常完美,而到了IE7(或者FireFox)中,则惨的“不堪入目”。到底是什么让这些页面那么的“水土不服”呢?</p>
<p>其实,这些都是IE6酿下的恶果,IE6对web标准的支持过于不足,甚至理解的有偏差,才导致了这些页面的“脆弱”。而IE7则修正了很多的那种“IE6对css解释和渲染”的bug。这种bug有很多。今天,这里只讲其中一个,但是确是最重要的一个,很多的“十分”混乱的页面都是它造成的。可以不客气地说,它简直就像“页面布局混乱黑帮”的幕后黑手,是引起页面布局混乱的祸首之一,而且是最大的一个。 它就是潜伏在网页背后的“‘overflow:visible’IE6渲染bug”。</p>
<h4>“不堪入目”的网页截图</h4>
<p>如果只是简单的说“‘overflow:visible’IE6渲染bug”,你可能完全没有印象。但是看看下面的这些“不堪入目”的网页截图,便能引起你心中那无限的伤感…… </p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie6.JPG" target="_blank"><img height="422" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie6.JPG" width="544"></a><br>
图:这是在IE6中显示的效果截图,“十分完美”(点击查看完整大图)</div>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_2">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">展开这里,查看在IE7中显示的效果截图</span>
</div>
<div class="haExpanded" id="divHaS_2">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie7.JPG" target="_blank"><img height="420" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/ie7.JPG" width="512"></a><br>
这是在IE7中显示的“不堪入目”的效果截图(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
</div>
<!--end: hiddenArea -->
<p>上面的两张截图,是我2007年在高达软件公司的真实项目截图。可以看出,在IE7下的显示已经严重变形,虽然不影响软件的功能使用,但是已经严重的影响了用户的使用体验(没有人喜欢拖动横向滚动条)。</p>
<p>再看看下面的这个网页截图,它是我们今天将要使用的例子(源代码在下方有提供),是一个标准的“上左右下”带侧边栏的虚拟网页。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_3">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">展开这里,查看、运行、保存【虚拟示例网页源代码】</span>
</div>
<div class="haExpanded" id="divHaS_3">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px;">
<textarea id="txtTestCode2" rows="12" cols="65"> <!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Keywords" content="YES!B/S!,web标准,杨正祎,博客园,实例代码" />
<meta name="Description" content="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/" />
<title>YES!B/S!文章示例页面</title>
<style>
body { margin: 0; padding: 0; }
#header {
width: 600px;
height: 50px;
background-color: red;
margin:0 auto;/*居中显示*/
}
#body{
width:600px;
margin:0 auto;/*居中显示*/
}
#sideBar{
width:150px;
background-color:#0000ff;
float:left;
height:244px;
}
#main{
width:354px;
float:left;
background-color:green;
height:
}
#footer{
width:600px;
margin:0 auto;
background-color:#666;
}
</style>
</head>
<body>
<div id="header">
这里是头部的内容。<br/ />
可能有网站标题,就像<a target="_blank" href="" title=" title="">博客园</a>博客的标题、副标题。<br/ />
也可能有导航栏在这里<br/ />
<strong>注意这句话在IE7中的显示1</strong><br/ />
<strong>注意这句话在IE7中的显示2</strong><br/ />
</div>
<div id="body">
<div id="sideBar">
这里是侧边栏,里面放一些辅助信息。就像<a target="_blank" href="" title=" title="">博客园</a>里面,每个人博客的侧边栏一样。<br/ />
也可能有人留言,下面就是一个人的留言哦。<br/ />
“大家好,我是杨正祎,我发现一个很不错的网址哦。http://www.justinyoungcnblogs.com”。欢迎大家去看看哦。
</div><!--end: sideBar -->
<div id="main">
这里是主体的内容,随便你写啦。我就写上我的博客地址吧——<a target="_blank" href="http://justinyoung.cnblogs.com/" title="IE7的web标准之道">YES!B/S!</a>
<p> 专注于B/S模式的项目。姓名:杨正祎(Justin Young),程序员,专注于B/S模式的项目开发,擅长于Web标准页面设计。</p>
<p>欢迎你们来为我的博客做客哦,里面有很多关于web标准方面的文章哦。请你们多多指教。</p>
<p>最后还要非常华丽的署名——杨正祎</p>
<p>日期当然也不能少啦——2008-2-21</p>
</div><!--end: main -->
</div><!--end: body -->
<div id="footer">
这里是footer,就放一些版权信息吧。©<a target="_blank" href="http://justinyoung.cnblogs.com/" title="IE7的web标准之道">YES!B/S!</a>
</div><!--end: footer -->
</body>
</html>
</textarea><div style="clear: both;">
<input type="button" value="运行代码"><input type="button" value="复制代码"><input type="button" value="另存代码"><span style="font-size: 9pt; color: #999;">提示:可以先在文本框内,根据需要修改代码后再运行</span> </div>
</div>
</div>
<!--end: haMain -->
</div>
</div>
<!--end: hiddenArea -->
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road10.gif" target="_blank"><img height="418" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road10.gif" width="539"></a><br>
图:这是在IE6中显示的效果截图,还算“整齐”(点击查看完整大图)</div>
<p>而当你展开下面这个折叠区域,去看这个页面在IE7下显示的效果图的时候,可能便会大吃一惊了。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_4">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">展开这里,查看在IE7中显示的效果截图</span>
</div>
<div class="haExpanded" id="divHaS_4">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road11.gif" target="_blank"><img height="398" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road11.gif" width="524"></a><br>
图:这是在IE7中显示的效果截图,已经“不堪入目”了(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
</div>
<!--end: hiddenArea -->
<p>我们惊讶的看到,网页“头部”变“矮”了,最后两句重要的句子“消失”了;侧边栏变“窄”了,那个重要的网址的后半部消失了(其实是被右面绿色的区域遮盖住了);而最令人沮丧的是,右面“缺了个大口子”。原本整齐的布局,已经完全消失,出现的是一个“一塌糊涂”的页面。</p>
<p>到底是什么,将一个原本好好的页面“糟蹋”成这样?且看下面的详细讲解……</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_6">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText"><strong>补充资料:虚拟测试页面在FireFox中的显示结果。初学者不建议阅读</strong></span>
</div>
<div class="haExpanded" id="divHaS_6">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road12.gif" target="_blank"><img height="398" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road12.gif" width="535"></a><br>
图:这是在FireFox中显示的效果截图,已经乱的“令人抓狂”了(点击查看完整大图)</div>
<p style="margin: auto 1em;">为什么在FireFox又有这么令人抓狂的显示呢?原来,这便是IE7的web标准之道的精髓了。随着web标准的推广和认可度的提高,IE7必须向web标准靠拢,但是有必须兼顾到,那些现在在IE6中还显示正常的亿万个已经存在的页面。这样矛盾就产生了——遵循标准就意味着页面会显示的乱七八糟,甚至无法浏览;但是如果太过于兼容IE6的那些烂摊子网页,又必然会离web标准越来越远。于是IE7走出了自己的web标准之道——绝对重视web标准,又稍微兼顾IE6的烂摊子。于是,IE7显示的那个页面虽然已经乱了,但是还不像在FireFox中显示的那样令人抓狂。</p>
<p>附:测试页面在Opera(版本9.25)中的显示效果截图(写文章的时候Opera正好有了新的升级版本)——</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road13.gif" target="_blank"><img height="355" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road13.gif" width="531"></a><br>
图:这是在Opera中显示的效果截图,“乱的程度”和FireFox是一样的(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<h4>“非也,非也”</h4>
<p>“千万别用IE7,IE7太垃圾了,浏览页面会出现布局混乱,一些在IE6中显示好好的页面,用IE7浏览布局就会混乱。”这种言论在网上会经常见到,好像是IE7才导致了那些页面的混乱。其实,非也,非也。</p>
<blockquote>悟空说:“师父快快回避,且待我一棒打死这妖精!”<br>
八戒说:“师父,那个姑娘俊俏的很,怎么会是妖怪呢?大师兄他骗人的!”<br>
唐僧说:“那位施主,只是一平常人家的姑娘,定然不会是什么妖魔鬼怪。悟空你休得胡言论语。”<br>
白骨精说:“ohYeah!2比1,看来这下安全了!”<br>
</blockquote>
<p>那些IE7浏览时会出现布局混乱的页面,就如同利用妖术变了身的白骨精一样,在八戒和唐僧的凡眼看来就是个俊俏的姑娘。但是,在猴哥的“火眼金睛”下便立刻现了形。而那些布局和样式隐藏着bug的页面,在IE6的袒护和包庇下,化身成“完美页面”,招摇过市。但是在IE7的严厉的审核下,自然“原形毕露”、“bug层出”,从而导致布局混乱。但是,令人遗憾的却是——IE7被那些不知情的“凡骨俗胎”的人们咒骂、贬低、踩在脚底……这是一出悲剧!</p>
<h4>表面原因——放纵的孩子和严厉的父亲</h4>
<p>在2007年5月份的时候,我曾经写过一篇文章,叫做<a title="IE6与IE7,放纵的孩子与严厉的父亲" href="http://www.cnblogs.com/JustinYoung/articles/754637.html" target="_blank">《IE6与IE7,放纵的孩子与严厉的父亲》</a>。当时技术水平和对web标准的认知有限,所以写出来的这篇文章,虽然从表面合理的解释了造成布局混乱的原因,但是并没有说到根本上去。可谓“只知其一,不知其二”,但是这里依然推荐你阅读一篇。因为“先知其一,再知其二”将更有助于这“其二”的原因。</p>
<h4>“其二”原因——IE6对“overflow:visible”的误解</h4>
<p>为了兼顾到对overflow可能还不是很了解到朋友,这里是关于overflow样式的一些资料:<a title="W3C关于overflow的资料" href="http://www.w3.org/TR/CSS2/visufx.html#overflow" target="_blank">W3C关于overflow的资料</a>。请注意W3C对于visible参数的解释——</p>
<blockquote>
<strong>Visible</strong>: "This value indicates that content is not clipped, i.e.,it may be rendered outside the block box(注:后面这句可能是后续版本补充上来的)". </blockquote>
<p>注意,w3c只是说,超出容器的内部不会被剪切。但是它并没有说,超出来的内容可以“撑开”容器。所以下面这个例子中IE7和FireFox的解释和渲染是正确的,而IE6则是错误的(因为它错误的认为,只有让容器内的内容“撑开”容器,才能让容器内的内容在超出时不被剪切)。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_9">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_9">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfrom</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">http://justinyoung.cnblogs.com/</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>下面是上面示例分别在IE6,IE7,FireFox(版本2.0.0,12)和Oepra(版本9.25)中的显示效果截图(IE6和IE7共存的方法,可以参考文章<a title="IE6和IE7共存方法(别人是别人的,我是我的)" href="http://www.cnblogs.com/JustinYoung/archive/2007/09/11/889801.html" target="_blank">《IE6和IE7共存方法(别人是别人的,我是我的)》</a>)。</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road14.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road14.gif"></a><br>
显然只有IE6的渲染结果是“另类”的(点击查看完整大图)</div>
<p>从图片中我们可以看到IE7和FireFox的渲染结果是一样,IE6是个“坏孩子”,就不多说了,而Oepra的渲染结果和FireFox以及IE7也是有点差距的。但是这不是因为对overflow样式的理解有误差造成的,所以这里也不再扯开话题了。</p>
<h4>何以称之为“祸首”</h4>
<p>这篇文章的题目中,将这个bug称之为“引起页面布局混乱的祸首”。能被称之为“祸首”,自然有其“强悍”的地方。那它到底强悍在什么地方呢?其实,很简单,就3条——</p>
<ol style="margin: 0px 2px 0px 15px;">
<li>无论是“宽度”的内容过长,还是“高度”的内容过长,都会引发此bug。
</li>
<li>无论是文字、图片,还是任意有宽度和高度概念的“可见元素”,它们的“过宽”和“过高”都会引发此bug。
</li>
<li>任意有宽度和高度概念的“可见元素”,它们在默认状态下的“overflow”样式的值都是“Visible”(即使你没有设置这个样式)。 </li>
</ol>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_7">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText"><strong>补充资料:利用“IE Developer Toolbar”得到元素样式的默认值</strong></span>
</div>
<div class="haExpanded" id="divHaS_7">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<p>有些朋友可能会问,你怎么知道<span style="color: #900;">任意有宽度和高度概念的“可见元素”,它们在默认状态下的“overflow”样式的值都是“Visible”</span>的呢?</p>
<p>其实方法很简单,利用IE Developer Toolbar这个工具就可以知道了。下面的文章和截图,可能会对你有帮助——</p>
<p>文章: <a title="IE Developer Toolbar" href="http://www.cnblogs.com/JustinYoung/archive/2007/04/19/good-tools-for-web-developer.html" target="_blank">《介绍两个,b/s开发中我常用到的小工具》</a></p>
<p>截图:</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road15.gif" target="_blank"><img height="426" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road15.gif" width="535"></a><br>
图:利用“IE Developer Toolbar”得到元素样式的默认值(点击查看完整大图)</div>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<h4>如何修复bug</h4>
<p>其实这个bug,我们还是有办法修复的,但都不是很完美的解决方案,想要取得较好的效果,还需要一些技巧。下面便是我工作中总结的一套解决方案。小弟才疏,众多不对之处,还请各位高手指教。</p>
<p>修正这个bug首先要洗脑一下,因为错误的认识将不利于你对解决方法的理解。</p>
<ol style="margin: 0px 2px 0px 15px;">
<li>虽然,那个虚拟的示例网页在IE6中能够“完美的”显示,但是它并不是正确的。我们不能通过css hack的方法让它在FireFox和IE7中显示“靠近”IE6,而是应该“拔下”IE6的那层虚假的“皮”,重新塑造网页,从而让它在IE6、IE7和FireFox中都能正常显示。
</li>
<li>就算让网页在IE6、IE7和FireFox中,都可以正常显示了,但却未必就是最终想要的效果。
</li>
<li>为了达到最终想要的结果,可能需要使用不推荐使用的措施——css hack。 </li>
</ol>
<h5>如何解决“横向撑开”问题</h5>
<h6>用“word-wrap: break-word”解决</h6>
<p>导致布局混乱的主要原因,是IE6对overflow的visible的错误解释,才导致宽度被“撑开”才造成的。所以,我们必须采取措施,让IE6中容器不能那么“放纵孩子”才可以。方法就是使用“word-wrap: break-word”样式(IE特有,FireFox不起任何作用),强制要求容器内的内容不允许“撑开”父容器。下面的示例可能有助于理解。</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_10">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_10">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
word-wrap</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">break-word</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfrom</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">http://justinyoung.cnblogs.com/</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>利用“word-wrap: break-word”可以让IE6中的“孩子”乖乖的待在“父亲”的允许访问内。如下图所示——</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road16.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road16.gif"></a><br>
利用“word-wrap: break-word”后,即使在IE6中,容器也不再被“撑开”(点击查看完整大图)</div>
<h6>用“overflow: hidden”解决</h6>
<p>显然,用“word-wrap: break-word”又导致了IE(IE6和IE7)和FireFox的显示结果新的不一致。那还有没有其他的办法呢?“擒贼先擒王”,既然是“overflow: visible”导致的bug,那直接改变“overflow”的值不就可以了吗?所以,使用“overflow: hidden”便能让IE6、IE7和FireFox显示一直。下面的这个示例,可能会有助于你的理解——</p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_12">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_12">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
overflow</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">hidden</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfrom</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">http://justinyoung.cnblogs.com/</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>下面是在IE6、IE7和FireFox中的现实效果截图。</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road17.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road17.gif"></a><br>
在IE6、IE7和FireFox中终于显示一致了(点击查看完整大图)</div>
<h5>一个大问题与残缺的美丽</h5>
<p>从截图看,网页在IE6、IE7和FireFox中的确显示一致了(就布局显示而言)。但是,却发现了一个大问题!那就是——这并不是我想要的结果呀。假使这里的div是一个侧边栏,我们只是要求,它老老实实的那么“宽”,不要乱“撑”宽度就可以了,内容我们还是要看的呀,你不能把内容都剪切了不让我看呀。</p>
<p>如何让“很长度文字”换行显示呢?其实在前面我们已经使用到了,那就是“word-wrap: break-word”。虽然它是IE的特有样式,但是足以先解决IE6和IE7中的问题。但是FireFox中没有这个样式,那FireFox下如何使“很长文字”自动换行显示呢?我们遗憾的发现FireFox并没有提供类似的样式供我们使用,目前唯一的解决方案是利用JavaScript实现。原理很简单,就是根据宽度,将文本截取成多段,在每段后面强制加上换行符。下面的实现示例可能会有助于你的理解—— </p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_13">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_13">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
#div1</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
border</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">1pxsolidred</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
word-wrap</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">break-word</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div1"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
alonglonglonglonglonglonglonglonglongwordfromhttp://justinyoung.cnblogs.com/<br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">script</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/javascript"</span><span style="color: #0000ff;">></span><span style="color: #000000; background-color: #f5f5f5;"><br></span><span style="color: #008000; background-color: #f5f5f5;">//</span><span style="color: #008000; background-color: #f5f5f5;"><![CDATA[</span><span style="color: #008000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;"></span><span style="color: #0000ff; background-color: #f5f5f5;">if</span><span style="color: #000000; background-color: #f5f5f5;">(document.getElementById</span><span style="color: #000000; background-color: #f5f5f5;">&&</span><span style="color: #000000; background-color: #f5f5f5;"></span><span style="color: #000000; background-color: #f5f5f5;">!</span><span style="color: #000000; background-color: #f5f5f5;">document.all)wordWarp4ff(</span><span style="color: #000000; background-color: #f5f5f5;">6</span><span style="color: #000000; background-color: #f5f5f5;">)</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">数值6根据宽度需要发生变化</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #000000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff; background-color: #f5f5f5;">function</span><span style="color: #000000; background-color: #f5f5f5;">wordWarp4ff(intLen){<br></span><span style="color: #0000ff; background-color: #f5f5f5;">var</span><span style="color: #000000; background-color: #f5f5f5;">obj</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">document.getElementById(</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">div1</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">);<br></span><span style="color: #0000ff; background-color: #f5f5f5;">var</span><span style="color: #000000; background-color: #f5f5f5;">strContent</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">obj.innerHTML;<br></span><span style="color: #0000ff; background-color: #f5f5f5;">var</span><span style="color: #000000; background-color: #f5f5f5;">strTemp</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">""</span><span style="color: #000000; background-color: #f5f5f5;">;<br></span><span style="color: #0000ff; background-color: #f5f5f5;">while</span><span style="color: #000000; background-color: #f5f5f5;">(strContent.length</span><span style="color: #000000; background-color: #f5f5f5;">></span><span style="color: #000000; background-color: #f5f5f5;">intLen){<br>
strTemp</span><span style="color: #000000; background-color: #f5f5f5;">+=</span><span style="color: #000000; background-color: #f5f5f5;">strContent.substr(</span><span style="color: #000000; background-color: #f5f5f5;">0</span><span style="color: #000000; background-color: #f5f5f5;">,intLen)</span><span style="color: #000000; background-color: #f5f5f5;">+</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;"> </span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">;<br>
strContent</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">strContent.substr(intLen,strContent.length);<br>
}<br>
strTemp</span><span style="color: #000000; background-color: #f5f5f5;">+=</span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;"> </span><span style="color: #000000; background-color: #f5f5f5;">"</span><span style="color: #000000; background-color: #f5f5f5;">+</span><span style="color: #000000; background-color: #f5f5f5;">strContent;<br>
obj.innerHTML</span><span style="color: #000000; background-color: #f5f5f5;">=</span><span style="color: #000000; background-color: #f5f5f5;">strTemp;<br>
}<br></span><span style="color: #008000; background-color: #f5f5f5;">//</span><span style="color: #008000; background-color: #f5f5f5;">]]></span><span style="color: #008000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>看着下面的截图,终于能即满足要求,又在IE6、IE7和FireFox中显示一致了!</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road18.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road18.gif"></a><br>
终于能即满足要求,又在IE6、IE7和FireFox中显示一致了(点击查看完整大图)</div>
<p>但是,如同残缺的美丽,惊艳的美隐藏着巨大的缺憾。令人遗憾是——如果容器中的内容,不是文字,而是图片时,这种方法将无能为力。只能将容器放宽,或者缩小图片,当然,你也可以使用“overflow: hidden”将超出的内容剪切掉。另一个遗憾是——在FireFox中,div1容器里面的标签和样式也将失去,只留下文本……</p>
<h4>另一个“焦油坑”——“纵向撑开”</h4>
<p>上面解决方法,只是“横向”的、宽度的问题,其实“‘overflow:visible’IE6渲染bug”,同样也会引起纵向的、高度方面的页面布局混乱。解决“纵向撑开bug”和解决“横向撑开bug”需要采用完全不同的解决方案。但是,相比“纵向撑开bug”解决方案,“横向撑开bug”解决方案却简单很多——只要我们让IE7和FireFox,也能像IE6中那样根据内容,自适应高度即可。如何才能让容器在IE7和FireFox中能够自适应高度呢?其实很简单,也是IE7的重要改进之一,使用“min-height”样式。虽然IE7中已经支持“min-height/min-width”和"max-height/max-width"样式。但是IE6却不认识这些"min-"、"max-"开头的样式,所以,我们还需要使用一个css hack为IE6设置一个“height”,只让IE6认识,IE7和FireFox都不认识。通过这篇文章 <a title="实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码) " href="http://www.cnblogs.com/JustinYoung/archive/2007/09/14/892414.html" target="_blank">《实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码)》 </a>便可以找到应该使用的css hack。下面的示例可能会有助于你理解此解决方法—— </p>
<div class="hiddenArea">
<div class="haContracted" id="divHaF_14">
<img class="imgContracted" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif"><span class="showText">点击展开示例源代码</span>
</div>
<div class="haExpanded" id="divHaS_14">
<div class="haHiddenAreaOpration"><img class="imgExpanded" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"></div>
<div class="haMain">
<span style="color: #0000ff;"><!</span><span style="color: #ff00ff;">DOCTYPEhtmlpublic"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=utf-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Keywords"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="YES!B/S!,web标准,杨正祎,博客园,实例代码"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Description"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!文章示例页面</span><span style="color: #0000ff;"></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"><br>
*</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;">margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;">padding</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br><br>
#header</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">600px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">height:50px;注释掉下面两句,放出这一句,在FireFox和IE7中便能呈现bug</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
min-height</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">只设置最小高度,让IE7和FireFox自适应高度</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
_height</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">50px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">采用只有IE6才认识到csshack,让不认识min-height的IE6也有很好的兼容性。</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
background-color</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">red</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0auto</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">居中显示</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br>
#body</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">600px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0auto</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">居中显示</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
background-color</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">blue</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br><br>
#footer</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
width</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">600px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
margin</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">0auto</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
background-color</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">#666</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"><br>
clear</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;">both</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #008000; background-color: #f5f5f5;">/*</span><span style="color: #008000; background-color: #f5f5f5;">clear:both,让footer在新的一行显示,很多朋友对clear理解的不够透彻,我以后会特意出篇文章介绍这个样式,有兴趣的朋友可以关注我的博客http://justinyoung.cnblogs.com</span><span style="color: #008000; background-color: #f5f5f5;">*/</span><span style="color: #ff0000; background-color: #f5f5f5;"><br></span><span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="header"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
这里是头部的内容。</span><span style="color: #0000ff;"><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br>
可能有网站标题,就像</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="_blank"</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">=""</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="color: #000000;">博客园</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;">博客的标题、副标题。</span><span style="color: #0000ff;"><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br>
也可能有导航栏在这里</span><span style="color: #0000ff;"><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span><span style="color: #000000;">注意这句话在IE7中的显示1</span><span style="color: #0000ff;"></</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">></span><span style="color: #000000;">注意这句话在IE7中的显示2</span><span style="color: #0000ff;"></</span><span style="color: #800000;">strong</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="body"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br>
这里是主体的内容,随便你写啦。我就写上我的博客地址吧——</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="_blank"</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">="IE7的web标准之道"</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">专注于B/S模式的项目。姓名:杨正祎(JustinYoung),程序员,专注于B/S模式的项目开发,擅长于Web标准页面设计。</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">欢迎你们来为我的博客做客哦,里面有很多关于web标准方面的文章哦。请你们多多指教。</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">最后还要非常华丽的署名——杨正祎</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;">日期当然也不能少啦——2008-2-21</span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #008000;"><!--</span><span style="color: #008000;">end:body</span><span style="color: #008000;">--></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"><</span><span style="color: #800000;">div</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="footer"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br>
这里是footer,就放一些版权信息吧。</span><span style="color: #ff0000;">&copy;</span><span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #ff0000;">target</span><span style="color: #0000ff;">="_blank"</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="http://justinyoung.cnblogs.com/"</span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">="IE7的web标准之道"</span><span style="color: #0000ff;">></span><span style="color: #000000;">YES!B/S!</span><span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span><span style="color: #008000;"><!--</span><span style="color: #008000;">end:footer</span><span style="color: #008000;">--></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
</div>
<!--end: haMain -->
</div>
<!--end: divHaS_2 -->
</div>
<!--end: hiddenArea -->
<p>下面是修正后页面的效果截图,在IE6、IE7和FireFox总都是令人满意的显示结果。</p>
<div class="floatMPic">
<a title="IE7的web标准之道" href="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road19.gif" target="_blank"><img height="317" alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road19.gif" width="542"></a><br>
利用min-height和css hack让容器在IE7和FireFox中自适应高度(点击查看完整大图)</div>
<h4>后记</h4>
<p>对于最容易引起网页布局混乱的“‘overflow:visible’IE6渲染bug”,上面从多个方向和角度进行了讲解。虽然有些方面还不能有完美的解决方案,但是在更理性的解决方案出现之前,暂时也是没有办法的事情,只能留个遗憾在那里,因为我们还要继续前进……</p>
<h4>相关文章列表</h4>
<ul style="">
<li>
<a title="《IE7的web标准之道——1:前言》 " href="http://www.cnblogs.com/JustinYoung/archive/2008/02/18/IE7_wsRoad_foreword.html" target="_blank">《IE7的web标准之道——1:前言(兼目录)》 </a>
</li>
<li>
<a title="IE7的web标准之道——2:(改进)更丰富的CSS选择符" href="http://www.cnblogs.com/JustinYoung/archive/2008/02/20/IE7_wsRoad_selector.html" target="_blank">《IE7的web标准之道——2:(改进)更丰富的CSS选择符》</a>
</li>
<li>
<a title="《IE6与IE7,放纵的孩子与严厉的父亲》" href="http://www.cnblogs.com/JustinYoung/articles/754637.html" target="_blank">《IE6与IE7,放纵的孩子与严厉的父亲》</a>
</li>
<li>
<a title="《介绍两个,b/s开发中我常用到的小工具》" href="http://www.cnblogs.com/JustinYoung/archive/2007/04/19/good-tools-for-web-developer.html" target="_blank">《介绍两个,b/s开发中我常用到的小工具》</a>
</li>
<li>
<a title="《实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码)》" href="http://www.cnblogs.com/JustinYoung/archive/2007/09/14/892414.html" target="_blank">《实例讲解符合中国特色的和网络现状的实用CSS Hack(附源码)》 </a>
</li>
<li>
<a title="《IE6和IE7共存方法(别人是别人的,我是我的)》" href="http://www.cnblogs.com/JustinYoung/archive/2007/09/11/889801.html" target="_blank">《IE6和IE7共存方法(别人是别人的,我是我的)》</a>
</li>
<li>
<a title="W3C官方网页中关于overflow的资料" href="http://www.w3.org/TR/CSS2/visufx.html#overflow" target="_blank">W3C官方网页中关于overflow的资料</a> </li>
</ul>
相关推荐
IE7对这个问题进行了修正,但这种修正有时会导致已经在IE6下正常工作的页面在IE7中出现问题。 例如,一个典型的"上左右下"带侧边栏的布局,如果遇到`overflow:visible`的bug,可能会在切换到IE7或Firefox时出现头部...
为最新的2.0测试版 |——Recuva:Piriform公司出品,用于恢复误删文件,支持FAT和NTFS |——个人资料转移器:转移我的文档、收藏夹、IE缓存等个人资料 |——驱动精灵2006:用于备份和恢复本机硬件驱动 |——系统服务...
Web 标准是由 W3C 和其他标准化组织制定的一系列标准的集合,主要包括结构标准、表现标准和行为标准。结构标准规定了网页的结构,表现标准规定了网页的样式,行为标准规定了网页的交互行为。遵循 Web 标准可以提高...
### 响应式Web页面布局 #### 一、响应式设计意味着什么? 响应式设计(Responsive Web Design,简称RWD)是一种使网站能够根据用户所使用的设备屏幕尺寸自动调整其布局的技术。它允许设计师和开发者创建出能够在...
- **CSS应用**:使用CSS3进行页面美化,包括但不限于字体样式、颜色搭配、图片处理等。 - **动画效果**:通过CSS3动画或JavaScript实现页面的过渡效果,增加用户交互体验。 ### 3. 技术实现 #### 3.1 HTML5基础 - ...
【标题】:“IE7与Web标准设计(2)” 【主要内容】:本文主要探讨了微软在面对Firefox等浏览器的竞争压力下推出的IE7浏览器在支持Web标准设计方面的改进,特别是对CSS选择符的增强,以及IE7新增的一些高级选择符...
开发者在使用IEWebControl时,可以通过编程接口(API)控制Web页面的行为,例如加载特定URL、执行JavaScript代码、捕获页面事件等。这在开发需要嵌入Web内容的复杂应用时非常有用,比如在线编辑器、邮件客户端或者...
对于使用Microsoft IIS服务器的情况,可以在web.config文件中配置一个自定义头部,比如设置为`IE7 mode`,这样所有请求的页面都会按照IE7的兼容性标准来处理。 另一种解决IE兼容性问题的方法是使用JavaScript库,如...
3. SELECT 元素覆盖问题:IE6-IE7 中存在 SELECT 元素不能被 div 覆盖的问题。解决办法是,使用 position 属性来解决这个问题。 4. CSS 样式大小写敏感:IE6-IE7 中 CSS 样式区分大小写。解决办法是,确保所有 CSS ...
**IE7浏览器——一款历史悠久的互联网入口** IE7(Internet Explorer 7)是微软公司推出的一款Web浏览器,属于Windows操作系统的一部分。它在2006年发布,是继IE6之后的一个重大更新,旨在提供更安全、更快捷的浏览...
该标题明确指出了文章关注的核心问题——即确保网页能在IE6、IE7及Firefox等浏览器中正确显示。这意味着开发者需要采取一定的措施来适配这些浏览器,确保无论用户使用何种浏览器,都能获得一致的视觉体验。 #### ...
例如,CSS3的过渡效果、动画、多列布局以及媒体查询等在旧版IE中都无法正常工作,这会导致页面布局混乱,视觉效果大打折扣。 JavaScript在现代Web开发中扮演着核心角色,而IE8和IE9对ECMAScript 5标准的支持有限,...
3. **IE8的渲染模式选择**:IE8支持两种渲染模式,即标准模式和怪异模式,可以通过元标签来控制其采用哪种模式。 #### 二、解决div错位的方法 - **调整`margin`值**:为了修复IE6中div错位的问题,可以尝试调整div...
标题 "ie 7 iertutil.dll" 涉及的是微软Internet Explorer 7浏览器中的一个关键组件——iertutil.dll文件。这个动态链接库(DLL)文件是Internet Explorer的一部分,它包含了一系列用于支持浏览器功能和安全性的实用...
**标题:“ie webdeveloper”** **关键词:IE中的Firebug,JavaScript学习工具** **内容:** 在互联网开发领域,浏览器的开发者工具是不可或缺的利器,它们帮助开发者调试代码、优化性能以及理解网页工作原理。在...
标题和描述均提到了“DIV+CSS相对IE6、IE7和IE8的兼容问题”,这揭示了在Web开发中,尤其是针对老旧浏览器如IE6、IE7和IE8进行CSS布局时,开发者可能遇到的一系列挑战。这些浏览器在解析CSS规则时存在独特的行为,...
这里的“IE=7, IE=9”分别表示让IE8和IE9以IE7和IE9的标准模式来渲染页面。具体来说: - **IE=7**:指示IE8应该使用IE7的标准模式来渲染页面。这在一定程度上可以帮助解决针对IE8优化的网站在IE8中出现问题的情况。...
随着Web标准的发展与浏览器技术的进步,IE7和IE8已逐渐被淘汰,但在某些特定场景下,仍然需要考虑到这两款浏览器的兼容性问题。通过本文的学习,您将了解到不同模式下的渲染差异、常见CSS hack技巧以及具体的解决...