首页 > 代码库 > "position:relative"在IE中的Bug

"position:relative"在IE中的Bug

请看下图: 
 
即子元素过高导致父元素出现滚动条时,它并不会像预期的那样呆在父元素里,而是浮在父元素之上,并且位置不随滚动条的移动而改变。根源就是子元素的"position:relative"。目前只发现ie中有此问题。 
页面源码: 
Html代码  收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   
  2.   
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4. <html>   
  5. <head>   
  6. <title>relative bug</title>   
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
  8. <style type="text/css">   
  9. <!--   
  10. #container {  
  11.     background:blue;  
  12.     height:100px;  
  13.     width:300px;  
  14.     overflow:auto;  
  15.     /*position:relative;*/  
  16. }  
  17. #container>div {  
  18.     background:red;  
  19.     height:300px;  
  20.     width:150px;  
  21.     margin:0 auto;    
  22.     position:relative;/*这句会触发bug*/  
  23. }  
  24. -->   
  25. </style>   
  26. </head>   
  27. <body>   
  28. <div id="container">  
  29.     <div></div>  
  30. </div>  
  31. </body>  
  32. </html>   

解决方法:为父元素也添加"position:relative"设置。在上例中,只需把#container的注释还原即可。 
以下是正常页面: