导航栏没有变成汉堡包或没有响应
Navbar not turning into a burger or being responsive
我已经尝试自定义我的导航栏,我已经从 bootstrap 站点复制了 3.0 的基本导航栏。现在,我的导航没有变成汉堡导航,我用于导航杆的自定义背景图像,徽标杆,但导航按钮消失了。我假设它们会在背景图片下方或屏幕外变成汉堡。
.navbar {
background: url(../images/mainnav.png) no-repeat top center;
border-radius: 0;
border: 0;
height: 100px;
width: 980px;
margin: 0 auto;
display: block;
}
.navspace {
padding: 30px 46px 30px 46px;
}
.navposition {
margin-left: 100px;
}
.navbar-brand {
padding: 0;
position: relative;
left: 40px;
top: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container nopadding">
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data- toggle="collapse" data-target="bs-example-navbar-collapse-1" aria- expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>max-width: 100%
<a class="navbar-brand" href="#"><img src="images/logo.png" alt=""></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -
->
<div class="collapse navbar-collapse" id="bs-example-navbar-
collapse-1">
<ul class="nav navbar-nav">
</ul>
</li>
</ul>
<ul class="nav navbar-nav navposition">
<li class="navspace"><a href="#">Home</a></li>
<li class="navspace"><a href="#">Menu</a></li>
<li class="navspace"><a href="#">Location</a></li>
<li class="navspace"><a href="#">Contact Us</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div class="row">
<div class="col-sm-12 banner ">
<p>10% off all pizzas
<br>this weekend only</p>
<h1>LIMITED TIME<br>ONLY</h1>
</div>
</div>
<div class="row thumbnails">
<div class="col-sm-offset-1 col-sm-3">
<img src="images/bodyimg.png" alt="">
</div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-12"></div>
</div>
</div>
我遇到了同样的问题。我的解决方案是为 css:
中的图标栏设置背景色
.icon-bar {
background-color: black;
}
你的 HTML 有很多问题。一些元素被注释掉,多余的结束标记如 </li>
或 </ul>
,你的 html 中还有 max-width:100%
。那里没有业务。
关于你的问题,问题是你设置了 .navbar { width:980px }
当然,当你在小于 980px
的屏幕上时,并不是所有的 .navbar
都可见(右边导航栏的一侧不适合屏幕)所以汉堡菜单在那里但不可见,因为 navbar
比屏幕大
如果您希望您的 .navbar 为 980px 但也具有响应能力(屏幕较小时缩放),请使用 max-width:980px
见下文
.navbar {
background: url(../images/mainnav.png) no-repeat top center;
border-radius: 0;
border: 0;
height: 100px;
max-width: 980px;
margin: 0 auto;
display: block;
}
.navspace {
padding: 30px 46px 30px 46px;
}
.navposition {
margin-left: 100px;
}
.navbar-brand {
padding: 0;
position: relative;
left: 40px;
top: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<div class="container nopadding">
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data- toggle="collapse" data-target="bs-example-navbar-collapse-1" aria- expanded="false">
<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="#"><img src="images/logo.png" alt=""></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -
->
<div class="collapse navbar-collapse" id="bs-example-navbar-
collapse-1">
<ul class="nav navbar-nav">
</ul>
</li>
</ul>
<ul class="nav navbar-nav navposition">
<li class="navspace"><a href="#">Home</a></li>
<li class="navspace"><a href="#">Menu</a></li>
<li class="navspace"><a href="#">Location</a></li>
<li class="navspace"><a href="#">Contact Us</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div class="row">
<div class="col-sm-12 banner ">
<p>10% off all pizzas
<br>this weekend only</p>
<h1>LIMITED TIME<br>ONLY</h1>
</div>
</div>
<div class="row thumbnails">
<div class="col-sm-offset-1 col-sm-3">
<img src="images/bodyimg.png" alt="">
</div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-12"></div>
</div>
</div>
我已经尝试自定义我的导航栏,我已经从 bootstrap 站点复制了 3.0 的基本导航栏。现在,我的导航没有变成汉堡导航,我用于导航杆的自定义背景图像,徽标杆,但导航按钮消失了。我假设它们会在背景图片下方或屏幕外变成汉堡。
.navbar {
background: url(../images/mainnav.png) no-repeat top center;
border-radius: 0;
border: 0;
height: 100px;
width: 980px;
margin: 0 auto;
display: block;
}
.navspace {
padding: 30px 46px 30px 46px;
}
.navposition {
margin-left: 100px;
}
.navbar-brand {
padding: 0;
position: relative;
left: 40px;
top: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container nopadding">
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data- toggle="collapse" data-target="bs-example-navbar-collapse-1" aria- expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>max-width: 100%
<a class="navbar-brand" href="#"><img src="images/logo.png" alt=""></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -
->
<div class="collapse navbar-collapse" id="bs-example-navbar-
collapse-1">
<ul class="nav navbar-nav">
</ul>
</li>
</ul>
<ul class="nav navbar-nav navposition">
<li class="navspace"><a href="#">Home</a></li>
<li class="navspace"><a href="#">Menu</a></li>
<li class="navspace"><a href="#">Location</a></li>
<li class="navspace"><a href="#">Contact Us</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div class="row">
<div class="col-sm-12 banner ">
<p>10% off all pizzas
<br>this weekend only</p>
<h1>LIMITED TIME<br>ONLY</h1>
</div>
</div>
<div class="row thumbnails">
<div class="col-sm-offset-1 col-sm-3">
<img src="images/bodyimg.png" alt="">
</div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-12"></div>
</div>
</div>
我遇到了同样的问题。我的解决方案是为 css:
中的图标栏设置背景色.icon-bar {
background-color: black;
}
你的 HTML 有很多问题。一些元素被注释掉,多余的结束标记如 </li>
或 </ul>
,你的 html 中还有 max-width:100%
。那里没有业务。
关于你的问题,问题是你设置了 .navbar { width:980px }
当然,当你在小于 980px
的屏幕上时,并不是所有的 .navbar
都可见(右边导航栏的一侧不适合屏幕)所以汉堡菜单在那里但不可见,因为 navbar
比屏幕大
如果您希望您的 .navbar 为 980px 但也具有响应能力(屏幕较小时缩放),请使用 max-width:980px
见下文
.navbar {
background: url(../images/mainnav.png) no-repeat top center;
border-radius: 0;
border: 0;
height: 100px;
max-width: 980px;
margin: 0 auto;
display: block;
}
.navspace {
padding: 30px 46px 30px 46px;
}
.navposition {
margin-left: 100px;
}
.navbar-brand {
padding: 0;
position: relative;
left: 40px;
top: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<div class="container nopadding">
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data- toggle="collapse" data-target="bs-example-navbar-collapse-1" aria- expanded="false">
<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="#"><img src="images/logo.png" alt=""></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -
->
<div class="collapse navbar-collapse" id="bs-example-navbar-
collapse-1">
<ul class="nav navbar-nav">
</ul>
</li>
</ul>
<ul class="nav navbar-nav navposition">
<li class="navspace"><a href="#">Home</a></li>
<li class="navspace"><a href="#">Menu</a></li>
<li class="navspace"><a href="#">Location</a></li>
<li class="navspace"><a href="#">Contact Us</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<div class="row">
<div class="col-sm-12 banner ">
<p>10% off all pizzas
<br>this weekend only</p>
<h1>LIMITED TIME<br>ONLY</h1>
</div>
</div>
<div class="row thumbnails">
<div class="col-sm-offset-1 col-sm-3">
<img src="images/bodyimg.png" alt="">
</div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
<div class="col-sm-offset-1 col-sm-3"></div>
</div>
<div class="row">
<div class="col-sm-12"></div>
</div>
</div>