通常在Web开发社区,您会听到有人抱怨开发IE6。但是,如果您正在使用像jQuery这样强大的JavaScript框架进行开发,那么开发IE6与开发IE7有什么不同?
答案 0 :(得分:16)
与其他浏览器相比,它完全没有任何改进,因为其他浏览器在同一时间取得了更大的进步。它仍然是主流浏览器中最糟糕的,也是开发人员b * tt的痛苦。
答案 1 :(得分:13)
IE7支持png透明度,这对维护网站的图形资源有很大的帮助。
答案 2 :(得分:9)
我将添加一些尚未列出的要点:
width
样式。在IE6中,如果你有一个width
大于父元素的子元素,它通常会忽略父元素的width
声明并扩展以适应孩子,通常需要hacks overflow: hidden
以确保父母不会扩展
这主要是一件好事,但不幸的是引入了许多其他的怪癖,例如:将<table style="width: 100%">
设置为overflow
或overflow: auto
的滚动DIV中的scroll
会将表格扩展为滚动的DIV 的宽度,包括垂直滚动条的宽度因此,某些表格会被右侧的滚动条切断。
IE7我认为现在也支持alpha: 1.0
以及filter: alpha(opacity=100)
已修复SELECT z-index错误: IE7修复了SELECT
元素具有无限z-index并始终高于其他元素的错误,除非您放置{{1在IFRAME
和要在其上方显示的元素之间。这是菜单等问题。
CSS伪类改进: SELECT
以及其他一些类似的CSS状态现在支持超链接。
性能未必提高: IE7在其VML引擎中引入了许多错误,而在IE8中,VML现在比标准兼容模式下的IE7慢10倍,因此它并不完美。此外,我的测试用例表明,在我的网络应用程序中,在IE7的标准兼容模式下,在鼠标事件中查找:hover
和offsetLeft
的速度也会慢大约10倍。
IE在怪癖模式下虽然在整个IE6,7 + 8中VML和offsetTop
的性能大致相同。我在IE7标准兼容模式下的经验实际上比IE6中的标准兼容模式要慢得多,尽管它更符合标准。
我认为这是一把双刃剑,因为原始JavaScript 性能确实提高了,所以像使用数组方法和for loops这样的事情甚至改善了虽然我认为渲染引擎和许多相关的DOM方法在IE7 +中的标准兼容模式下变得慢得多。
答案 3 :(得分:6)
IMO,IE6和IE7之间存在着天壤之别。
>
子选择器+
)选择器的支持答案 4 :(得分:2)
我认为IE7的大部分改进都是基于性能(javascript)的,并试图接近CSS的标准合规性。
在我的脑海中,这些是我记得的一些重大改进:
与IE6进行比较时,它是一个更好的浏览器,当你将它与今天的其他浏览器进行比较时,并没有那么多。
答案 5 :(得分:1)
几乎没有;就IE7在标准符合性方面的收益而言,它可以忽略不计。到目前为止,包括IE8在内的所有Internet Explorer版本在JavaScript,CSS和DOM实现方面都有可怕的中断。您用于IE6的大多数黑客仍然适用于更高版本。然而,从好的方面来看,IE9正在变得相当不错,并取得了很大进展(我从未想过我会这么说)。
规范与Firefox和Chrome等其他浏览器之间的差距和实施差异要小得多。
我建议{IE}有关IE的众多缺陷的Mark Wilton-Jones's文章以获取更多信息。
答案 6 :(得分:1)
Javascript&amp; CSS框架可以最大限度地减少IE6造成的损坏,但仍然存在许多错误。 IE6和其他浏览器之间的不一致。
IE7优于IE6,但仅仅是。
答案 7 :(得分:1)
就个人而言,IE6最令人讨厌的是它缺乏PNG透明度。这导致需要对图像使用AlphaImageLoader。这意味着它引入了自己的错误/无能。例如,使用AlphaImageLoader的透明背景不能重复。
此外,还有一些错误,例如double margin错误,缺少对最小高度和最小宽度的支持,为浮动元素添加额外的换行符,缺少css selectors。