2011-11-18 7 views
1

Dans mon code suivant, pourquoi la deuxième zone de texte s'affiche-t-elle au-dessus de div?En IE7 position relative en haut de la position absolue?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head></head> 
    <body> 
     <div style="position:relative;width: 170px;height: 50px;"> 
      <input type="text" /> 
      <div style="position: absolute;z-index: 999999;border: 1px solid;background:#D1C9AF;left:0;top:30px;"> 
       demo text div1 demo text div1 demo text div1 demo text div1 demo text div1 demo text div1 
       demo text div1 demo text div1 demo text div1 demo text div1 demo text div1 demo text div1 
       demo text div1 demo text div1 demo text div1 demo text div1 demo text div1 demo text div1 
      </div> 
     </div>  
     <div style="position:relative;width: 170px;height: 50px;"> 
      <input type="text" /> 
     </div> 
    </body> 
</html> 

Répondre

0

Il est parce que vous avez mis sur votre position: absolutediv. Cela enlève l'élément du flux de la page et signifie que les éléments qui l'entourent vont ignorer l'espace qu'il aurait pris.

Voici quelques further reading on CSS positioning

0

relative est toujours avec z-index plus élevé dans IE7, vous pouvez simplement supprimer la position relative de ces deux divs ou un lieu absolu en relatif avec plus z-index que ces deux.

Questions connexes