`
saybody
  • 浏览: 902547 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

IE7的web标准之道——4:(修正)歌剧院魅影bug

 
阅读更多
<div style="border: 1px dotted teal; font-size: 9pt; float: right; width: 115px; color: teal; 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>估计很多的朋友都是因为这个华丽的“歌剧院魅影”一词进来的。其实这纯粹是一个标题党作为,纯粹是吸引眼球而已。其实这个bug和歌剧院半毛钱关系都没有。这个bug在国际上比较获得认可的名字叫做——“IE6重复文字bug”。这是一个非常好玩但是有很令人摸不到头脑的bug。如果,你不知道产生原因的话,将会令人非常头痛。这也是我在现实工作中真正遇到过的情况。这篇文章记载了当时我惊讶而不可奈何的心情——<a title="Ghost in IE6.web标准网页IE6中的幽灵" href="http://www.cnblogs.com/JustinYoung/archive/2007/06/14/783958.html" target="_blank">《Ghost in IE6.web标准网页IE6中的幽灵》</a></p>
<h4>魅影再现</h4>
<p>在IE6浏览器下运行下面的代码,便可以重现bug。IE7已经修正了此bug。</p>
<textarea id="txtTestCode2" rows="12" cols="65"> &lt;!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;meta name="Keywords" content="YES!B/S!,web标准,杨正祎,博客园,实例代码" /&gt;
&lt;meta name="Description" content="这是一个简单YES!B/S!文章示例页面,来自杨正祎的博客,http://justinyoung.cnblogs.com/" /&gt;
&lt;title&gt;YES!B/S!文章示例页面&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div style="width:200px;"&gt;
&lt;div style="float:left;"&gt;&lt;/div&gt;
&lt;!-- 如果是IE6,你将多看到一个&amp;#8220;影&amp;#8221;字 --&gt;
&lt;div style="float:left;width:200px;"&gt;歌剧院的魅影&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</textarea><div style="clear: both; margin-bottom: 15px;">
<input value="运行代码" type="button"><input value="复制代码" type="button"><input value="另存代码" type="button"><span style="font-size: 9pt; color: #999999;">提示:可以先在文本框内,根据需要修改代码后再运行</span>
</div>
<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/ie7road41.gif" target="_blank"><img alt="IE7的web标准之道" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2008_1q/ie7road41.gif"></a><br>
“歌剧院魅影bug”重现页面截图,注意IE6中鼠标所指位置</div>
<p>通过截图,你会惊讶的看到在IE6中,多出了一个“影”字。下面来讲讲出现这个“影”字的一些条件(bug重现条件)——</p>
<ul style="">
<li>一个容器包含2两个具有“float”样式的子容器。
    </li>
    <li>第二个容器的宽度大于父容器的宽度,或者父容器宽度减去第二个容器宽度的值小于3。(说到3,这里稍微多说一句——IE7还修正了IE6中的一个bug,bug名字就叫做“3像素bug”)
    </li>
    <li>在第二个容器前存在注释(这也是为什么此bug也叫做“IE6注释bug”的原因)。
    </li>
    <li>其他的,我暂时尚未发现的条件。 </li>
</ul>
<h4>为何会出现魅影</h4>
<p>bug虽然的的确确的存在,但是为什么会出现这样的bug依然没有统一的定论。不同的高手也是各执一词,谁也说服不了谁。真正的原因也许只有当时的IE6团队才能道出来,但是现在仍然没有官方的说法。下面列出来的这两种说法,是只是现在网上认可度比较高的而已——</p>
<ul style="">
<li>IE6浏览器对&lt;!-- --&gt;注释的解释存在bug引起的。
    </li>
    <li>“3像素bug”的扩展后遗症。(“3像素bug”我们将在《IE7的web标准之道》系列以后的文章中讲到)
    </li>
    <li>其他的一些说法 </li>
</ul>
<h4>如何消灭魅影</h4>
<p>引起的原因,也许我们可以不知道,但是如何去消除却是我们一定要关注的。</p>
<p>“歌剧院魅影bug”已经在IE7中得到修正,在FireFox和Opera中也不会出现,所以bug的修正主要是针对IE6的。</p>
<p>针对于上文中讲到的“bug重现条件”,如果要修正bug,只要让任何一个条件不满足即可——</p>
<ul style="">
<li>改变结构,不出现【一个容器包含2两个具有“float”样式的子容器】的结构。<br>
    ——此解决方案的评论:疯了!因噎废食的做法。
    </li>
    <li>减小第二个容器的宽度,使父容器宽度减去第二个容器宽度的值大于3,例如将本文示例中第二个子容器的宽度改为197px。<br>
    ——此解决方案的评论:在满足页面布局的前提下可以使用。但是当情况比较复杂的时候,可能实施起来比较困难。
    </li>
    <li>去掉所有的注释。<br>
    ——此解决方案的评论:最直接的做法,但是“没有注释的代码”,的确不是一个好的代码写作习惯。
    </li>
    <li>修正注释的写法。将 <span style="color: #408020; background-color: #cccccc;">&lt;!-- 这里是注释内容 --&gt;</span>写成<span style="color: #408020; background-color: #cccccc;">&lt;!--[if !IE]&gt;这里是注释内容&lt;![endif]--&gt;</span><br>
    ——此解决方案的评论:还不错的解决方案,但是并不是每个人都对<span style="color: #408020; background-color: #cccccc;">&lt;!--[if !IE]&gt;这里是注释内容[endif]--&gt;</span>这种注释写法很欣赏。
    </li>
    <li>在第二个容器后面加一个或者多个&lt;div style="clear"&gt;&lt;/div&gt;来解决。<br>
    ——此解决方案的评论:另人感觉很不爽的解决方案。但是的确能解决。影响网页效率</li>
    <li>其他的你提供的方法 </li>
</ul>
<h4>关于此bug的一些文章资料</h4>
<p>其实很早以前就有外国的朋友关注过这个bug,而且在中国也有过一些朋友关注过这个bug。我在写这篇文章的时候,也一定程度上参照了他们的研究成果,在此向研究此问题的前辈们表示感谢。下面是两篇研究此bug的文章。希望对你有进一步的帮助。</p>
<ul style="">
<li>Holly 'n John 于2004年2月18号发表的一篇文章: <a title="Explorer 6 Duplicate Characters Bug " href="http://www.positioniseverything.net/explorer/dup-characters.html" target="_blank">《Explorer 6 Duplicate Characters Bug 》</a>,这是关于此bug比较权威的一篇文章。
    </li>
    <li>经典论坛版主怿飞的<a title="注释在IE中造成文字溢出的研究" href="http://www.planabc.net/2006/10/06/comment_ie_bug/" target="_blank">《注释在IE中造成文字溢出的研究》</a>。顺便说一下怿飞是一个在web标准方便很有研究的朋友。虽然没有直接和他接触过,但是却一直拜读他的文章。在此也给这位文章曾给予我很大帮助的朋友做个广告,他的博客为地址为:<a title="怿飞" href="http://www.planabc.net/" target="_blank">http://www.planabc.net/</a>。 </li>
</ul>
<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="IE7的web标准之道——3:(修正)引起页面布局混乱的祸首" href="http://www.cnblogs.com/JustinYoung/archive/2008/02/25/IE7_wsRoad_overflow.html" target="_blank">《IE7的web标准之道——3:(修正)引起页面布局混乱的祸首 》</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="《Ghost in IE6.web标准网页IE6中的幽灵》" href="http://www.cnblogs.com/JustinYoung/archive/2007/06/14/783958.html" target="_blank">《Ghost in IE6.web标准网页IE6中的幽灵》</a>
    </li>
    <li>
<a title="《Explorer 6 Duplicate Characters Bug》" href="http://www.positioniseverything.net/explorer/dup-characters.html" target="_blank">《Explorer 6 Duplicate Characters Bug》</a>
    </li>
    <li>
<a title="《注释在IE中造成文字溢出的研究》" href="http://www.planabc.net/2006/10/06/comment_ie_bug/" target="_blank">《注释在IE中造成文字溢出的研究》</a> </li>
</ul>
分享到:
评论

相关推荐

    41528论音乐剧《歌剧魅影》的演唱风格论文.doc

    《歌剧魅影》是现代音乐剧的里程碑之作,由英国作曲家安德鲁·劳埃德·韦伯创作,其演唱风格融合了多种艺术形式,既保留了古典音乐的优雅,又融入了流行音乐的元素,从而创造出独特而引人入胜的听觉体验。...

    工程管理概论论文——悉尼歌剧院.doc

    【悉尼歌剧院】是澳大利亚最著名的标志性建筑之一,它的设计和建设不仅体现了创新的建筑设计理念,也展现了工程管理的复杂性和挑战。论文【工程管理概论论文——悉尼歌剧院.doc】详细探讨了该项目从概念构想到运营的...

    “画”说三联剧——记中央歌剧院音乐会版普契尼三联剧.pdf

    “画”说三联剧——记中央歌剧院音乐会版普契尼三联剧.pdf

    歌剧魅影观后感1000字3篇参考.doc

    1. **剧情概要**:《歌剧魅影》讲述了在19世纪的巴黎歌剧院,一个被称为“魅影”的神秘男子与年轻女歌手Christine之间的爱情故事。魅影因为自己的丑陋面貌而隐藏在歌剧院的地下迷宫中,他对Christine的才华和美丽...

    IS_Fichas:塞班歌剧院

    【IS_Fichas:塞班歌剧院】是一个与Java编程相关的项目,可能是一个软件应用或者游戏,其名称暗示了它可能与艺术、文化和娱乐领域有关,特别是歌剧院这样的场所。在Java开发中,"IS_Fichas"可能是项目的名字,而"塞班...

    歌剧魅影观后感范文900字.doc

    7. **音乐剧的魅力**:《歌剧魅影》的音乐剧形式展现了音乐剧的独特魅力,它不仅有引人入胜的故事情节,更有能够直达人心的音乐,使得观众在欣赏艺术的同时,也得以对人性进行深度的思考。 总的来说,《歌剧魅影》...

    悉尼歌剧院.stl悉尼歌剧院.stl

    悉尼歌剧院.stl悉尼歌剧院

    sistemi-operativi:西西里歌剧院

    4. 文件系统管理:歌剧院的演出资料、剧本、音频、视频文件等都需要妥善存储和管理。操作系统提供的文件系统使得这些资源的分类、检索和共享变得方便,有利于演出的准备和排练。 5. 用户接口:操作系统为工作人员...

    41528论音乐剧《歌剧魅影》的演唱风格论文-论文.zip

    《歌剧魅影》是安德鲁·劳埃德·韦伯创作的一部经典音乐剧,自1986年首演以来,以其独特的音乐风格、深情的故事情节和华丽的舞台效果吸引了全球无数观众。这篇41528论音乐剧《歌剧魅影》的演唱风格论文,深入探讨了...

    NLW-3:西班牙歌剧院广场

    NLW-3是名为"西班牙歌剧院广场"的项目,该项目使用了TypeScript作为主要的编程语言。TypeScript是JavaScript的一个超集,它为开发者提供了更丰富的类型系统、静态检查和代码可维护性,尤其适合大型项目的开发。在这...

    读《歌剧院的幽灵》有感精选.doc

    这部作品讲述了一个隐藏在巴黎地下湖心宫殿中的丑陋天才——魅影,他对歌剧院年轻女舞者克莉丝汀的爱恋,以及这份爱如何在悲剧与疯狂之间摇摆的故事。音乐在这部歌剧中扮演了至关重要的角色,它不仅是情感传达的媒介...

    歌剧院、乐队3Dmax模型

    在本资源中,我们主要关注的是“歌剧院、乐队3Dmax模型”,这是一个与三维建模和动画制作相关的素材集合。3Dmax是一款强大的三维建模软件,广泛应用于游戏开发、影视特效、建筑设计等多个领域。这里提供的模型集合,...

    SOII:西班牙歌剧院第二届组织西班牙语活动

    西班牙歌剧院第二纪律组织。 Primeira Atividade-Programando com PThreads 不适用,请执行pt_join.c程序的执行,然后再执行线程或线程。 N°de螺纹 TP 加斯托(Tempo Gasto) 4 10 ^ 12 3分43段 4 10 ^ 11 ...

    大学生歌剧魅影的个人观后感.docx

    影片以19世纪法国巴黎歌剧院为背景,讲述了相貌丑陋却才情横溢的“魅影”与纯真少女克莉丝汀之间的复杂情感纠葛,以及由此引发的一系列戏剧性事件。 “魅影”,由杰拉德·巴特勒饰演,是一个音乐天才,他隐藏在歌剧...

    大学生歌剧魅影的观后感_1.docx

    《大学生歌剧魅影的观后感》是对经典音乐剧《歌剧魅影》的个人感悟,这部作品基于加斯东·勒鲁的同名小说改编,讲述了在19世纪的法国巴黎歌剧院中,一个神秘音乐天才与年轻女歌手克莉丝汀之间错综复杂的爱情故事。...

    读《歌剧院的幽灵》有感.doc

    读《歌剧院的幽灵》有感.doc

    大学生歌剧魅影观后感_2.docx

    这部作品讲述了在19世纪法国巴黎歌剧院中,一个神秘而才华横溢的音乐天才——魅影,如何影响了年轻女歌手克莉丝汀的命运。通过观后感的分享,我们可以深入探讨这部作品中的主题和情感。 首先,魅影的形象既恐怖又...

    SVG绘制的悉尼歌剧院.rar_SVG绘制的悉尼歌剧院_svg

    在IT领域,SVG(Scalable Vector Graphics)是一种用于创建二维图形的标准,它以其灵活性、清晰度和可缩放性而备受青睐。本项目“SVG绘制的悉尼歌剧院”是利用SVG技术和CSS3来实现一个逼真的悉尼歌剧院建筑模型。...

    秋三年级语文上册《悉尼歌剧院》教学设计 沪教版-沪教版小学三年级上册语文教案.doc

    7. 总结与作业:回顾全文,强调悉尼歌剧院的内外特点,布置作业让学生模仿写作,锻炼观察和表达能力。 【教学板书】 教学板书清晰地展示了悉尼歌剧院的关键词,包括“标志”、“造型别致”、“外观漂亮”、“内部...

Global site tag (gtag.js) - Google Analytics