2016-06-24 10 views
0

したがって、私は最初から新しいウェブサイトを作成しています。私はこの単純なHTMLがあります。ページからオーバーフローするナビゲーションバー上の余白、マージン/パディング付きの内部コンテナは動作しません

<div class="navbar"> 
    <div class="page-title">SkillUp</div> 
</div> 

<div class="container"> 

    <!-- PAGE CONTENT INJECTED HERE --> 
    <div ng-view></div> 

</div> 

をそして、私のCSSは次のとおりです。シンプル

html, body{ 
    margin: 0; 
    padding: 0; 
} 

.navbar{ 
    position: fixed; 
    top: 0; 
    left: 0; 
    background-color: #197719; 
    width: 100%; 
    height: 80px; 
    z-index: 100; 
    box-shadow: -2px 2px 5px rgba(0, 0, 0, 0.4); 
    padding: 0 15px; 
} 

.page-title{ 
    position: relative; 
    top: 2px; 
    color: white; 
    font-family: Lobster, cursive; 
    font-size: 54px; 
    text-shadow: -3px 3px 5px rgba(0, 0, 0, 0.6); 
    text-align: center; 
} 

。しかし、パディングが追加されたときのnavbarは、パディング時間2のサイズだけページを横切って伸びています。bodyとhtmlの幅を100%に設定し、別のdivをnavbarの中に入れ、幅を設定するまで100%にしてパディングを追加しますが、それによって外側のナビゲーションバーも大きくなります!私はnavbarからパディングを削除するときにのみ動作しますが、私が作った他のウェブサイトでこの問題はありませんでした!私はそれが働くために内側の要素にマージンを置く必要はありません。 、

Annoying navbar

ヘルプしてください:

はここで何が起こるかの絵です!ありがとう!

+1

'width:100%'を削除して、代わりに 'top:0;を使用してください。左:0;右:0'なので、navbarは100%に収まるように拡張されます – shall

+0

@shallそれもうまくいった!だからあなたはそれを行う方が良いと思うか、ボックスサイズ:border-box;互換性の点で、または何でも。 –

+0

私はそこに違いはないと信じて、ボックスサイズは完全に互換性があります[ここ](http://caniuse.com/#feat=css3-boxsizing) – shall

答えて

2

.navbarセレクタに

box-sizing: border-box; 

を追加します。

+0

そのトリックを知らなかった。私はフル幅のコンテナの中にフレックスボックスをネストしていたでしょう...素敵なもの – Carele

+0

@GolezTrolあなたの解決策では、タイトルはすべてのスペースを占めていません... – Carele

+0

私はあなたを愛しています。しかし、これは古いブラウザで問題を引き起こす可能性がありますか? –

関連する問題