2016-05-14 11 views
-2

Hier Dokument meine CSS: http://brandonholmes.net/scheduleus.cssWarum Block nicht meine divs Anzeige tun

Kann jemand bitte erklären, warum die ‚nav‘ divs und einander überlappen und die ‚fixerheader‘ div obwohl beide auf ‚Anzeige : Block'?

Vielen Dank im Voraus!

Edit: Hier ist der Code in Frage ...

#nav { 
border-radius: 5px; 
position: absolute; 
display: block; 
background-color: white; 
color: black; 
margin-bottom: 10px; 
padding: 5px; 
} 

#fixedheader{ 
position: fixed; 
top: 0px; 
left: 0px; 
width: 100%; 
color: #FFFFFF; 
background: #000000; 
padding: 0px 3px; 
display: block; 
} 
+0

Bitte geben Sie Ihren Code in der Frage – dippas

+0

Der Code kann in dem verknüpften Dokument gefunden werden, aber sicher. –

+0

Willkommen bei StackOverflow. Bitte sehen Sie [Wie zu fragen] (http://stackoverflow.com/questions/how-to-ask) und [Die perfekte Frage] (http://codeblog.jonskeet.uk/2010/08/29/writing-the -Perfekt-Frage /). –

Antwort

1

position: fixed ist völlig unabhängig von allem anderen. Seine Position wird nur durch die Parameter top/bottom/left/right in Bezug auf das Browserfenster bestimmt, es benötigt keinen Platz im Dokumentenfluss.

Auch position: absolute nimmt keinen Platz im Dokumentenfluss. Der Unterschied zu fixed ist, dass es in Bezug auf seine Position in seinem übergeordneten Element verankert ist.

Daher werden beide leicht andere Elemente überlappen, was wahrscheinlich die Ursache Ihres Problems ist.

display: block ändert nichts in dieser Hinsicht.

+0

Also, was ist der beste Weg, um drei divs zu erstellen: eine, die als Kopfzeile und erstreckt sich über den gesamten oberen Rand der Seite, und zwei, die direkt darunter fallen, Vermeidung von Überschneidungen und passen theslves auf die Größe ihres Inhalts? Ich überlegte, Höhe/Breite zu definieren, aber da der Inhalt in der Größe variieren wird, möchte ich später nicht hässliches Design haben, wenn der Inhalt zu groß für die definierte Größe des div ist. –

+0

ohne HTML-Code ist es fast unmöglich, Ihnen Ratschläge zu geben - was Sie in Ihrem Kommentar fragen, ist wirklich zu weit gefasst, um Ihnen eine befriedigende Antwort zu geben – Johannes

0

Ohne HTML ist es nicht möglich, Ihre Frage zu beantworten, aber die Definition einer Höhe könnte Ihr Problem lösen. versuche zum Beispiel eine feste Höhe von 100px zu geben.