纯css布局实现一个出租车动画效果
代码语言:html
所属分类:动画
代码描述:纯css布局实现一个出租车动画效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
/***********************/
/***********************/
/************************/
/* Mixin para crear cubo ( Caras siempre al frente ) */
/************************/
/************************/
/* Mixin para crear cubo centrado */
/************************/
/************************/
/* Mixin para crear rueda */
/************************/
/***********************/
/***********************/
/**/
*, *::after, *::before {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-tap-highlight-color: transparent;
}
/* Generic */
body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 100%;
height: 100vh;
overflow: hidden;
cursor: pointer;
background-color: #69D7C6;
}
/* CUBECENTER */
.flex {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
/* CUBE */
.face {
position: absolute;
}
/***************/
.main {
width: 26vw;
height: 13vw;
-webkit-animation: 8s main linear infinite;
animation: 8s main linear infinite;
}
.taxi,
.shadows {
position: absolute;
width: 26vw;
height: 13vw;
-webkit-transform: perspective(10000px) rotateX(60deg) rotateZ(45deg) translateZ(-7vw);
transform: perspective(10000px) rotateX(60deg) rotateZ(45deg) translateZ(-7vw);
}
.taxi {
-webkit-animation: .15s taxi linear infinite;
animation: .15s taxi linear infinite;
}
.shadows {
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(90%, #377e84), to(#3B888F));
background-image: -webkit-linear-gradient(top, #377e84 90%, #3B888F);
background-image: -o-linear-gradient(top, #377e84 90%, #3B888F);
background-image: linear-gradient(to bottom, #377e84 90%, #3B888F);
-webkit-animation: .15s shadows linear infinite;
animation: .15s shadows linear infinite;
}
.shadow-a {
position: absolute;
width: 100%;
height: 30%;
bottom: -30%;
background-color: #3B888F;
}
.shadow-b {
position: absolute;
width: 14vw;
height: 7vw;
bottom: -10vw;
left: 20%;
background-color: #3B888F;
}
.shadow-b::before {
content: '';
position: absolute;
width: 30%;
height: 100%;
right: -10%;
background-color: #3B888F;
-webkit-transform: skewX(-10deg);
-ms-transform: skewX(-10deg);
transform: skewX(-10deg);
}
.shadow-c {
position: absolute;
width: 7vw;
height: 7vw;
bottom: -13vw;
left: 30%;
background-color: #3B888F;
}
/*--------*/
.base-a {
width: 26vw;
height: 6.5vw;
-webkit-transform: translateZ(3vw);
transform: translateZ(3vw);
}
.base-a__front {
width: 26vw;
height: 1vw;
-webkit-transform-origin: bottom left;
-ms-transform-origin: bottom left;
transform-origin: bottom left;
-webkit-transform: rotateX(-90deg) translateZ(12vw);
transform: rotateX(-90deg) translateZ(12vw);
}
.base-a__back {
width: 26vw;
height: 1vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateX(-90deg) rotateY(180deg) translateX(-26vw) translateY(-1vw);
transform: rotateX(-90deg) rotateY(180deg) translateX(-26vw) translateY(-1vw);
}
.base-a__right {
width: 13vw;
height: 1vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateY(90deg) rotateZ(-90deg) translateZ(26vw) translateX(-13vw) translateY(-1vw);
transform: rotateY(90deg) rotateZ(-90deg) translateZ(26vw) translateX(-13vw) translateY(-1vw);
}
.base-a__left {
width: 13vw;
height: 1vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateY(-90deg) rotateZ(90deg) translateY(-1vw);
transform: rotateY(-90deg) rotateZ(90deg) translateY(-1vw);
}
.base-a__top {
width: 26vw;
height: 13vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: translateZ(1vw);
transform: translateZ(1vw);
}
.base-a__bottom {
width: 26vw;
height: 13vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateY(180deg) translateX(-26vw);
transform: rotateY(180deg) translateX(-26vw);
}
.base-a__front {
background-color: #CDC5B6;
}
.base-a__back {
background-color: #F7F8F3;
}
.base-a__right {
background-color: #F7F8F3;
}
.base-a__left {
background-color: #CDC5B6;
}
.base-a__top {
background-color: #F7F8F3;
}
.base-a__bottom {
background-color: #CDC5B6;
}
.base-b {
width: 25.5vw;
height: 6.25vw;
left: .25vw;
top: .25vw;
-webkit-transform: translateZ(4vw);
transform: translateZ(4vw);
}
.base-b__front {
width: 25.5vw;
height: 3vw;
-webkit-transform-origin: bottom left;
-ms-transform-origin: bottom left;
transform-origin: bottom left;
-webkit-transform: rotateX(-90deg) translateZ(9.5vw);
transform: rotateX(-90deg) translateZ(9.5vw);
}
.base-b__back {
width: 25.5vw;
height: 3vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateX(-90deg) rotateY(180deg) translateX(-25.5vw) translateY(-3vw);
transform: rotateX(-90deg) rotateY(180deg) translateX(-25.5vw) translateY(-3vw);
}
.base-b__right {
width: 12.5vw;
height: 3vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateY(90deg) rotateZ(-90deg) translateZ(25.5vw) translateX(-12.5vw) translateY(-3vw);
transform: rotateY(90deg) rotateZ(-90deg) translateZ(25.5vw) translateX(-12.5vw) translateY(-3vw);
}
.base-b__left {
width: 12.5vw;
height: 3vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateY(-90deg) rotateZ(90deg) translateY(-3vw);
transform: rotateY(-90deg) rotateZ(90deg) translateY(-3vw);
}
.base-b__top {
width: 25.5vw;
height: 12.5vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: translateZ(3vw);
transform: translateZ(3vw);
}
.base-b__bottom {
width: 25.5vw;
height: 12.5vw;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
-webkit-transform: rotateY(180deg) translateX(-25.5vw);
transform: rotateY(180deg) translateX(-25.5vw);
}
.base-b__front {
background-image: -webkit-gradient(linear, left top, left bottom, from(#bfad80), to(#b6a26f));
background-image: -webkit-linear-gradient(top, #bfad80, #b6a26f);
background-image: -o-linear-gradien.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0