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=Press+Start+2P&display=swap" rel="stylesheet">
  
  
  
<style>
.box{
    position : relative ;
    display : flex ;
    flex-wrap : wrap ;
    perspective : 400px ;
    width : 600px ;
    height :300px ;
}
.box::before{
    content : '' ;
    position : absolute ;
    z-index : -1 ;
    bottom : 20px ;
    left : 0 ;
    right : 0 ;
    margin : 0 auto ;
    width : 160px ;
    height : 24px ;
    border-radius : 50% ;
    background : radial-gradient( rgba(0,0,0,.4) 10%, rgba(0,0,0,0) 50%) ;
    animation : shadow ease 3s infinite alternate ;
    opacity : .5 ;
}
.area{
    width : calc( 100% / 3 ) ;
    height : calc( 100% / 3 ) ; 
    box-sizing : border-box ;
}
.robot{
    position : absolute ;
    z-index : 2 ;
    top : 0 ;
    left : 0 ;
    right : 0 ;
    bottom : 0 ;
    margin : auto ;
    width : 240px ;
    height : 80px ;
    animation : float ease 3s infinite alternate ;
}
.front,
.face{
    position : absolute ;
    z-index : 1 ;
    top : 0 ;
    left : 0 ;
    width : 240px ;
    height : 80px ;
    transform-origin : 50% 50% -40px ;
    transition : all ease .2s ;
    transform : rotateX(0) rotateY(0) ;
    perspective : 400px ;
}
.face{
    z-index : 2 ;
    background : #aaa ;
    background-color:hsla(0,4%,45%,1);
    background-image:
    radial-gradient(at 40% 20%, hsla(25,10%,31%,1) 0px, transparent 50%),
    radial-gradient(at 80% 0%, hsla(188,8%,39%,1) 0px, transparent 50%),
    radial-gradient(at 0% 50%, hsla(350,2%,45%,1) 0px, transparent 50%),
    radial-gradient(at 80% 50%, hsla(340,8%,20%,1) 0px, transparent 50%),
    radial-gradient(at 0% 100%, hsla(19,0%,0%,1) 0px, transparent 50%),
    radial-gradient(at 80% 100%, hsla(29,15%,16%,1) 0px, transparent 50%),
    radial-gradient(at 0% 0%, hsla(339,0%,60%,1) 0px, transparent 50%);
}
.face__wrapper{
    position : absolute ;
    top : 0 ;
    left : 0 ;
    right : 0 ;
    bottom : 0 ;
    margin : auto ;
    width : 220px ;
    height : 60px ;
    background : #333 ;
    box-shadow : 0 0 8px rgba(0,0,0,.6) inset ;
}
.eye{
    position : absolute ;
    z-index : 1 ;
    top : 0 ;
    left : 0 ;
    right : 0 ;
    bottom : 0 ;
    margin : auto ;
    width : 150px ;
    height : 30px ;
    transition : all ease .3s ;
}
.eye::before,
.eye::after{
    content : '' ;
    position : absolute ;
    top : 0 ;
    bottom : 0 ;
    margin : auto ;
    width : 30px ;
    height : 30px ;
    border-radius : 20px ;
    background : #ffde55 ;
    box-sizing : border-box ;
    border : solid 1px #a48c00 ;
    box-shadow : 0 0 8px rgba(255,255,0 ,1)  ;
    animation : eye linear 6s infinite ;
    transition : all ease .2s ;
}
.eye::before{
    left : 0 ;
}
.eye::after{
    right : 0 ;
}
.text{
    display : flex ;
    justify-content : center ;
    align-items : center ;
    position : absolute ;
    z-index : 2 ;
    top : 0 ;
    left : 0 ;
    right : 0 ;
    bottom : 0 ;
    margin : auto ;
    width : 80% ;
    height : 70% ;
    font-size : 24px ;
    font-weight : bold ;
    color : transparent ;
    font-family: 'Press Start 2P', cursive;
    letter-spacing : 3px ;
    transition : all ease-out .2s ;
    
}
.text::before,
.text::after{
    content : '' ;
    position : absolute ;
    width : 0 ;
    height : 2px ;
    background : #ffde55 ;
    transition : all ease-out .2s ;
    box-shadow : 0 0 8px rgba(255,255,0 ,1)  ;
}
.text::before{
    top : 0 ;
    left : 0 ;
}
.text::after{
    bottom : 0 ;
    right : 0 ;
}
@keyframes eye {
    0%  { height : 30px ; }
    10% { height : 30px ; }
    11% { height : 3px ; }
    12% { height : 30px ; }
    60% { height : 30px ; }
    61% { height : 3px ; }
    62% { height : 30px ; }
    63% { height : 30px ; }
    64% { height : 3px ; }
    65% { height : 30px ; }
    100%{ height : 30px ; }
}
.parts_A::before,
.parts_A::after{
    background : #888 ;
    background-color:hsla(0,4%,45%,1);
    background-image:
    radial-gradient(at 40% 20%, hsla(25,10%,31%,1) 0px, transparent 50%),
    radial-gradient(at 80% 0%, hsla(188,8%,39%,1) 0px, transparent 50%),
    radial-gradient(at 0% 50%, hsla(350,2%,45%,1) 0px, transparent 50%),
    radial-gradient(at 80% 50%, hsla(340,8%,20%,1) 0px, transparent 50%),
    radial-gradient(at 0% 100%, hsla(19,0%,0%,1) 0px, transparent 50%),
    radial-gradient(at 80% 100%, hsla(29,15%,16%,1) 0px, transparent 50%),
    radial-gradient(at 0% 0%, hsla(339,0%,60%,1) 0px, transparent 50%);
}
.parts_A::before,
.parts_A::after{
    content : '' ;
    position : absolute ;
    top : 0;
    width : 80px ;
    height : 80px ;
    transition : all ease .2s ;
}
.parts_A::before{
    right : 0 ;
    transform-origin : right center ;
    transform : rotateY(253deg) skewY(0);
}
.parts_A::after{
    left : 0 ;
    transform-origin : left center ;
    transform : rotateY(107deg) skewY(0);
}
.parts_B::before,
.parts_B::after{
    content : '' ;
    position : absolute ;
    top : 0 ;
    right : 0 ;
    width : 240px ;
    height : 80px ;
    transition : all ease .2s ;
}
.parts_B::before{
    transform-origin : bottom center ;
    transform : rotatex(96deg) skewX(0deg);
    background-color:hsla(0,4%,45%,1);
    background-image:
    radial-gradient(at 40% 20%, hsla(25,10%,31%,1) 0px, transparent 50%),
    radial-gradient(at 80% 0%, hsla(188,8%,39%,1) 0px, transparent 50%),
    radial-gradient(at 0% 50%, hsla(350,2%,45%,1) 0px, transparent 50%),
    radial-gradient(at 80% 50%, hsla(340,8%,20%,1) 0px, transparent 50%),
    radial-gradient(at 0% 100%, hsla(19,0%,0%,1) 0px, transparent 50%),
    radial-gradient(at 80% 100%, hsla(29,15%,16%,1) 0px, transparent 50%),
    radial-gradient(at 0% 0%, hsla(339,0%,60%,1) 0px, transparent 50%);
}
.parts_B::after{
    transform-origin : top center ;
    transform : rotatex(-96deg) skewX(0deg);
    background-color:hsla(0,4%,45%,1);
    background-image:
    radial-gradient(at 40% 20%, hsla(25,10%,31%,1) 0px, transparent 50%),
    radial-gradient(at 80% 0%, hsla(188,8%,39%,1) 0px, transparent 50%),
    radial-gradient(at 0% 50%, hsla(350,2%,45%,1) 0px, transparent 50%),
    radial-gradient(at 80% 50%, hsla(340,8%,20%,1) 0px, transparent 50%),
    radial-gradient(at 0% 100%, hsla(19,0%,0%,1) 0px, transparent 50%),
    radial-gradient(at 80% 100%, hsla(29,15%,16%,1) 0px, transparent 50%),
    radial-gradient(at 0% 0%, hsla(339,0%,60%,1) 0px, transparent 50%);
}
.area_1:hover ~ .robot .front,
.area_1:hover ~ .robot .face{
    transform : rotateX(20deg) rotateY(-35deg) ;
}
.area_1:hover ~ .robo.........完整代码请登录后点击上方下载按钮下载查看

网友评论0