【发布时间】:2021-01-15 19:53:29
【问题描述】:
所以基本上我想让我的导航栏在我单击切换打开它时从屏幕一侧滑入,目前当我打开导航栏时它来自顶部并且没有过渡
如果您想了解更多我的意思,请查看https://iamtomwalker.com,了解我的意思是让导航栏从侧面打开并过渡
HTML
<nav class="navbar">
<span class="navbar-toggle" id="js-navbar-toggle">
<i class="fas fa-bars"></i>
</span>
<a href="#" class="logo">Title</a>
<ul class="navigation-bar" id="js-menu">
<li><a href="../home" class="navigation-links" title="Homepage">Home</a></li>
<li><a href="../covers" class="navigation-links" title="Check out all my covers in one place">Covers</a></li>
<li><a href="../music" class="navigation-links" title="Listen to my latest music">Music</a></li>
<li><a href="../newsletter" class="navigation-links" title="Sign-up to the newsletter to receive early access content and latest news!">Newsletter</a></li>
<div class="icons">
<li><a href="#" class="navigation-icons"><i class="fab fa-snapchat" style="padding-right: 5px;"></i> </a></li>
<li><a href="#" class="navigation-icons"><i class="fab fa-instagram" style="padding-right: 5px;padding-left: 5px;"></i> </a></li>
<li><a href="#" class="navigation-icons"><i class="fab fa-youtube" style="padding-right: 5px;padding-left: 5px;"></i> </a></li>
<li><a href="#" class="navigation-icons"><i class="fab fa-spotify" style="padding-right: 5px;padding-left: 5px;"></i> </a></li>
<li><a href="#" class="navigation-icons"><i class="fab fa-soundcloud" style="padding-left: 5px;"></i> </a></li>
</div>
</ul>
</nav>
<script>
let mainNav = document.getElementById("js-menu");
let navBarToggle = document.getElementById("js-navbar-toggle");
navBarToggle.addEventListener("click", function() {
mainNav.classList.toggle("active");
});
</script>
CSS
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
.navbar {
font-size: 18px;
background-color: #151515;
padding-bottom: 10px;
border-bottom: 1px solid rgba(255,255,255,.25);
}
.icons {
display: flex;
justify-content: center;
}
/* This is when the screen is small */
.navigation-bar {
list-style-type: none;
display: none;
clear: left;
margin-right: 30px;
flex-direction: row;
justify-content: flex-end;
}
.navigation-bar li {
text-align: center;
margin: 15px 0;
}
.navigation-links, .navigation-icons, .logo{
text-decoration: none;
font-family: 'Avro', serif;
color: #c0a869;
}
.navigation-links:hover, .navigation-icons:hover{
text-decoration: underline;
}
.logo {
display: inline-block;
font-size: 22px;
margin-top: 10px;
margin-left: 20px;
font-weight: 700;
}
.navbar-toggle {
position: absolute;
top: 10px;
right: 20px;
cursor: pointer;
color: #c0a869;
font-size: 24px;
}
.active {
display: block;
}
/* This is when the screen is big */
@media screen and (min-width: 768px) {
.navbar {
display: flex;
justify-content: space-between;
padding-bottom: 0;
height: 70px;
align-items: center;
}
.navigation-bar {
display: flex;
margin-right: 30px;
flex-direction: row;
justify-content: flex-end;
}
.navigation-bar li {
margin: 0;
}
.navigation-links, .navigation-icons {
margin-left: 25px;
}
.logo {
margin-top: 0;
}
.navbar-toggle {
display: none;
}
.logo:hover, .navigation-links:hover, .navigation-icons:hover {
color: #dec27a;
}
}
【问题讨论】:
-
澄清一下,您说的是汤姆沃克导航菜单的移动版本?
标签: javascript html css css-transitions navbar