div+css实现玻璃立方体按钮悬浮填充动画效果代码
代码语言:html
所属分类:悬停
代码描述:div+css实现玻璃立方体按钮悬浮填充动画效果代码,
代码标签: div css 玻璃 立方体 按钮 悬浮 填充 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <link href="https://fonts.googleapis.com/css2?family=Alfa+Slab+One&display=swap" rel="stylesheet"> <style> .button{ --top : rgba(100,100,100,.8) ; --bottom : rgba(100,100,100,.2) ; --side : rgba(100,100,100,.5) ; --1_top : rgba(216,0,60,.8) ; --1_bottom : rgba(216,0,60,.2) ; --1_side : rgba(216,0,60,.5) ; --2_top : rgba(0,100,190,.8) ; --2_bottom : rgba(0,100,190,.2) ; --2_side : rgba(0,100,190,.5) ; --3_top : rgba(0,170,100,.8) ; --3_bottom : rgba(0,170,100,.2) ; --3_side : rgba(0,170,100,.5) ; --4_top : rgba(255,230,20,.8) ; --4_bottom : rgba(255,230,20,.2) ; --4_side : rgba(255,230,20,.5) ; --5_top : rgba(155,50,255,.8) ; --5_bottom : rgba(155,50,255,.2) ; --5_side : rgba(155,50,255,.5) ; } .button{ display : flex ; position : relative ; width : 280px ; height : 80px ; text-decoration : none ; perspective : 600px ; background : linear-gradient( rgba(255,255,255,.1) 0% , rgba(255,255,255,0) 30% ,rgba(255,255,255,0) 70% , rgba(255,255,255,.1)) ; box-shadow : 0 0 32px rgba(0,0,0,1) ; } .button::before, .button::after{ content : '' ; position : absolute ; top : 0 ; left : 0 ; right : 0 ; margin : 0 auto ; width : 100% ; height : 100% ; } .button::before{ top : 0 ; transform-origin : top center ; transform : rotateX(70deg) ; background : linear-gradient(135deg , rgba(255,255,255,.3) 10%, rgba(255,255,255,0) 60%); } .button::after{ bottom : 0 ; transform-origin : bottom center ; transform : rotateX(-110deg) ; background : radial-gradient( rgba(255,255,255,0) 40%, rgba(255,255,255,.1) ) ; } .button__wrapper{ position : relative ; z-index : 2 ; width : 100% ; height : 100% ; background : linear-gradient( rgba(255,255,255,.4) 0% , rgba(255,255,255,0) 30% ,rgba(255,255,255,0) 70% , rgba(255,255,255,.2)) ; transform : translate3d( 0 , 27px , 74px) ; perspective : 600px ; } .button__text{ position : relative ; display : flex ; justify-content : center ; align-items : center ; width : 100% ; height : 100% ; font-family: 'Alfa Slab One', cursive; font-size : 32px ; letter-spacing : 4px ; color : rgba(255,255,255,.2) ; transition : all ease-in-out 1s ; } .button__text::before{ content : '' ; position : absolute ; z-index : 1 ; top : 0 ; left : 0 ; width : 230px ; height : 80px ; background : linear-gradient(25deg , rgba(255,255,255,.1) , rgba(255,255,255,0)) ; clip-path : path('M230,0H0V80H146.96c0-35.33,33.95-65.83,83.04-80Z') ; } .button__text::after{ content : '' ; position : absolute ; z-index : 2 ; top : 4px ; left : 4px ; width : 272px ; height : 40px ; background : linear-gradient(25deg , rgba(255,255,255,.3) , rgba(255,255,255,0)) ; clip-path : path('M272,9.22V0H0V40H.32C48.19,22.59,151.14,10.26,272,9.22Z') ; } .button__wrapper::before, .button__wrapper::after{ content : '' ; position : absolute ; top : 0 ; width : 84px ; height : 100% ; background : linear-gradient(90deg , rgba(255,255,255,.2) 0% , rgba(255,255,255,0) 30% ,rgba(255,255,255,0) 70% , rgba(255,255,255,.2)) ; background : radial-gradient( rgba(255,255,255,0) 40%, rgba(255,255,255,.1) ) ; } .button__wrapper::before{ left : 0 ; transform-origin : left center ; transform : rotateY(90deg) skewY(-20deg); } .button__wrapper::after{ right : 0 ; transform-origin : right center ; transform : rotateY(-90deg) skewY(20deg); } .button__box{ position : absolute ; top : 0 ; left : 8px ; bottom : 0 ; margin : auto 0 ; width : 264px ; height : 70px ; transform : translate3d(0, 4px, 10px) ; perspective : 600px ; } .inner{ transition : all ease-in-out 1s ; } .inner__back{ position : absolute ; top : 0 ; left : 0 ; width : 0 ; height : 100% ; background : var(--bottom); perspective : 600px ; } .inner__top{ position : absolute ; z-index : 3 ; top : 0 ; left : 0 ; width : 0 ; height : 100% ; transform-origin : top left ; transform : rotateX(70deg) ; background : var(--top); } .inner__front{ position : absolute ; z-index : 3 ; top : 0 ; left : 0 ; width : 0 ; height : 100% ; transform-origin : top left ; transform : translate3d(0, 24px, 68px ) ; background : var(--top); } .inner__bottom{ position : absolute ; z-index : 2 ; top : 0 ; left : 0 ; width : 0 ; height : 100% ; transform-origin : bottom left ; transform : rotateX(-110deg) ; background : var(--bottom); } .inner__left{ position : absolute ; z-index : 2 ; top : 0 ; left : 0 ; width : 68px ; height : 100% ; transform-origin : center left ; transform : rotateY(-90deg) skewY(20deg) ; background : rgba(255,0,0,0) ; transition : all linear .01s ; } .inner__right{ position : absolute ; z-index : 2 ; top : 0 ; left : 0 ; width : 68px ; height : 100% ; transform-origin : center left ; transform.........完整代码请登录后点击上方下载按钮下载查看
网友评论0