毫无疑问的是微软发布IE7不仅仅是出了安全方面的考量, IE6错综复杂的BUG是各位网站主的梦魇, 也是微软的心头之痛, IE7在css的支持方面绝对是比IE6有了长足的进步, 但和Firefox相比, 还是有一段距离. 微软到底是向W3C屈服了.
所以, 如果你的网站CSS满足以下条件, 可以说IE7会把你的网站渲染得很好:
1. 你的网站在IE6下表现正常;
2. 你的的网站在Firefox下表现完美;
3. 你的CSS代码中不含有诸如>body之类的针对IE6的Hack.
IE7在CSS兼容性方面的变化:
1. IE7与IE6相比, 有多达200多处改进, 但它们都是在Strict Mode下实现的, 即在页首声明DocType为XHTML Transitional, XHTML Strict等. 而在Quirks Mode下, IE7和IE6别无二致;
2. IE终于支持Alpha通道的PNG图片了. 这些Alpha通道图片, 如透明PNG24图片在IE6下是不能正常显示的. 本站为了实现在IE6下的图片透明使用了一个PHP破解方法(暂保密).
3. 盒子模型改变了; 这点在微软的Blog中有详细说明, 摘录如下:
在Html文件中写入:
<div>
<blockquote>
<p>some text long enough to make it interesting.</p>
<cite>- anonymous</cite>
</blockquote>
</div>
在css文件中写入:
div { width : 100px; height: 100px; border: thin solid red;}
blockquote { width: 125px; height: 100px;
margin-top: 50px; margin-left: 50px;
border: thin dashed black}
cite { display: block;
text-align: right;
border: none}
p { margin: 0;}
在IE6下表现如下:
而在IE7下表现如下:
简单的说, 盒子对于”overflow”使用了”visible”默认值, 所以对于子元素尺寸大于父元素尺寸时, IE7会和Firefox一样将子元素露出于父元素之外显示, 而不是像IE6那样把父元素撑大了包含子元素.
4. 有哪些IE5/6中的BUG在IE7中被修正:
- * Border Chaos
- * Disappearing List-Background bug
- * Guillotine Bug
- * Unscrollable Content bug
- * Duplicate Characters Bug
- * IE and Italics
- * Doubled Float-Margin bug
- * Duplicate Indent bug
- * Three pixel text jog
- * Creeping Text bug
- * Missing First letter bug
- * Phantom box bug
更加详细的列表见于微软的官方Blog.
你的网页乱了怎么办?
归根结底, 我们是要解决问题的, 你大可不必等到IE7最终版的发布了, 因为微软已经声明与IE7(RC)兼容的网页在IE7最终版中也是表现正常的.
1. 如果你使用了一些CSS Hack, 很可能问题出在它们, 重写它们吧.
2. 如果你实在是不知道如何让你的网页在IE和Firefox中表现一致, 那么你可尝试在<head></head>中加入如下代码:
<!–[if IE]>
<link rel=”stylesheet” type=”text/css” href=”iestyles.css” />
<![endif]–>
然后为IE单独写一个CSS文件iestyles.css
3. 调试再调试; 解决不了的问题, 把它们发给你的朋友, 或是在Google里搜索一下.
可以预见的未来
1. 你需要照顾的浏览器将是IE6, IE7, Firefox, Opera, Safari;
2. 在未来很长一段时间里, IE6将和IE7平分秋色, 甚至是独霸一方, 尤其是在盗版严重, (可能)无法正常更新的中国地区.
3. 长期购买盗版软件的国内人士, 将为自己的行为长期埋单. 而我将加快摆脱盗版软件的束缚, 比如已经彻底弃用IE(除了调试网页时), 用Firefox及其插件实现数十种以前只有收费软件才能达成的功能. 最终弃用Windows.
Important References
- 1. Cascading Style Sheet Compatibility in Internet Explorer 7
- 2. Internet Explorer 7 Release Candidate 1 in standalone mode(IE7)
- 3. Details on our CSS changes for IE7
- 4. IE7 beta2的CSS兼容性
[END]
转自: http://jorux.com/archives/css-compatibility-in-ie7-rc/ JUXOR