您好,欢迎访问一九零五行业门户网

CSS3模拟侧滑菜单_html/css_WEB-ITnose

在app应用上,常见的一种导航方式是侧滑导航,效果类似于这样:
用css3可以对其进行模拟,代码如下:
html:
首页 问题 文章 关注 发现
css:
nav{ width: 100%; height: 50px; background-color: rgba(26,188, 156, 0.75); position: relative; } div{ position: absolute; height: 100%; width: 50px; left: 20px; cursor: pointer; -webkit-transition: transform 1s; -moz-transition: transform 1s; -ms-transition: transform 1s; -o-transition: transform 1s; transition: transform 1s; } #hide,#show{ display: block; height: 3px; background-color: #fff; position: absolute; top: 50%; -webkit-transition: opacity .5s; -moz-transition: opacity .5s; -ms-transition: opacity .5s; -o-transition: opacity .5s; transition: opacity .5s; } #show{ width: 20px; left: 15px; opacity: 0; } #hide{ width: 30px; left: 10px; margin-top: -1.5px; } #hide::before,#hide::after,#show::before,#show::after{ content: ; display: block; height: 3px; background-color: #fff; position: absolute; } #hide::before,#hide::after{ width: 30px; } #show::before,#show::after{ width: 25px; } #hide::before,#show::before{ top: -10px; } #hide::after,#show::after{ top: 10px; } #show::before{ -webkit-transform: rotate(35deg) translatex(5px); -moz-transform: rotate(35deg) translatex(5px); -ms-transform: rotate(35deg) translatex(5px); -o-transform: rotate(35deg) translatex(5px); transform: rotate(35deg) translatex(5px); } #show::after{ -webkit-transform: rotate(-35deg) translatex(5px); -moz-transform: rotate(-35deg) translatex(5px); -ms-transform: rotate(-35deg) translatex(5px); -o-transform: rotate(-35deg) translatex(5px); transform: rotate(-35deg) translatex(5px); } ul{ list-style: none; background-color: #455552; position: absolute; top: 34px; left: -200px; width: 74px; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out; } li{ margin: 0; padding: 0; position: relative; left: -40px; text-align: center; width: 112px; } a{ text-decoration: none; color:#fff; display: inline-block; height: 40px; line-height: 40px; } li:hover{ background-color: rgba(26,188, 156, 0.75); }
javascript控制一下事件:
var toggle = document.getelementbyid(togglemenu); var list = document.getelementbyid(list); var hide = document.getelementbyid(hide); var show = document.getelementbyid(show); var ishidden = true; window.onload = function() { toggle.onclick=function(){ if(ishidden){ list.style.left=0px; ishidden = false; hide.style.opacity=0; this.style.moztransform = rotate(180deg); this.style.mstransform = rotate(180deg); this.style.otransform = rotate(180deg); this.style.webkittransform = rotate(180deg); this.style.transform = rotate(180deg); show.style.opacity=1; }else{ list.style.left=-200px; ishidden = true; hide.style.opacity=1; this.style.moztransform = rotate(0deg); this.style.mstransform = rotate(0deg); this.style.otransform = rotate(0deg); this.style.webkittransform = rotate(0deg); this.style.transform = rotate(0deg); show.style.opacity=0; } } }
效果:demo
原文:css3模拟侧滑菜单
其它类似信息

推荐信息