div+css实现炫酷按钮悬浮动画效果代码

代码语言:html

所属分类:悬停

代码描述:div+css实现炫酷按钮悬浮动画效果代码

代码标签: div css 炫酷 按钮 悬浮 动画

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


<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">
  

  
  
  
<style>
.button--typeA{
    --mainColor   : #003c55 ;
    --subColor_1  : #e97100 ;
    --subColor_2  : #ff9b0a ;
    --accentColor : #cf005e ;
    --treeColor   : #7a5200 ;
    --skyColor    : #4aaeff ;
    --leafColor_1 : #008a49 ;
    --leafColor_2 : #00c94f ;
}
.button--typeB{
    --mainColor   : #7cba27 ;
    --subColor_1  : #94002c ;
    --subColor_2  : #ff5a5e ;
    --accentColor : #efad00 ;
    --treeColor   : #4a2a00 ;
    --skyColor    : #000645 ;
    --leafColor_1 : #cf8b00 ;
    --leafColor_2 : #f4b800 ;
}
.button--typeC{
    --mainColor   : #00c6d4 ;
    --subColor_1  : #ff9b0a ;
    --subColor_2  : #ffc26a ;
    --accentColor : #de8ccf ;
    --treeColor   : #af9667 ;
    --skyColor    : #ff7d5a ;
    --leafColor_1 : #57cf4f ;
    --leafColor_2 : #a9db74 ;
}

