我想知道如何在移动端实现全屏菜单(导航栏),也就是说,当你点击“汉堡菜单”时,导航栏(包括项目)应该占据整个视口。
我只需编写以下代码即可实现:
但是,Bootstrap 动画不像默认的动画那样平滑,您可以在此处看到(通常情况下,当您关闭它时,动画会逐渐增加 div 大小,反之亦然): 这是代码:
我只需编写以下代码即可实现:
#navbarText{
height: 100vh;
}
但是,Bootstrap 动画不像默认的动画那样平滑,您可以在此处看到(通常情况下,当您关闭它时,动画会逐渐增加 div 大小,反之亦然): 这是代码:
/*---Standar Hamburger Menu (3 separate elements)---*/
.navbar-toggler {
border: none;
background: transparent !important;
}
.navbar-toggler:hover {
background: transparent !important;
}
.navbar-toggler .icon-bar {
height: 2px;
width: 22px;
border-radius: 1px;
display: block;
background-color: #B6B6B6;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
.navbar-toggler .icon-bar+.icon-bar {
margin-top: 4px;
}
/*---Animation menu (create X)---*/
.navbar-toggler.x .icon-bar:nth-of-type(1) {
-webkit-transform: translateX(3px) rotate(45deg);
/* Safari 3-8 & Chrome 4-35 & Opera 15-22 */
-ms-transform: translateX(3px) rotate(45deg);
/* IE 9 */
-moz-transform: translateX(3px) rotate(45deg);
/* Firefox 3-15 */
-o-transform: translateX(3px) rotate(45deg);
/* Opera 10-14 */
transform: translateX(3px) rotate(45deg);
-webkit-transform-origin: 10% 10%;
-ms-transform-origin: 10% 10%;
-moz-transform-origin: 10% 10%;
-o-transform-origin: 10% 10%;
transform-origin: 10% 10%;
}
.navbar-toggler.x .icon-bar:nth-of-type(2) {
opacity: 0;
filter: alpha(opacity=0);
/* For IE8 and earlier */
-moz-opacity: 0;
/* Older Firefox 1 */
}
.navbar-toggler.x .icon-bar:nth-of-type(3) {
-webkit-transform: translateX(3px) rotate(-45deg);
-ms-transform: translateX(3px) rotate(-45deg);
-moz-transform: translateX(3px)rotate(-45deg);
-o-transform: translateX(3px) rotate(-45deg);
transform: translateX(3px) rotate(-45deg);
-webkit-transform-origin: 10% 90%;
-ms-transform-origin: 10% 90%;
-moz-transform-origin: 10% 90%;
-o-transform-origin: 10% 90%;
transform-origin: 10% 90%;
}
.navbar-toggler.x.collapsed .icon-bar:nth-of-type(1) {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
-moz-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
}
.navbar-toggler.x.collapsed .icon-bar:nth-of-type(2) {
opacity: 1;
filter: alpha(opacity=100);
-moz-opacity: 1;
}
.navbar-toggler.x.collapsed .icon-bar:nth-of-type(3) {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
-moz-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
}
/*---To center elements of the navbar (mobile)---*/
.navbar-brand {
font-size: 1rem;
}
/*---Custom AnimateCSS mobile menu items---*/
.nav-item {
-webkit-animation-duration: 0.8s;
/* Chrome 3-42 & Safari 4-8 & Opera 15-29 */
-moz-animation-duration: 0.8s;
/* Firefox 5-15 */
-o-animation-duration: 0.8s;
/* Opera 12-14 */
animation-duration: 0.8s;
}
@media only screen and (max-width: 991px) {
#navbarText {
height: 100vh !important;
}
}
@media only screen and (min-device-width: 992px) {
.animated {
/*CSS transitions*/
-o-transition-property: none !important;
-moz-transition-property: none !important;
-ms-transition-property: none !important;
-webkit-transition-property: none !important;
transition-property: none !important;
/*CSS transforms*/
-o-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
-webkit-transform: none !important;
transform: none !important;
/*CSS animations*/
-webkit-animation: none !important;
-moz-animation: none !important;
-o-animation: none !important;
-ms-animation: none !important;
animation: none !important;
}
#navbarText {
height: auto;
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HOME</title>
<!-- TODO add manifest here -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<link href="https://fonts.googleapis.com/css?family=Montserrat:200" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<nav class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark">
<div class="d-flex align-items-center justify-content-between w-100">
<button class="navbar-toggler navbar-toggler-left x collapsed" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand mx-auto ml-lg-5" href="#">
<img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" width="30" height="30" alt="Logo">
</a>
</div>
<div class="collapse navbar-collapse mr-lg-5" id="navbarText">
<ul class="navbar-nav ml-auto">
<li class="nav-item active mx-2 animated fadeInDown">
<a class="nav-link" href="#">HOME<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item mx-2 animated fadeInDown">
<a class="nav-link" href="#">PROJECTS</a>
</li>
<li class="nav-item mx-2 animated fadeInDown">
<a class="nav-link" href="#">ABOUT</a>
</li>
<li class="nav-item mx-2 animated fadeInDown">
<a class="nav-link" href="#">CONTACT</a>
</li>
</ul>
</div>
</nav>
<div>
<p>Test</p>
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<p>ffff</p>
</body>
</html>
你知道如何修复它吗?
如果你想编辑/测试代码,我也提供了一个链接到Codeply