css实现一个衣柜打开关闭动画效果代码
代码语言:html
所属分类:动画
代码描述:css实现一个衣柜打开关闭动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
*,
*:after,
*:before {
box-sizing: border-box;
transform-style: preserve-3d;
}
@property --spin {
initial-value: 0deg;
inherits: false;
syntax: '<angle>';
}
:root {
--bg: #bddbbd;
--width: 30;
--height: 54;
--backboard: #d1c294;
--depth: 20;
--rx: -20;
--ry: 38;
--thickness: 1;
--hue: 0;
--saturation: 0%;
--unit-one: hsl(var(--hue), var(--saturation), 60%);
--unit-two: hsl(var(--hue), var(--saturation), 50%);
--unit-three: hsl(var(--hue), var(--saturation), 40%);
--unit-four: hsl(var(--hue), var(--saturation), 30%);
--shelf-one: #e6e6e6;
--shelf-two: #d9d9d9;
--shelf-three: #ccc;
--rail-one: #e6e6e6;
--rail-two: #ccc;
--rail-three: #fff;
--handle: #e6e6e6;
--open: 0;
}
body {
font-weight: bold;
font-family: sans-serif;
}
.cuboid {
width: 100%;
height: 100%;
position: relative;
}
.cuboid__side:nth-of-type(1) {
height: calc(var(--thickness) * 1vmin);
width: 100%;
position: absolute;
top: 0;
transform: translate(0, -50%) rotateX(90deg);
}
.cuboid__side:nth-of-type(2) {
height: 100%;
width: calc(var(--thickness) * 1vmin);
position: absolute;
top: 50%;
right: 0;
transform: translate(50%, -50%) rotateY(90deg);
}
.cuboid__side:nth-of-type(3) {
width: 100%;
height: calc(var(--thickness) * 1vmin);
position: absolute;
bottom: 0;
transform: translate(0%, 50%) rotateX(90deg);
}
.cuboid__side:nth-of-type(4) {
height: 100%;
width: calc(var(--thickness) * 1vmin);
position: absolute;
left: 0;
top: 50%;
transform: translate(-50%, -50%) rotateY(90deg);
}
.cuboid__side:nth-of-type(5) {
height: 100%;
width: 100%;
transform: translate3d(0, 0, calc(var(--thickness) * 0.5vmin));
position: absolute;
top: 0;
left: 0;
}
.cuboid__side:nth-of-type(6) {
height: 100%;
width: 100%;
transform: translate3d(0, 0, calc(var(--thickness) * -0.5vmin)) rotateY(180deg);
position: absolute;
top: 0;
left: 0;
}
body {
background-color: var(--bg);
min-height: 100vh;
display: grid;
place-items: center;
}
.wardrobe {
-webkit-animation: spin 10s infinite linear;
animation: spin 10s infinite linear;
height: calc(var(--height) * 1vmin);
width: calc(var(--width) * 1vmin);
transform: translate3d(-50%, -50%, 50vmin) rotateX(calc(var(--rx) * 1deg)) rotateY(calc(var(--ry) * 1deg));
position: absolute;
top: 50%;
left: 50%;
}
.wardrobe__panel {
position: absolute;
}
.wardrobe__panel--top,
.wardrobe__panel--bottom {
height: calc(var(--depth) * 1vmin);
width: calc((var(--width) + 1) * 1vmin);
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0