【发布时间】:2016-12-21 08:00:30
【问题描述】:
我想在浏览器大小减小到响应式时立即隐藏导航。我正在使用媒体查询来控制导航布局。我编写的代码正在运行,但是当我减小浏览器宽度时,它仍然会向我显示导航的一瞥,然后向左滑动,而不是立即隐藏自身等待单击菜单按钮。
请看codepen:http://codepen.io/rezasan/pen/wWNxjR
HTML
<header>
<div id="menu-toggle">MENU</div>
<div class="header-bottom">
<nav class="clearfix" id="topMenu">
<div class="nav-group">
<ul class="main-nav">
<li><a href="about.html">About</a></li>
<li><a href="expertise.html">Expertise</a></li>
<li><a href="projects.html">Projects</a></li>
<li><a href="process.html">Process</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>
</nav>
</header>
CSS
@media only screen and (max-width: 65em){
#menu-toggle{
width: 35px;
height: 50px;
position: absolute;
top:0;
cursor: pointer;
left:0;
color:red;
}
.header-bottom{
transform:translateX(-100%);
-webkit-transform:translateX(-100%);
-moz-transform:translateX(-100%);
-o-transform:translateX(-100%);
-ms-transform:translateX(-100%);
top:0;
height: 100%;
left: 0;
width: 100%;
background-color: #000;
z-index: 1;
transition:transform 0.5s cubic-bezier(.91,.12,.46,.8);
-webkit-transition:-webkit-transform 0.5s cubic-bezier(.91,.12,.46,.8);
-moz-transition:-moz-transform 0.5s cubic-bezier(.91,.12,.46,.8);
-ms-transition:-ms-transform 0.5s cubic-bezier(.91,.12,.46,.8);
-o-transition:-o-transform 0.5s cubic-bezier(.91,.12,.46,.8);
}
.slide{
transform:translateX(-0%);
-webkit-transform:translateX(-0%);
-moz-transform:translateX(-0%);
-o-transform:translateX(-0%);
}
}
JS
$('#menu-toggle').click(function(){
$('.header-bottom').toggleClass('slide');
});
【问题讨论】:
-
你想用动画滑动标题?
-
是的,我已经完成了那部分。现在,当我调整浏览器大小时,标题将滑动到“就绪”位置。我希望它立即被隐藏。然后当我单击“菜单”时,导航滑动并显示菜单。
-
嘿,现在你可以看到答案了。!! :)
标签: jquery html css navigation responsive