webrebuild.org第四届年会——金秋四城联动
大白的工作笔记 注册 | 登陆

对于ie,注意position属性带来的性能问题

今天遇到的这个问题其实早在1年前做DNF商城的时候就遇到了,由于ajax的数据加载,导致原本拥有position属性的元素不会自动移动位置,导致原始内容,和ajax 内容叠加。

当然,单单测试position 是不会有问题的。但是这个问题很容易触发。比如说 position 的父标签或者最祖辈标签里有背景。加入机器稍微差点这个时候就会触发。如果机器好点 ,有可能还得加条件。

同样,网上流传的那个清楚浮动的理想方式里面的 

 

CSS代码
  1. * html .clearfix { height: 1%; }  

这个也会引起新能问题。

 

提供一个测试:

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>bug</title>  
  6.   
  7. <style>  
  8. /* --------|  Clear Fix |--------- */  
  9. * html .clearfix{height:1%; } /*这个是网上流传的清理浮动里面的一个属性,为了展示bug 多余的我去掉了*/  
  10.   
  11. #hnseverBox{background:url(../../images/newUI/newsc/di.gif) no-repeat;} /*父标签指定一个背景图,不管这个背景图url真确与否。*/  
  12. .openlist {position:relative;} /*这个这个*/  
  13. </style>  
  14. <script src="http://www.dabaii.com/demo/38/jquery.js"></script>  
  15.   
  16. <script>  
  17. $(function(){  
  18.     $('.openlist').each(function(i){  
  19.         $(this).click(function(){  
  20.             $.ajax({  
  21.               url: "http://www.dabaii.com/demo/20100701/test.html",  
  22.               cache: false,  
  23.               success: function(html){  
  24.                 $('.time_line').eq(i).html(html).attr('class','time_line');  
  25.                   
  26.               }  
  27.             });                      
  28.         })                     
  29.     })           
  30. })  
  31. </script>  
  32. </head>  
  33. <body>  
  34. <div id="hnseverBox">  
  35.   
  36.             <div class="time_line">ajax数据输出位置</div>  
  37.             <div class="clearfix"><a class="openlist" href="###">查看更多</a></div>  
  38.   
  39.            <div class="time_line">ajax数据输出位置</div>  
  40.             <div class="clearfix"><a class="openlist" href="###">查看更多</a></div>  
  41.   
  42.   </div>  
  43.   
  44. </body>  
  45. </html>  

试试用你的ie6 测试一下。http://www.dabaii.com/demo/20100701/

注意这个一个测试文件。不要纠结css代码和结构的意义。虽然这个测试文件 这种css 和代码看上去没啥意义,也不符合逻辑。为什么平白无故清浮动? 为什么A要有position:relative。但是总归有一天会又这样的结构需要这样的css……这里只是展示一下这个bug出现的条件而已。

 

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

发表评论

评论内容 (必填):