css实现三维Picade游戏街机立体效果代码

代码语言:html

所属分类:三维

代码描述:css实现三维Picade游戏街机立体效果代码

代码标签: 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