画像の上に浮かぶナビゲーションバーを使用して、完全な背景画像ページを作成しようとしています。
ナビゲーションバーが画像を押し下げるという問題が発生しています。画像はhtml要素の背景に設定されているため、ナビゲーションバーがこの効果を発揮している理由がわかりません。
bootstrapスタートページから直接cssを使用していますが、ナビゲーションバーがないと画像はページ全体に収まり、ナビゲーションバーは画像の上に配置されて押し下げられます。
Css:
html{
/* This image will be displayed fullscreen */
background:url('bg.jpg') no-repeat center center;
/* Ensure the html element always takes up the full height of the browser window */
min-height:100%;
/* The Magic */
background-size:cover;
}
body {
/* Workaround for some mobile browsers */
min-height:100%;
padding-top: 20px;
padding-bottom: 20px;
}
.navbar {
margin-top: 0px;
margin-bottom: 0px;
}
HTML:
<body>
<div class="container">
<nav class="navbar navbar-default navbar-custom" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
</nav>
</div>
最終的に必要な効果は、ページ全体の画像であり、ナビゲーションバーはその下に表示されている画像と一緒に座っていて、画像を押し下げないで、ナビゲーションバーの後に開始します。
次の2行のCSSをhtml要素の本体代わりにに適用します。
body {
background:url('bg.jpg') no-repeat center center;
background-size:cover;
/* Workaround for some mobile browsers */
min-height:100%;
padding-top: 20px;
padding-bottom: 20px;
}
HTMLではなく体に背景を追加します
body {
/* Workaround for some mobile browsers */
background: url('bg.jpg') no-repeat center center;
background-size: cover;
min-height: 100vh;
padding-top: 20px;
padding-bottom: 20px;
}
ここを参照してください: http://codepen.io/anthu/full/KVeOyV/
body
タグに背景を付けます。
html{
height: 100%;
width: 100%;
}
body {
/* Workaround for some mobile browsers */
min-height:100%;
padding-top: 20px;
padding-bottom: 20px;
/* This image will be displayed fullscreen */
background:url('http://www.radioviva.fm.br/images/backgrounds/bg-squares-dark.jpg') no-repeat center center;
/* Ensure the html element always takes up the full height of the browser window */
min-height:100%;
/* The Magic */
background-size:cover;
}
}
.navbar {
margin-top: 0px;
margin-bottom: 0px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<nav class="navbar navbar-default navbar-custom" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
</nav>
</div>