css实现一个带图标下拉折叠菜单效果代码

代码语言:html

所属分类:菜单导航

代码描述:css实现一个带图标下拉折叠菜单效果代码

代码标签: 图标 下拉 折叠 菜单 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title></title>
<style>
    ul {
    padding: 0;
    margin: 0;
}

li {
    list-style-type: none;
}

input[type='radio'] {
    display: none;
}

label {
    cursor: pointer;
}

::-webkit-scrollbar {
    display: none;
}

body {
    height: 100vh;
    font-weight: 500;
    font-family: 'Roboto', sans-serif;
    background: linear-gradient(135deg, #8254ea 0%, #e86dec 100%);
    -webkit-font-smoothing: antialiased;
    font-size: 12px;
}

.swanky_wrapper {
    width: 225px;
    height: auto;
    overflow: hidden;
    border-radius: 4px;
    background: #2a394f;
	margin:60px auto;
}
.swanky_wrapper label {
    padding: 25px;
    float: left;
    height: 72px;
    border-bottom: 1px solid #293649;
    position: relative;
    width: 100%;
    color: #eff4fa;
    transition: text-indent 0.15s, height 0.3s;
    box-sizing: border-box;
}
.swanky_wrapper label img {
    margin-right: 10px;
    position: relative;
    top: 2px;
    width: 16px;
}
.swanky_wrapper label span {
    position: relative;
    top: -3px;
}
.swanky_wrapper label:hover {
    background: #212e41;
    border-bottom: 1px solid #2a394f;
    text-indent: 4px;
}
.swanky_wrapper label:hover .bar {
    width: 100%;
}
.swanky_wrapper label .bar {
    width: 0px;
    transition: width 0.15s;
    height: 2px;
    position: absolute;
    display: block;
    background: #355789;
    bottom: 0;
    left: 0;
}
.swanky_wrapper label .lil_arrow {
    width: 5px;
    height: 5px;
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    border-top: 2px solid white;
    border-right: 2px solid white;
    float: right;
    position: relative;
    top: 6px;
    right: 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.swanky_wrapper__content {
    position: absolute;
    display: none;
    overflow: hidden;
    left: 0;
    width: 100%;
}
.swanky_wrapper__content li {
    width: 100%;
    opacity: 0;
    left: -100%;
    background: #15a4fa;
    height: 64px;
    line-height: 64px;
    text-indent: 25px;
    box-shadow: 0px 0px #126ca1 inset;
    transition: box-shadow 0.3s, text-indent 0.3s;
    position: relative;
}
.swanky_wrapper__content li:hover {
    background: #0c93e4;
    box-shadow: 3px 0px #126ca1 inset;
    transition: box-shadow 0.3s linear, text-indent 0.3s linear;
    text-indent: 31px;
}
.swanky_wrapper__content .clear {
    clear: both;
}

input[type='radio']:checked + label .swanky_wrapper__content {
    display: block;
    top: 68px;
    border-bottom: 1px solid #212e41;
}

input[type='radio']:checked + label > .lil_arrow {
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    border-top: 2px solid #14a3f9;
    border-right: 2px solid #14a3f9;
}

input[type='radio']:checked + label {
    height: 325px;
    background: #212e41;
    text-indent: 4px;
    transition-property: height;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

input[type='radio']:checked + label .bar {
    width: 0;
}

input[type='radio']:checked + label li:nth-of-type(1) {
    -webkit-animation: in 0.15s 0.575s forwards;
    animation: in 0.15s 0.575s forwards;
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -moz-animation: in 0.15s 0.575s forwards;
    -moz-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
input[type='radio']:checked + label li:nth-of-type(2) {
    -webkit-animation: in 0.15s 0.7s forwards;
    animation: in 0.15s 0.7s forwards;
    -webkit-transition-timing-function: c.........完整代码请登录后点击上方下载按钮下载查看

网友评论0