.button{
    position : relative ;
    width : 280px ;
    height : 80px ;
    border-radius : 40px 40px 4px 40px ;
    background : var(--treeColor) ;
    transition : all ease .3s ;
    box-shadow : 0 0 24px rgba(0,0,0,.2) ;
}
.button__wrapper{
    position : absolute ;
    z-index : 1 ;
    width : 100% ;
    height : 100% ;
    border-radius : 40px ;
}
.material1{
    position : absolute ;
    top : -45px ;
    right : -24px ;
    width : 64px ;
    height : 64px ;
    border-radius : 50% ;
    overflow : hidden ;
    transform : rotate(30deg) ;
}
.material2{
    position : absolute ;
    top : -44px ;
    right : 18px ;
    width : 48px ;
    height : 48px ;
    border-radius : 50% ;
    overflow : hidden ;
    transform : rotate(-40deg) ;
}
.material1::before{
    content : '' ;
    position : absolute ;
    top : 0 ;
    left : -50% ;
    width : 100% ;
    height : 100% ;
    border-radius : 50% ;
    background : var(--leafColor_1);
}
.material2::before{
    content : '' ;
    position : absolute ;
    top : 0 ;
    left : -50% ;
    width : 100% ;
    height : 100% ;
    border-radius : 50% ;
    background : var(--leafColor_2) ;
}
.button__text{
    display : flex ;
    justify-content : center ;
    align-items : center ;
    position : absolute ;
    z-index : 1 ;
    top : 0 ;
    right: 0 ;
    width : 160px ;
    height : 100% ;
    font-family: 'Paytone One', sans-serif;
    font-size : 32px ;
    color : #fff ;
    letter-spacing : 3px ;
    transition : all ease .3s ;
}
.bird{
    position : absolute ;
    z-index : 2 ;
    top : -80px ;
    left : -120px ;
    display : grid ;
    grid-template-columns : repeat(3 , 80px) ;
    grid-template-rows : repeat(3 , 80px) ;
    position : relative ;
    width : 240px ;
    height : 240px ;
    transition : all ease .3s ;
}
.block{
    position : relative ;
    display : flex ;
    width : 80px ;
    height : 80px ;
    box-sizing : border-box ;
    overflow : hidden ;
}
.block_A{
    grid-column : 1 / 2 ;
    grid-row : 1 / 2 ;
}
.block_B{
    grid-column : 2 / 3 ;
    grid-row : 1 / 2 ;
}
.block_C{
    grid-column : 3 / 4 ;
    grid-row : 1 / 2 ; 
}
.block_D{
    grid-column : 2 / 3 ;
    grid-row : 2 / 3 ;
}
.block_E{
    grid-column : 3 / 4 ;
    grid-row : 2 / 3 ;
}
.block_F{
    grid-column : 3 / 4 ;
    grid-row : 3 / 4 ;
}
.inner{
    position : absolute ;
    width : 80px ;
    height : 80px ;
    box-sizing : border-box ;
    overflow : hidden ;
    transition : all ease .4s ;
}
.inner::before,
.inner::after{
    content : '' ;
    position : absolute ;
}
/* A */
.A_1{
    top : 0 ;
    left : 0 ;
}
.A_2{
    transform-origin : top right ;
    bottom : -100% ;
    left : 0 ;
}
.A_2::before{
    z-index : 1 ;
    bottom : 0 ;
    left : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--subColor_1) ;
}
.A_2::after{
    z-index : 2 ;
    bottom : 50% ;
    left : 50% ;
    width : 100% ;
    height : 100% ;
    border-radius : 50% ;
    background : var(--subColor_2) ;
}
.button:hover .bird .A_2{
    transform : rotate(90deg) ;
}
/* B */
.B_1{
    transform-origin : bottom right ;
    bottom : 0 ;
    right : 0 ;
}
.B_2{
    transform-origin : bottom right ;
    top : 0 ;
    left : -100% ;
}
.B_1::before{
    top : 0 ;
    left : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--mainColor) ;
}
.B_1::after{
    bottom : 16px ;
    right : 16px ;
    margin : auto ;
    width : 16px ;
    height : 16px ;
    border-radius : 50% ;
    border : solid 4px var(--accentColor) ;
    background : #FFF ;
}
.B_2::before{
    top : 0 ;
    left : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--mainColor) ;
}
.B_2::after{
    bottom : 16px ;
    right : 16px ;
    margin : auto ;
    width : 16px ;
    height : 16px ;
    border-radius : 50% ;
    border : solid 4px var(--accentColor) ;
    background : #FFF ;
}
.button:hover .bird .B_1{
    transform : rotate(-90deg) ;
}
.button:hover .bird .B_2{
    transform : rotate(90deg) ;
}
/* C */
.C_1{
    transform-origin : bottom left ;
    bottom : 0 ;
    left : 100% ;
}
.C_2{
    transform-origin : bottom left ;
    bottom : 0 ;
    left : 0 ;
}
.C_1::before{
    z-index : 1 ;
    top : 0 ;
    right : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--mainColor) ;
}
.C_1::after{
    z-index : 2 ;
    top : 50% ;
    right : 50% ;
    width : 100% ;
    height : 100% ;
    border-radius : 50% ;
    background : var(--accentColor)  ;
}
.C_2::before{
    z-index : 1 ;
    top : 0 ;
    right : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--subColor_1) ;
}
.C_2::after{
    z-index : 2 ;
    top : 50% ;
    right : 50% ;
    width : 100% ;
    height : 100% ;
    border-radius : 50% ;
    background : var(--subColor_2) ;
}
.button:hover .bird .C_1{
    transform : rotate(-90deg) ;
}
.button:hover .bird .C_2{
    transform : rotate(90deg) ;
}

.block_D{
    width : 80px ;
}
.block_D::before{
    content : '' ;
    position : absolute ;
    z-index : 1 ;
    bottom : 0 ;
    left : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--mainColor) ;
}
.block_D::after{
    content : '' ;
    position : absolute ;
    z-index : 2 ;
    bottom : 0  ;
    right : -25% ;
    width : 50% ;
    height : 50% ;
    border-radius : 50% ;
    background : #FFF ;
}

.E_1{
    transform-origin : bottom left ;
    top : -100% ;
    right : 0 ;
}
.E_2{
    transform-origin :  bottom left;
    top : 0 ;
    left : 0 ;
}
.E_1::before{
    top : 0 ;
    right : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : #FFF ;
}
.E_1::after{
    bottom : -50% ;
    left : -50% ;
    width : 100% ;
    height : 100% ;
    border-radius : 50% ;
    background : var(--mainColor) ;
}
.E_2::before{
    top : 0 ;
    right : 0 ;
    width : 200% ;
    height : 200% ;
    border-radius : 50% ;
    background : var(--mainColor) ;
}
.E_2::after{
    bottom : -50% ;
    left : -50% ;
    width : 100% ;
    height : 10.........完整代码请登录后点击上方下载按钮下载查看

网友评论0