效果展示

图标采用的是阿里云矢量图
HTML:
<div class="navigation">
<div class="menuToggle"></div>
<div class="menu">
<ul>
<li style="--i:0.1s;">
<a href="">
<ion-icon class="iconfont icon-shouye"></ion-icon>
</a>
</li>
<li style="--i:0.1s;">
<a href="">
<ion-icon class="iconfont icon-huiyuan"></ion-icon>
</a>
</li>
<li style="--i:0.1s;">
<a href="">
<ion-icon class="iconfont icon-xinxitougao"></ion-icon>
</a>
</li>
<li style="--i:0.1s;">
<a href="">
<ion-icon class="iconfont icon-xiaoxi"></ion-icon>
</a>
</li>
<li style="--i:0.1s;">
<a href="">
<ion-icon class="iconfont icon-gerenzhongxin"></ion-icon>
</a>
</li>
</ul>
</div>
</div>
css:
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(45deg, #ff216d, #2196f3);
}
.navigation{
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.menuToggle{
position: relative;
width: 70px;
height: 70px;
background: #fff;
border-radius: 70px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
}
.menuToggle::before{
content: '+';
position: absolute;
font-size: 3em;
font-weight: 200;
color: #ff216d;
transition: 1.5s;
}
.menuToggle.active::before{
transform: rotate(225deg);
}
.menu{
position: absolute;
width: 30px;
height: 30px;
background: #fff;
border-radius: 70px;
z-index: -1;
transition: transform 0.5s, width 0.5s, height 0.5s;
transition-delay: 1s, 0.5s, 0.5s;
transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.menuToggle.active ~ .menu{
width: 380px;
height: 70px;
z-index: 1;
transform: translateY(-100px);
transition-delay: 0s, 0.5s, 0.5s;
box-shadow: 0 15px 25px rgba(0,0,0,0,0.1);
}
.menu::before{
content: '';
position: absolute;
width: 16px;
height: 16px;
background: #fff;
left: calc(50% - 8px);
bottom: 4px;
transform: rotate(45deg);
border-radius: 2px;
transition: 0.5s;
}
.menuToggle.active ~ .menu::before{
transition-delay: 0.5s;
bottom: -6px;
}
.menu ul{
position: relative;
display: flex;
justify-content: center;
align-items: center;
height: 80px;
gap: 40px;
}
.menu ul li{
list-style: none;
cursor: pointer;
opacity: 0;
visibility: hidden;
transform: translateY(-30px);
transition: 0.25s;
transition-delay: calc(0s + var(--i));
}
.menuToggle.active ~ .menu ul li{
opacity: 1;
visibility: visible;
transform: translateY(0px);
transition-delay: calc(0.75s + var(--i));
}
.menu ul li a{
display: block;
font-size: 2em;
text-decoration: none;
color: #555;
}
.menu ul li:hover a{
color: #ff216d;
}
@font-face {
font-family: "iconfont"; /* Project id 3666414 */
/* Color fonts */
src:
url('iconfont.woff2?t=1663853552126') format('woff2'),
url('iconfont.woff?t=1663853552126') format('woff'),
url('iconfont.ttf?t=1663853552126') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 36px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-huiyuan:before {
content: "\e632";
}
.icon-shouye:before {
content: "\e629";
}
.icon-xinxitougao:before {
content: "\e6bc";
}
.icon-xiaoxi:before {
content: "\f502";
}
.icon-gerenzhongxin:before {
content: "\e6b0";
}
<script>
let menuToggle = document.querySelector('.menuToggle');
menuToggle.onclick = function(){
menuToggle.classList.toggle('active')
}
</script>
© 版权声明
本站网络名称:
蚩梦博客
本站永久网址:
https://chimengblog.com/
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ45096653删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
- 最新
- 最热
只看作者