先新建一个HTML文件按我这样打下去
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS 3D战斗机</title>
<style>
* {
margin:0 auto;
}
html {
height:100%;
}
body {
height:100%;
display:flex;
justify-content:center;
align-items:center;
background:rgb(7,83,83);
perspective:3000px;
/*滤镜形成阴影效果*/
filter:-shadow(0px 120px 10px rgba(0,0,0,0.5));
overflow:hidden;
}
main {
width:500px;
height:400px;
border:1px solid transparent;
/* perspective:3000px;
*/
transform-style:preserve-3d;
/* transform:rotateX(-100deg);
*/
animation:dong 20s linear infinite alternate;
cursor:pointer;
}
@keyframes dong {
0% {
}50% {
transform:rotateX(-80deg) rotateY(-80deg) rotateZ(0deg);
}
100% {
transform:rotateX(80deg) rotateY(80deg) rotateZ(45deg);
}
}div {
transform-style:preserve-3d;
/* transform:rotateX(90deg);
*/
}
#feiji {
width:500px;
height:300px;
/* background:teal;
*/
position:relative;
/* transform:rotateX(-30deg);
*/
/* border:1px solid white;
*/
/* transform:rotateY(-90deg);
*/
animation:zhuan1 10s linear infinite alternate;
}
@keyframes zhuan1 {
0% {
transform:rotateX(-40deg);
}
100% {
transform:rotateX(30deg)
}
}#tou {
width:170px;
height:50px;
/* background:red;
*/
position:absolute;
left:0;
top:125px;
transform:rotateZ(-7deg);
}
#tou div {
width:0px;
height:0px;
border-top:25px solid transparent;
border-bottom:25px solid transparent;
border-left:0px solid transparent;
border-right:170px solid yellow;
position:absolute;
transform:rotateX(90deg);
}
#tou .tou-t {
border-right:170px solid rgb(180,180,179);
transform:rotateX(0deg) rotateY(8deg) translateZ(-12px);
}
#tou .tou-t::before {
content:'J - 30';
width:100px;
color:white;
font-size:18px;
font-weight:bold;
position:absolute;
left:110px;
top:-5px;
font-family:黑体;
transform:rotate(5deg);
}
#tou .tou-b {
border-right:170px solid rgb(180,180,179);
transform:rotateX(0deg) rotateY(-8deg) translateZ(12px);
}
#tou .tou-b::before {
content:'J - 30';
width:100px;
color:white;
font-size:18px;
font-weight:bold;
position:absolute;
left:110px;
top:-5px;
font-family:黑体;
transform:rotate(5deg);
}
#tou .tou-l {
border-right:170px solid rgb(214,214,214);
/* transform-origin:0% 0%;
*/
transform:rotateX(90deg) rotateY(8.5deg);
top:13px;
}
#tou .tou-r {
border-right:170px solid rgb(180,180,179);
transform:rotateX(90deg) rotateY(-8.5deg);
top:-13px;
}
#tou .tou-r::before {
content:'';
width:0;
height:0;
border-top:20px solid transparent;
border-bottom:20px solid transparent;
border-left:0px solid transparent;
border-right:50px solid rgb(73,73,73);
position:absolute;
left:120px;
top:-20px;
}
#jishen {
width:180px;
height:50px;
/* background:tomato;
*/
position:absolute;
top:125px;
left:170px;
}
#jishen div {
width:1px;
height:30px;
border-top:10px solid transparent;
border-bottom:10px solid transparent;
border-right:0px solid transparent;
border-left:179px solid rgb(180,180,179);
position:absolute;
transform:rotateX(0deg);
}
#jishen .jishen-t {
border-left:185px solid rgb(180,180,179);
transform:rotateX(90deg) rotateY(2deg) translateX(-5px);
top:-31px;
}
#jishen .jishen-t::before {
content:'';
width:0;
height:0;
border-top:20px solid transparent;
border-bottom:20px solid transparent;
border-left:80px solid rgb(73,73,73);
border-right:0px solid transparent;
position:absolute;
left:-185px;
top:-5px;
}
#jishen .jishen-b {
border-left:179px solid rgb(214,214,214);
transform:rotateX(90deg) rotateY(-6deg);
top:7px;
}
#jishen .jishen-l {
width:1px;
height:25px;
border-top:26px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:185px solid rgb(180,180,179);
transform:rotateX(0deg) rotateY(3deg) rotateZ(-6deg) translateZ(20px) translateX(-4px);
top:-20px;
}
#jishen .jishen-r {
width:1px;
height:25px;
border-top:26px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:185px solid rgb(180,180,179);
transform:rotateX(0deg) rotateY(-3deg) rotateZ(-6deg) translateZ(-20px) translateX(-5px);
top:-20px;
}
#jishen #yi {
/* background:yellow;
*/
position:absolute;
width:1px;
height:25px;
border-top:50px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:165px solid rgb(180,180,179);
/* transform:rotateX(-90deg);
*/
}
#jishen #yi::before {
content:'';
position:absolute;
width:1px;
height:25px;
border-top:50px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:164px solid rgb(121,121,119);
right:0;
top:-50px;
transform:scale(0.8) translateX(-20px);
}
#jishen .yi-l {
transform:rotateX(-98deg) rotateZ(-90deg) translateX(100px);
position:absolute;
top:-20px;
left:-20px;
}
#jishen .yi-r {
transform:rotateX(98deg) rotateZ(-90deg) translateX(100px);
position:absolute;
top:-20px;
left:-20px;
}
#wei {
width:100px;
height:40px;
/* background:red;
*/
position:absolute;
right:50px;
top:123px;
}
#wei div {
width:1px;
height:15px;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-right:0px solid transparent;
border-left:40px solid rgb(250,41,41);
position:absolute;
transform:rotateX(0deg);
}
#wei .wei-l {
transform:rotateX(0deg) rotateY(10deg) rotateZ(-2deg) translateZ(11px);
}
#wei .wei-l::after {
content:'';
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-right:0px solid transparent;
border-left:40px solid rgb(250,41,41);
position:absolute;
left:0px;
transform:rotateX(0deg);
opacity:0;
transition:0.5s;
}
#wei .wei-r {
transform:rotateX(0deg) rotateY(-10deg) rotateZ(-2deg) translateZ(-11px);
}
#wei .wei-r::after {
content:'';
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-right:0px solid transparent;
border-left:40px solid rgb(250,41,41);
position:absolute;
left:0px;
transform:rotateX(0deg);
opacity:0;
transition:0.5s;
}
#wei .wei-t {
border-top:8px solid transparent;
border-bottom:8px solid transparent;
border-left:45px solid rgb(250,41,41);
transform:rotateX(90deg) rotateY(4deg);
top:-14px;
left:-3px;
}
#wei .wei-t::after {
content:'';
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-right:0px solid transparent;
border-left:40px solid rgb(202,243,19);
position:absolute;
left:0px;
transform:rotateX(0deg);
opacity:0;
transition:0.5s;
}
#wei .wei-b {
border-top:8px solid transparent;
border-bottom:8px solid transparent;
border-left:45px solid rgb(250,41,41);
transform:rotateX(90deg) rotateY(-10deg);
top:5px;
left:-3px;
}
#wei .wei-b::after {
content:'';
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-right:0px solid transparent;
border-left:40px solid rgb(202,243,19);
position:absolute;
left:0px;
transform:rotateX(0deg);
opacity:0;
transition:0.5s;
}
main:hover #wei div::after {
left:20px;
opacity:1;
}
#wei .wei-yt {
top:-38px;
width:1px;
height:15px;
border-top:20px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:45px solid rgb(180,180,179);
transform:rotateZ(-83deg);
}
#wei .wei-yl {
height:10px;
border-top:15px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:35px solid rgb(180,180,179);
transform:rotateY(-90deg) rotateX(-100deg) translateX(28px) rotateZ(10deg);
left:7px;
}
#wei .wei-yr {
height:10px;
border-top:15px solid transparent;
border-bottom:0px solid transparent;
border-right:0px solid transparent;
border-left:35px solid rgb(180,180,179);
transform:rotateY(90deg) rotateX(100deg) translateX(28px) rotateZ(10deg);
left:7px;
}
#feng {
width:200px;
height:2px;
background:white;
position:absolute;
transform:rotateX(30deg);
opacity:0;
filter:blur(2px);
}
#feng:nth-child(2) {
left:150px;
transform:translateZ(100px) translateY(-50px) rotateX(30deg);
}
#feng:nth-child(3) {
top:-0px;
left:100px;
transform:translateY(0px) rotateX(30deg);
}
#feng:nth-child(4) {
top:-50px;
left:300px;
transform:translateZ(-150px) rotateX(30deg) translateY(150px);
}
@keyframes move {
0% {
opacity:0;
}
20% {
opacity:0.8;
}
100% {
opacity:0;
left:400px;
}
}main:hover #feng {
animation:move 3s linear -1s infinite;
}
main:active #wei div::after {
animation:move1 1s linear -1s infinite;
}
@keyframes move1 {
0% {
opacity:0;
left:0;
}
100% {
opacity:1;
left:20px;
}
}
</style>
</head>
<body>
<main>
<div id="feiji">
<div id="tou">
<div class="tou-t"></div>
<div class="tou-b"></div>
<div class="tou-l"></div>
<div class="tou-r"></div>
</div>
<div id="jishen">
<div class="jishen-t"></div>
<div class="jishen-b"></div>
<div class="jishen-l"></div>
<div class="jishen-r"></div>
<div id="yi" class="yi-l"></div>
<div id="yi" class="yi-r"></div>
</div>
<div id="wei">
<div class="wei-l"></div>
<div class="wei-r"></div>
<div class="wei-t"></div>
<div class="wei-b"></div>
<div class="wei-yl"></div>
<div class="wei-yr"></div>
<div class="wei-yt"></div>
</div>
</div>
<div id="feng"></div>
<div id="feng"></div>
<div id="feng"></div>
<div id="feng"></div>
</main>
</body>
</html>