css实现一个拉开窗帘交互效果代码

代码语言:html

所属分类:动画

代码描述:css实现一个拉开窗帘交互效果代码

代码标签: 拉开 窗帘 交互 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开


<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">
  

  
<style>
* {
  box-sizing: border-box;
  transform-style: preserve-3d;
}
:root {
  --height: 300px;
  --width: calc(0.6 * var(--height));
  --glass: rgba(207,229,252,0.5);
  --shimmer: rgba(255,255,255,0.95);
  --w-1: #546043;
  --w-2: #373c2f;
  --f-1: #251b0e;
  --f-2: #372915;
  --f-3: #5c4424;
  --f-4: #6e522b;
  --i-1: #574638;
  --b-1: #b5bea7;
  --b-2: #6a7557;
  --b-3: #353b2b;
}
body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  justify-content: center;
  overflow: hidden;
  background: rgba(255,230,153,0.5);
}
.cuboid {
  width: 100%;
  height: 100%;
  position: relative;
  pointer-events: none;
}
.cuboid__side {
  pointer-events: none;
}
.cuboid__side:nth-of-type(1) {
  height: calc(var(--thickness) * 1px);
  width: 100%;
  position: absolute;
  top: 0;
  transform: translate(0, -50%) rotateX(90deg);
}
.cuboid__side:nth-of-type(2) {
  height: 100%;
  width: calc(var(--thickness) * 1px);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) rotateY(90deg);
}
.cuboid__side:nth-of-type(3) {
  width: 100%;
  height: calc(var(--thickness) * 1px);
  position: absolute;
  bottom: 0;
  transform: translate(0%, 50%) rotateX(90deg);
}
.cuboid__side:nth-of-type(4) {
  height: 100%;
  width: calc(var(--thickness) * 1px);
  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.5px));
  position: absolute;
  top: 0;
  left: 0;
}
.cuboid__side:nth-of-type(6) {
  height: 100%;
  width: 100%;
  transform: translate3d(0, 0, calc(var(--thickness) * -0.5px)) rotateY(180deg);
  position: absolute;
  top: 0;
  left: 0;
}
.scene {
  transform: rotateX(-24deg) rotateY(32deg);
}
.window {
  height: var(--height);
  width: var(--width);
  background: linear-gradient(var(--i-1), var(--i-1)) 0 0/100% 5% no-repeat, linear-gradient(var(--i-1), var(--i-1)) 0 0/5% 100% no-repeat, linear-gradient(var(--i-1), var(--i-1)) 100% 0/5% 100% no-repeat, linear-gradient(var(--i-1), var(--i-1)) 0 100%/100% 5% no-repeat, linear-gradient(var(--i-1), var(--i-1)) 0 64%/100% 8% no-repeat, linear-gradient(130deg, transparent 0 15%, var(--shimmer) 16% 35%, transparent 36% 40%, var(--shimmer) 41% 44%, transparent 45%), var(--glass);
  position: relative;
}
.window__cord {
  height: 94%;
  width: 2%;
  background: #fafafa;
  right: 10%;
  position: absolute;
  top: 0;
  transform: translate3d(0, 0, 20px);
}
.window__cord--back {
  height: 94%;
  width: 2%;
  background: #e0e0e0;
  right: 12%;
  position: absolute;
  top: 0;
  transform: translate3d(0, 0, 18px);
}
.frame {
  position: absolute;
}
.frame--top {
  width: 130%;
  height: 5%;
  bottom: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}
.frame--left {
  width: 10%;
  height: 100%;
  right: 100%;
  top: 0;
}
.frame--right {
  width: 10%;
  height: 100%;
  left: 100%;
  top: 0;
}
.frame--bottom {
  width: 120%;
  height: 10%;
  left: 50%;
  top: 105%.........完整代码请登录后点击上方下载按钮下载查看

网友评论0