...... <!--[if lt IE 7]> <style type="text/css"> body{overflow:hidden;} #wrapper{height:100%;overflow:auto;} #fixed{position:absolute;right:17px;} </style> <![endif]--> </head> <body> <div id="wrapper"> ...... </div> <div id="fixed"><h2>{position:fixed}</h2></div> </body> </html> 代码演示3(单个IE,纯粹通过条件注释区分IE浏览器) 代码演示4(多个IE,通过条件注释+CSS hack区分IE浏览器) 对比两个纯粹的CSS hack发现,两个原理似乎相同,在于html元素和body元素的应用和对CSS的{position:fixed}的支持程度上,但是这实际上是一种Hack,基本上不具备通用性,知道这个方法就可以了。需要提醒的是IE6 standards-compliant模式下HTML元素不管给它设置什么样的高度和宽度,它的大小都始终充满整个浏览器的可视区域,而IE5 以及 Quirks 模式下html元素和body元素所有宽高设置都会被忽略而保持充满浏览器的可视区域,更多内容请看《IE 中的 html 元素》 或许有人会想,现在可以引入了XML Prolog又能用纯CSS方法解决了IE7以下的问题,这下爽了,但是加上XML Prolog后突然发现IE6处于Quirks模式,以前在standards-compliant模式下的设计又变形了,呵呵,这就是咱们搞IE的下场。
[size=0.8571em][size=0.8571em][size=0.8571em][size=0.8571em][size=0.8571em][size=0.8571em][url=http://dancewithnet.com/lab/2007/04/fixed-position/2.html]
|