TweenMax实现悬浮按钮点击上面弹出子菜单效果代码
代码语言:html
所属分类:菜单导航
代码描述:TweenMax实现悬浮按钮点击上面弹出子菜单效果代码
代码标签: TweenMax 悬浮 按钮 点击 上面 弹出 子菜单
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
@import url("https://fonts.googleapis.com/css?family=Montserrat&display=swap");
html,body {
height:100%;
}
body {
display:flex;
align-items:center;
justify-content:center;
color:white;
font-family:"Montserrat";
}
ul,li {
list-style-type:none;
}
ul {
padding-left:0;
font-size:0.875em;
}
li {
margin:15px auto;
padding:15px 0px;
border-bottom:1px solid rgba(175,175,175,0.25);
}
li:last-child {
border:none;
}
a {
display:inline-block;
text-decoration:none;
color:white;
display:flex;
align-items:center;
}
h3 {
font-size:20px;
}
.container {
text-align:center;
}
.menu-btn {
border:none;
background:linear-gradient(120deg,#f829ab 25%,#f42977 75%,#f41f5f 100%);
border-radius:25px;
-webkit-transform:rotate(-45deg) translateZ(0);
transform:rotate(-45deg) translateZ(0);
width:70px;
height:70px;
position:relative;
cursor:pointer;
box-shadow:0px 2px 20px rgba(244,31,95,0.25);
margin:15px auto;
}
.menu-btn:focus {
outline:none;
}
.menu-btn:before,.menu-btn:after {
content:"";
position:absolute;
top:calc(50% - 1px);
left:calc(50% - 17px);
width:34px;
height:2px;
background:white;
transition:0.3s ease all;
-webkit-transform:rotate(-45deg) translateZ(0);
transform:rotate(-45deg) translateZ(0);
}
.menu-btn:after {
-webkit-transform:rotate(45deg) translateZ(0);
transform:rotate(45deg) translateZ(0);
}
.menu-btn.open:before {
-webkit-transform:rotate(0deg);
transform:rotate(0deg);
}
.menu-btn.open:after {
-webkit-transform:rotate(90deg);
transform:rotate(90deg);
}
.menu {
position:relative;
min-height:250px;
min-width:300px;
margin:15px auto;
border-radius:24px 24px 24px 4px;
text-align:left;
padding:15px 20px;
-webkit-transform:scale(0);
transform:scale(0);
-webkit-transform-origin:50% 50%;
transform-origin:50% 50%;
transition:0.35s ease all;
overflow:hidden;
}
.menu >h3 {
opacity:0;
}
.menu >ul >li {
opacity:0;
}
.menu:before {
content:"";
position:absolute;
top:0;
left:0;
height:100%;
width:100%;
background:#28334b;
z-index:-1;
border-radius:50%;
-webkit-transform:scale(0.5);
transform:scale(0.5);
}
.menu.active:before {
-webkit-animation:0.2s menuIn 0.15s normal forwards;
animation:0.2s menuIn 0.15s normal forwards;
-webkit-animation-timing-function:ease-in;
animation-timing-function:ease-in;
}
.active {
-webkit-transform:scale(1);
transform:scale(1);
}
.menu.active >h3 {
transition:0.2s ease-in 0.2s;
opacity:1;
}
.menu.active >ul >li {
transition:0.2s ease-in 0.2s;
opacity:1;
}
@-webkit-keyframes menuIn {
0% {
-webkit-transform:scale(0.5);
transform:scale(0.5);
border-radius:50%;
}
45% {
-webkit-transform:scale(1.25);
transform:scale(1.25);
border-radius:50%;
}
100% {
-webkit-transform:scale(1);
transform:scale(1);
border-radius:24px 24px 24px 4px;
}
}@keyframes menuIn {
0% {
-webkit-transform:scale(0.5);
transform:scale(0.5);
border-radius:50%;
}
45% {
-webkit-transform:scale(1.25);
transform:scale(1.25);
border-radius:50%;
}
100% {
-webkit-transform:scale(1);
transform:scale(1);
border-radius:24px 24px 24px 4px;
}
}@-webkit-keyframes menuOut {
from {
-webkit-transform:scale(1);
transform:scale(1);
border-radius:24px 24px 24px 4px;
}
to {
-webkit-transform:scale(0.5);
transform:scale(0.5);
border-radius:50%;
}
}@keyframes menuOut {
from {
-webkit-transform:scale(1);
transform:scale(1);
border-radius:24px 24px 24px 4px;
}
to {
-webkit-transform:scale(0.5);
transform:scale(0.5);
border-radius:50%;
}
}svg {
width:26px;
height:26px;
fill:white;
margin-right:10px;
}
.menu-btn-container {
position:relative;
}
.menu-btn-pulse {
position:absolute;
left:50%;
top:50%;
-webkit-transform:translate(-50%,-50%) scale(0);
transform:translate(-50%,-50%) scale(0);
z-index:-1;
width:80px;
height:80px;
border-radius:50%;
border:1px solid rgba(248,41,171,0.28);
-webkit-filter:blur(3px);
filter:blur(3px);
}
.menu-btn-particle {
width:6px;
height:6px;
position:absolute;
display:inline-block;
border-radius:50%;
top:50%;
left:50%;
z-index:-1;
}
</style>
</head>
<body>
<div class="container">
<div class="menu">
<h3>你的设置</h3>
<ul>
<li><a href="#"><svg><use xlink:href="#cog"></svg><span>编辑个人信息</span></a></li>
<li><a href="#"><svg><use xlink:href="#pictu.........完整代码请登录后点击上方下载按钮下载查看
网友评论0