2016-08-11 1 views
0

Ich habe eine Navigationsliste mit einfachen und einfachen HTML und einige CSS erstellt. Es sollte sich auf der rechten Seite der Seite befinden und sollte sich weder bewegen, wenn auf der Seite viel Inhalt vorhanden ist, noch wenn der Benutzer nach unten scrollt.Fixed rechten Navigationsleiste bewegt sich mit viel Text

Nachdem ich einige Beispieltext zu meiner Website hinzugefügt habe, erkannte ich, dass das Navigationselement mehr auf der linken Seite ist. Warum passiert das und wie kann ich das beheben?

Dies ist das erste minimal Beispiel mit nur einem Text:

https://jsfiddle.net/sck6nL6w/2/

Und ein Ausschnitt mit etwas mehr Text, in dem die Navigationsliste mehr auf der linken Seite ist als im ersten Beispiel:

https://jsfiddle.net/7Lsew6gg/3/

Hinweis: Beide haben die gleichen CSS-Stile definiert:

ul { 
    list-style-type: none; 
    padding: 0; 
    width: 200px; 
    float: right; 
    margin: 0 5em 0 0; 
    right: 0%; 
    top: 5%; 
    position: fixed; 
} 

li a { 
    display: block; 
    padding: 8px 16px; 
    text-decoration: none; 
} 

.navigation div { 
    margin-left: 60px; 
} 

#content div { 
    width: 65% !important; 
} 

Edit:

Als @Autista_z die Navigationsleiste erwähnt bewegt wird, wenn es eine Scrollbar ist, aber ich will nicht immer eine Scrollbar zeigen. Gibt es keinen besseren Weg, das zu beheben?

+2

Becouse der Bildlaufleiste. Das Ansichtsfenster wird horizontal verkleinert –

+0

Klingt logisch. Gibt es einen guten Weg, das zu beheben? Ich bin nicht so vertraut mit Front-End-Entwicklung und will kein * hacky * beheben. – Peter

+0

Kann nicht sehen, was Sie beschreiben möchten. Beide Links scheinen in Ordnung zu sein, während die Navigation auf der rechten Seite bleibt. – Lee

Antwort

0

wie von @Autista_z gesagt, es ist nur wegen der Bildlaufleiste.

`https://jsfiddle.net/sck6nL6w/4/' 

überprüfen Sie diese Updates Geige.

es ist nicht fix, aber ich möchte Ihnen zeigen, wie es überhaupt kein Problem ist.

alles, was ich tat, ist diese Codezeile hinzugefügt

body { 
    overflow: scroll; 
} 
+0

Dies wird immer beide Bildlaufleisten zeigen, was ich nicht will. Gibt es keinen anderen Weg? – Peter

+0

Ich habe die Geige aktualisiert. überprüfe das nochmal. benutze 'overflow-y: scroll' – Lucian

+0

Danke für deine Mühe, aber immer eine Bildlaufleiste zu zeigen (auch wenn es nicht nötig ist) ist nicht was ich will. :/ – Peter

Verwandte Themen