2010-12-29 16 views
1

Ich habe diesesAbsolute positioniert div nicht versteckt

<div id="container"> 
    <div id="div1"></div> 
<div> 

Nun lassen Sie uns annehmen, dass:

  • der "Container" hat eine Breite von 300px
  • der "Container" Überlauf hat: versteckt ;
  • das "div1" hat eine Breite von 1000px;
  • das "div1" ist absolut positioniert, oben: 0px, links: 0px;

Das Problem:

Die "div1" versteckt ist nicht, den "Container" überläuft, aber es zeigt immer noch :(

Wenn ich die "position: absolute" einfach entfernen. Wird es Arbeit.

Wie kann ich den Überlauf von "div1" verbergen?

Antwort

6

Add Position: relativ zum Behälter div Element .:

Exa:

<style type="text/css"> 
     #container 
     { 
      width: 200px; 
      background-color: red; 
      height: 60px; 
      color: white; 
      position: relative; 
      overflow: hidden; 
     } 

     #div1 
     { 
      background-color: blue; 
      position: absolute; 
      top:0px; 
      left:0px; 
      width: 300px; 
     } 
    </style> 

<div id="container"> 
     <div id="div1">This is div1</div> 
    <div> 
+0

Danke, ich dachte nur die "Position: relative" ist Standard: - ?? – Cristy

+1

Der Standardwert für die Position ist statisch. – Chandu

+0

Wenn Sie dazu neigen, viel zu positionieren, können Sie 'position: relative' als Standard mit '* {position: relative; } 'an der Spitze Ihres CSS. – JakeParis

2

Zugabe

#container { position: relative; } 

wird den Überlauf ausblenden.

1

Position Hinzufügen von absoluten zu einem Elemente wird das Element aus dem normalen Fluss entfernen. Es positioniert sich absolut zum nächsten Elternteil, der relativ positioniert ist.

Deshalb wird das Hinzufügen von "position: relativ" zum "Container" den gewünschten Effekt erzielen.

Verwandte Themen