2016-08-05 12 views
2

Dies ist der HTML-Code und der CSS-Code.Platzieren eines Div auf einem anderen Div

#header { 
 
    height: 75px; 
 
} 
 
#right { 
 
    height: 75px; 
 
    width: 700px; 
 
    float: right; 
 
} 
 
#top { 
 
    height: 100px; 
 
    background-color: green; 
 
} 
 
#bottom { 
 
    height: 800px; 
 
    background-color: silver; 
 
} 
 
#main { 
 
    height: 850px; 
 
    width: 950px; 
 
    background-color: #F3ECEA; 
 
    margin: auto; 
 
    position: absolute; 
 
    z-index: 1; 
 
} 
 
body { 
 
    margin: 0; 
 
    padding: 0px; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<link rel="stylesheet" type="text/css" href="design.css"> 
 

 
<body> 
 
    <div id="main"> 
 
    <div id=header> 
 
     
 
     <div id="left"></div> 
 
     <div id="right"></div> 
 
     
 
    </div> 
 
    </div> 
 
    
 
    <div></div> 
 
    
 
    <div id="top"></div> 
 
    <div id="bottom"></div> 
 
    
 
</body> 
 

 
</html>

Ich versuche, die #main div auf der Mitte der Webseite zu platzieren und es sollte auch über die #top und #bottom divs sein. Ich habe versucht z-index, aber es hat nicht funktioniert. Bei der Verwendung von z-index konnte ich die #main div auf #top und #bottom Divs setzen, aber margin:auto funktioniert nicht. Bei Verwendung der oberen und unteren Attribute für position:absolute konnte ich die #main div platzieren, aber die Größenänderung des Fensters macht es anders. Ich möchte die #main Div über die #bottom und #top Division und auch in der Mitte der Seite auch nach der Größenänderung der Seite sein.

+0

Bitte das Bild teilen, wie würden Sie es erwarten gerendert werden. – sarbbottam

Antwort

0

Z-Index sollte funktionieren, um die divs in Bezug auf eines vor dem anderen zu verwalten. Der Grund, warum sich Ihre Zentrierung und andere Aspekte ändern, wenn Sie die Bildschirmauflösung ändern, d. H. Minimieren usw., liegt daran, dass Sie alle Ihre CSS mit px und nicht mit Prozent definiert haben. Ändere deine Marge usw. auf Prozentsätze und es sollte funktionieren.

0

Um #main div über oben/unten divs zu platzieren, fügen Sie einfach einen z-index von 1 hinzu.

Um #main mit absoluter Position zu zentrieren, müssen Sie einen 0-Wert für die linken und rechten Eigenschaften angeben und Auto für den Rand hinzufügen.

See fiddle

0

Code wegen Ihrer Schwimmer kollabiert Sie angewendet, deshalb Dinge zu verändern, ist nicht, dass Sie den gewünschten Effekt zu geben. Öffnen Sie Ihre Entwicklungswerkzeuge (F12) in Chrom und Sie können die Elemente überprüfen, um zu sehen, wo sie sitzen.

Ich würde vorschlagen, Clearfix zu Ihrer Eltern div hinzufügen, wenn Sie schwimmen werden.

um ehrlich zu sein Ich bin ein wenig verwirrt wo du deine Divs haben willst, könntest du ein Bild posten?

+0

iam versucht, die WhatsApp-Webseite zu entwerfen. Wir haben ein Hauptdiv, in dem wir chatten, das in der Mitte des Fensters über zwei mehr divs liegt. – reswanth

0

Um #main über #top und #bottom zu platzieren, verwenden Sie einfach z-index. Höherer Z-Index für #main. Niedrigerer Wert für #top und #bottom.

die #main innerhalb der Webseite zu zentrieren,

margin-top: calc(50vh - 425px); 
margin-left: calc(50vw - 475px); 

vh steht für Darstellungshöhe und vw für Darstellungsbreite. Die Funktion calc() berechnet dynamisch die Werte für den oberen und den linken Rand, wenn sich die Fenstergröße ändert.

Referenz: