2012-04-10 8 views
0

Ich habe eine position:fixed; Navigationsleiste. Immer wenn ich zu mypage.html # myid gehe, überlappt die Navigationsleiste einen Teil des Inhalts von myid. Wie kann ich die gesamte Seite ein wenig nach unten verschieben, so dass die Navigationsleiste den Inhalt nicht abdeckt?Problem mit Position: Fixed und Hash-Tags (Details in Körper)

P.S. Ich habe versucht body{padding-top:50px;}

Antwort

1

Sie können nicht margin-top auf der Myid div? Dein Hauptinhalt sollte innerhalb eines div sein und dieses div sollte innerhalb des Körpers sein, dann kann myid div vom Körper nach unten drücken, um genug Platz für die feste nav-Leiste zu lassen.

Einige Code würde helfen ...

+0

IE7 hat Problem mit margin-top, ich denke, padding-top ist viel sicherer. – Jay

+2

IE7 hat Probleme mit einem Browser. –

+0

Erzähl mir davon! – Jay

0

Es ist ein bisschen hacky Lösung benötigt.

#myID:before { 
    display: block; 
    content: " "; 
    margin-top: -285px; /* navigation height */ 
    height: 285px; /* navigation height */ 
    visibility: hidden; 
} 

Die Logik ist verborgenes Element vor dem #myID Inhalt hinzufügen, damit Browser ihm einen versteckten Raum geben. Wenn Sie Minus-Wert als Rand oben geben, wird verhindert, dass es phsyikalischen Raum gibt.

haben Sie einen Blick auf hier für Detail: http://css-tricks.com/hash-tag-links-padding/

+0

Könnten Sie in Ihrer Antwort eine kleine Beschreibung über den Inhalt der Links und ein paar Worte zur vorgeschlagenen Lösung hinzufügen? –