2016-08-11 20 views
0

プレーンでシンプルなHTMLといくつかのCSSでナビゲーションリストを作成しました。それはページの右側にあるべきで、ページに多くのコンテンツがある場合でも、ユーザーがスクロールしても移動しないようにしてください。多くのテキストで固定の右ナビゲーションバーが移動する

ウェブサイトにサンプルテキストを追加した後、ナビゲーション要素が左側に多くあることがわかりました。なぜこれが起こっているのですか?これをどのように修正できますか?

これは単にいくつかのテキストの最初の最小限の例です。

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

とナビゲーションリストは、最初の例よりも左側にもっとあるいくつかのより多くのテキストをスニペット:

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

:どちらも同じCSSスタイルが定義されている:

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; 
} 

編集:@Autista_zが述べたように

スクロールバーがある場合には、ナビゲーションバーが移動しますが、私は常にスクロールバーを表示したくありません。これを改善する良い方法はありませんか?

+2

Becouseスクロールバーのコード行を追加します。これは、ビューポートを水平方向に小さくします。 –

+0

論理的なサウンドです。これを修正する良い方法はありますか?私はフロントエンドの開発に精通しておらず、ハッキー*の修正を望んでいません。 – Peter

+0

あなたは何を記述しようとしているのか分かりません。どちらのリンクも上手くいくように見え、ナビゲーションは右手側に固定しています。 – Lee

答えて

0

@Autista_zによると、それはスクロールバーのためです。

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

これを確認すると、フィドルが更新されます。

これは修正されていませんが、どのように問題ではないかをお見せしたいと思います。

は私がやったすべてが

body { 
    overflow: scroll; 
} 
+0

これは、私が望むものでないものを常に両方のスクロールバーに表示します。別の方法はありませんか? – Peter

+0

私はフィドルを更新しました。それを再度確認してください。 'overflow-y:scroll 'を使用してください。 – Lucian

+0

あなたの努力に感謝しますが、スクロールバーを常に表示する必要はありません。 :/ – Peter

関連する問題