css实现三维Picade游戏街机立体效果代码
代码语言:html
所属分类:三维
代码描述:css实现三维Picade游戏街机立体效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
/***********************/
/***********************/
/***********************/
*,
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: border-box;
transform-style: preserve-3d;
user-select: none;
-webkit-tap-highlight-color: transparent;
appearance: none;
font-family: "Press Start 2P", cursive;
}
/***********************/
/***********************/
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
width: 100%;
font-weight: bolder;
overflow: hidden;
cursor: pointer;
background-color: #2f3295;
}
.face {
position: absolute;
}
.flex {
display: flex;
justify-content: center;
align-items: center;
}
/***********************/
/***********************/
.main {
position: absolute;
width: 49vmin;
height: 49vmin;
transform: perspective(700vmin) rotateX(70deg) rotateZ(40deg) translateZ(-29.75vmin);
transition: transform 550ms ease-out;
}
.shadows {
position: absolute;
width: 100%;
height: 100%;
filter: blur(0.875vmin);
transform: translateZ(-0.175vmin);
}
.shadow {
position: absolute;
}
.shadow-1, .shadow-2 {
top: -5%;
left: -5%;
width: 125%;
height: 110%;
background-color: #202266;
}
.shadow-2 {
background-color: rgba(240, 70, 109, 0.05);
}
.shadow-3, .shadow-4 {
top: -5%;
left: -5%;
width: 190%;
height: 60%;
transform-origin: top left;
transform: skewY(-10deg);
background-image: linear-gradient(-45deg, transparent 20%, #202266 20%);
}
.shadow-4 {
background-image: linear-gradient(-45deg, transparent 20%, rgba(240, 70, 109, 0.05) 20%);
}
.shadow-5 {
top: -2%;
left: -2%;
width: 104%;
height: 104%;
background-color: #121338;
}
.shadow-6 {
top: -4%;
left: -4%;
width: 108%;
height: 108%;
border: 1.3125vmin solid rgba(181, 244, 244, 0.35);
}
.a {
width: 49vmin;
height: 49vmin;
position: absolute;
top: 0;
left: 0;
}
.a__front {
width: 49vmin;
height: 14vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(35vmin);
}
.a__back {
width: 49vmin;
height: 14vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-49vmin) translateY(-14vmin);
}
.a__right {
width: 49vmin;
height: 14vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(49vmin) translateX(-49vmin) translateY(-14vmin);
}
.a__left {
width: 49vmin;
height: 14vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-14vmin);
}
.a__top {
width: 49vmin;
height: 49vmin;
transform-origin: top left;
transform: translateZ(14vmin);
}
.a__bottom {
width: 49vmin;
height: 49vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-49vmin);
}
.a__front {
background-image: linear-gradient(to right, rgba(240, 70, 109, 0.25), rgba(240, 70, 109, 0.15) 5%, transparent 30% 80%, rgba(16, 16, 15, 0.5)), linear-gradient(to top, #131114, #2c292f);
border-bottom: 0.4375vmin solid #b5f4f4;
}
.a__back::before {
content: "";
position: absolute;
top: -4.2875vmin;
width: 100%;
height: 18.375vmin;
background-image: linear-gradient(to bottom, #10100f, black);
border-bottom: 0.4375vmin solid #b5f4f4;
}
.a__left::before {
content: "";
position: absolute;
top: -4.2875vmin;
width: 100%;
height: 18.375vmin;
background-image: linear-gradient(5deg, rgba(240, 70, 109, 0.1) 81.5%, transparent 81.5%), linear-gradient(5deg, #1d1b1f 20%, #2c292f 81.5%, transparent 81.5%);
border-bottom: 0.4375vmin solid #b5f4f4;
}
.a__right::before {
content: "";
position: absolute;
top: -4.2875vmin;
width: 100%;
height: 18.375vmin;
background-image: linear-gradient(-5deg, #080809, #151417 81.5%, transparent 81.5%);
border-bottom: 0.4375vmin solid #b5f4f4;
}
.a__top::before {
content: "";
position: absolute;
transform-origin: bottom left;
transform: rotateX(-5deg);
width: 100%;
height: 100%;
background-color: #25222b;
background-image: url("https://rawcdn.githack.com/ricardoolivaalonso/Codepen/a4afdbe8ef854010212f8ed4e2fe879442dada3a/Picade/mario.png");
background-repeat: no-repeat;
background-size: 66.5vmin 33.25vmin;
background-position: center 100%;
}
.a__top::after {
content: "";
position: absolute;
transform-origin: bottom left;
transform: rotateX(-5deg);
width: 100%;
height: 100%;
background-image: linear-gradient(-75deg, transparent 0 60%, rgba(181, 244, 244, 0.065) 65%, rgba(181, 244, 244, 0.15) 80%, transparent 85% 100%), linear-gradient(to right, rgba(240, 70, 109, 0.5), rgba(240, 70, 109, 0.2) 5%, transparent 25% 80%, rgba(16, 16, 15, 0.3));
}
.a__bottom {
background-color: #202266;
}
.b {
width: 49vmin;
height: 21vmin;
position: absolute;
top: 0;
transform: translateZ(18.2vmin);
}
.b__front {
width: 49vmin;
height: 35vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(-14vmin);
}
.b__back {
width: 49vmin;
height: 35vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-49vmin) translateY(-35vmin);
}
.b__right {
width: 21vmin;
height: 35vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(49vmin) translateX(-21vmin) translateY(-35vmin);
}
.b__left {
width: 21vmin;
height: 35vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-35vmin);
}
.b__top {
width: 49vmin;
height: 21vmin;
transform-origin: top left;
transform: translateZ(35vmin);
}
.b__bottom {
width: 49vmin;
height: 21vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-49vmin);
}
.b__front::before {
content: "";
position: absolute;
width: 100%;
top: -0.875vmin;
height: 38.5vmin;
transform-origin: bottom left;
transform: rotateX(12deg);
background-color: #25222b;
background-image: url("https://rawcdn.githack.com/ricardoolivaalonso/Codepen/a4afdbe8ef854010212f8ed4e2fe879442dada3a/Picade/smw.png"), linear-gradient(to bottom, #342f3c, #1e1b23);
background-size: 80% 75%, 100% 100%;
background-position: center;
background-repeat: no-repeat;
}
.b__front::after {
content: "";
position: absolute;
width: 100%;
top: -0.875vmin;
height: 38.5vmin;
transform-origin: bottom left;
transform: rotateX(12deg);
background-image: linear-gradient(-75deg, transparent 0 50%, rgba(181, 244, 244, 0.05) 55%, rgba(181, 244, 244, 0.145) 70%, transparent 75% 100%), linear-gradient(to right, rgba(240, 70, 109, 0.2), rgba(240, 70, 109, 0.1) 5%, transparent 25% 80%, rgba(16, 16, 15, 0.3));
}
.b__back {
background-color: #10100f;
}
.b__left::before {
content: "";
position: absolute;
width: 100%;
height: 36.75vmin;
background-image: linear-gradient(78deg, rgba(240, 70, 109, 0.1) 73%, transparent 73%), linear-gradient(78deg, #2c292f 73%, transparent 73%);
}
.b__right::before {
content: "";
position: absolute;
width: 100%;
height: 36.75vmin;
background-image: linear-gradient(-78deg, #151417 73%, transparent 73%);
}
.b__bottom::before {
content: "";
position: absolute;
transform-origin: top left;
transform: rotateX(5deg);
width: 100%;
height: 100%;
background: pink;
}
.c {
width: 49vmin;
height: 17.15vmin;
position: absolute;
top: 0;
transform: translateZ(50.75vmin);
}
.c__front {
width: 49vmin;
height: 10.5vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(6.65vmin);
}
.c__back {
width: 49vmin;
height: 10.5vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-49vmin) translateY(-10.5vmin);
}
.c__right {
width: 17.15vmin;
height: 10.5vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(49vmin) translateX(-17.15vmin) translateY(-10.5vmin);
}
.c__left {
width: 17.15vmin;
height: 10.5vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-10.5vmin);
}
.c__top {
width: 49vmin;
height: 17.15vmin;
transform-origin: top left;
transform: translateZ(10.5vmin);
}
.c__bottom {
width: 49vmin;
height: 17.15vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-49vmin);
}
.c__front::before {
content: "";
position: absolute;
top: -3.0625vmin;
width: 100%;
height: 100%;
transform-origin: top left;
background-color: #25222b;
background-image: url("https://rawcdn.githack.com/ricardoolivaalonso/Codepen/a4afdbe8ef854010212f8ed4e2fe879442dada3a/Picade/mario.png");
background-repeat: no-repeat;
background-size: 70vmin 35vmin;
background-position: center 37%;
}
.c__front::after {
content: "";
position: absolute;
top: -3.0625vmin;
transform-origin: bottom left;
width: 100%;
height: 100%;
background-image: linear-gradient(-75deg, transparent 0 40%, rgba(181, 244, 244, 0.025) 55%, rgba(181, 244, 244, 0.1) 70%, transparent 80% 100%), linear-gradient(to right, rgba(240, 70, 109, 0.5), rgba(240, 70, 109, 0.2) 5%, transparent 25% 80%, rgba(16, 16, 15, 0.3));
border: 0.525vmin solid #b5f4f4;
box-shadow: 0 0 1.75vmin rgba(181, 244, 244, 0.25);
}
.c__back {
background-image: linear-gradient(to bottom, #1f1f1e, #10100f);
}
.c__left::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
transform-origin: top left;
transform: skewY(-10deg);
background-image: linear-gradient(to bottom, rgba(240, 70, 109, 0.1), rgba(240, 70, 109, 0.05)), linear-gradient(to bottom, #3b373f, #2c292f);
}
.c__left::after {
content: "";
position: absolute;
right: 3.5vmin;
width: 7vmin;
height: 5.25vmin;
background-image: repeating-linear-gradient(to bottom, #151417 0 0.875vmin, transparent 0.875vmin 1.75vmin);
transform: skewY(-10deg);
}
.c__right::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
transform-origin: top right;
transform: skewY(10deg);
background-image: linear-gradient(to bottom, #242327, #151417);
}
.c__right::after {
content: "";
position: absolute;
left: 3.5vmin;
width: 7vmin;
height: 5.25vmin;
background-image: repeating-linear-gradient(to bottom, #10100f 0 0.875vmin, transparent 0.875vmin 1.75vmin);
transform: skewY(10deg);
}
.c__top::before {
content: "";
position: absolute;
width: 100%;
height: 17.5vmin;
transform: rotateX(10deg);
transform-origin: top left;
background-image: linear-gradient(to top, rgba(240, 70, 109, 0.05), transparent), linear-gradient(to top, #342f3c, #25222b);
}
.c__bottom::before {
content: "";
position: absolute;
width: 100%;
height: 17.5vmin;
transform: rotateX(-10deg);
transform-origin: top left;
background-image: linear-gradient(to top, #060606, #151417);
}
.d,
.e {
width: 1.75vmin;
height: 1.225vmin;
position: absolute;
transform: translateZ(16.1875vmin) rotateX(12deg);
}
.d__front,
.e__front {
width: 1.75vmin;
height: 38.5vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(-37.275vmin);
}
.d__back,
.e__back {
width: 1.75vmin;
height: 38.5vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-1.75vmin) translateY(-38.5vmin);
}
.d__right,
.e__right {
width: 1.225vmin;
height: 38.5vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(1.75vmin) translateX(-1.225vmin) translateY(-38.5vmin);
}
.d__left,
.e__left {
width: 1.225vmin;
height: 38.5vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-38.5vmin);
}
.d__top,
.e__top {
width: 1.75vmin;
height: 1.225vmin;
transform-origin: top left;
transform: translateZ(38.5vmin);
}
.d__bottom,
.e__bottom {
width: 1.75vmin;
height: 1.225vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-1.75vmin);
}
.d__front,
.e__front {
background-color: #b5f4f4;
border-left: 0.65625vmin solid #25222b;
border-right: 0.65625vmin solid #25222b;
}
.d__left,
.e__left {
background-color: #2c292f;
background-image: linear-gradient(to left, rgba(240, 70, 109, 0.1) 73%, rgba(240, 70, 109, 0.1) 73%);
}
.d__right,
.e__right {
background-color: #151417;
}
.d__top,
.e__top {
background-color: #b5f4f4;
}
.d__bottom,
.e__bottom {
background-color: #b5f4f4;
}
.d {
bottom: 26.6875vmin;
left: 0.4375vmin;
}
.e {
bottom: 26.6875vmin;
right: 0.4375vmin;
}
.cylinder {
position: absolute;
width: 1.75vmin;
height: 1.75vmin;
top: 31.9375vmin;
left: 9.1875vmin;
transform: translateZ(14vmin) rotateZ(-135deg);
}
.cylinder .circle {
width: 1.75vmin;
height: 1.75vmin;
position: absolute;
}
.cylinder .circle-a {
position: absolute;
width: 5.25vmin;
height: 1.75vmin;
transform: rotateY(90deg) translateX(-50%);
display: flex;
justify-content: center;
align-items: center;
position: absolute;
}
.cylinder .circle-a__side {
position: absolute;
height: 0.3828125vmin;
width: 5.25vmin;
background-color: #626262;
}
.cylinder .circle-a__side:nth-of-type(1) {
transform: rotateX(22.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(2) {
transform: rotateX(45deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(3) {
transform: rotateX(67.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(4) {
transform: rotateX(90deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(5) {
transform: rotateX(112.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(6) {
transform: rotateX(135deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(7) {
transform: rotateX(157.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(8) {
transform: rotateX(180deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(9) {
transform: rotateX(202.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(10) {
transform: rotateX(225deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(11) {
transform: rotateX(247.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(12) {
transform: rotateX(270deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(13) {
transform: rotateX(292.5deg) translateZ(0.875vmin);
background-color: #888888;
}
.cylinder .circle-a__side:nth-of-type(14) {
transform: rotateX(315deg) translate.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0