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