bootstrap - how to put your navbar on top of your background image?

匿名 (未验证) 提交于 2019-12-03 08:57:35

问题:

I am new to bootstrap. This is the design I am trying to make:

As you can see the navbar is on top op the background image. This is what I have:

 <!DOCTYPE html>     <html lang="en">     <head>                <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>  <style>         <style> .navbar-default { background: none; border: none; }  body{     height:100%; }         html{             background: url('sun.jpg') no-repeat center center fixed;             -webkit-background-size:cover;             -moz-background-size:cover;             -o-background-size:cover;             background-size:cover;             background-position: 0 0;          }         </style>      </head> <body>          <nav class="navbar navbar-default">             <div class="container">                 <ul class="nav navbar-nav">                      <li class="active"><a href="#">home</a></li>                     <li><a href="#">ask a question!</a></li>                     <li><a href="#">learn</a></li>                     <li><a href="#">contact</a></li>                 </ul>             </div>          </nav>  </body> </html> 

gives:

I don't know how to put it on the image itself instead of above.

short sidequestion: what makes it that the picture from vimeo makes it look so much better than the image I use from the sun? on my image you can see all the pixels etc... Is this due to the fact that it might be a too small image and that it has to be stretched a lot to fit the whole page?

EDIT:

this is what I tried but didn't work

    <nav class="navbar navbar-default">         <div class="container">             <ul class="nav navbar-nav">                  <li class="active"><a href="#">home</a></li>                 <li><a href="#">ask a question!</a></li>                 <li><a href="learn.html">learn</a></li>                 <li><a href="#">contact</a></li>             </ul>             <style>             .navbar{                 background:transparent;             }             </style>         </div>      </nav> 

回答1:

Bootstrap 4

The Navbar has no background color, so it's transparent by default. Just remember to use navbar-light or navbar-dark so the link colors work with the contrast of the background image. Display of the toggler is also based on navbar-(dark or light).

https://www.codeply.com/go/FTDyj4KZlQ

<nav class="navbar navbar-expand-sm fixed-top navbar-light">     <div class="container">         <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbar1">             <span class="navbar-toggler-icon"></span>         </button>         <a class="navbar-brand" href="#">Brand</a>         <div class="collapse navbar-collapse" id="navbar1">             <ul class="navbar-nav">                 <li class="nav-item active">                     <a class="nav-link" href="#">Link</a>                 </li>             </ul>         </div>     </div> </nav> 

Bootstrap 3

Use navbar-fixed-top and then change the CSS to make it transparent. Here's an example of a custom transparent navbar. http://www.codeply.com/go/JNy8BtYSem

  <nav id="nav" class="navbar navbar-fixed-top" data-spy="affix">     <div class="container">         <div class="navbar-header">       <a href="#" class="navbar-brand">Brand</a>       <a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">         <i class="fa fa-bars"></i>       </a>       </div>       <div class="navbar-collapse collapse">         <ul class="nav navbar-nav">           <li><a href="#">Link</a></li>           <li><a href="#">Link</a></li>         </ul>         <ul class="nav pull-right navbar-nav">           <li>            <a href="#">Link</a>           </li>         </ul>       </div>             </div>   </nav> 


回答2:

You need to remove the background from your nav-bar:

.navbar-default {     background: none; } 

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>  <style> html, body {   height: 100%; 	background: red; }  .navbar-default {     background: none;   	border: none; } </style>  <!-- Wrap all page content here --> <div id="wrap">      <!-- Fixed navbar -->   <div class="navbar navbar-default navbar-fixed-top">     <div class="container">       <div class="navbar-header">         <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">           <span class="icon-bar"></span>           <span class="icon-bar"></span>           <span class="icon-bar"></span>         </button>         <a class="navbar-brand" href="#">Project name</a>       </div>       <div class="collapse navbar-collapse">         <ul class="nav navbar-nav">           <li class="active"><a href="#">Home</a></li>           <li><a href="#about">About</a></li>           <li><a href="#contact">Contact</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 class="divider"></li>               <li class="dropdown-header">Nav header</li>               <li><a href="#">Separated link</a></li>               <li><a href="#">One more separated link</a></li>             </ul>           </li>         </ul>       </div><!--/.nav-collapse -->     </div>   </div>    </div>


回答3:

Just take the backgound image in Body and then use this code

             <div class="navbar navbar-inverse navbar-fixed-top">               <div class="container">                 <div class="navbar-header">                   <button type="button" class="navbar-toggle" data-                          toggle="collapse" data-target=".navbar-collapse">                     <span class="icon-bar"></span>                     <span class="icon-bar"></span>                     <span class="icon-bar"></span>                   </button>                   <a class="navbar-brand" href="#">Brand</a>                 </div>                 <div class="collapse navbar-collapse">                   <ul class="nav navbar-nav">                     <li class="active"><a href="#">Home</a></li>                     <li><a href="#about">About</a></li>                   </ul>                   <ul class="nav navbar-nav navbar-right">                     <li><a href="#">Username</a></li>                   </ul>                 </div>               </div>             </div>              <div class="wide">                 <div class="col-xs-5 line"><hr></div>                 <div class="col-xs-2 logo">Logo</div>                 <div class="col-xs-5 line"><hr></div>             </div>              <div class="container">               <div class="text-center">                 <h1>Content</h1>               </div>             </div> 

Also used styling style="opacity:0.6;" in Navbar div



回答4:

The background colour is set on the .navbar-default class so make sure your css is using that class to target turning the bar transparent. e.g.

.navbar-default{background-color: transparent;} 

As Turnip states, this needs to be applied after the bootstrap styles in your <head>

If you really want to force it whilst you are getting it to work add the following attribute to your <nav> element

style="background-color: transparent;" 

So your nav element looks like this:

 <nav class="navbar navbar-default" style="background-color: transparent;"> 

However, it obviously better to have this within a CSS file, rather than as inline HTML



回答5:

.navbar{     background:transparent; } 

This will make your background transparent.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!