js+div+css实现鼠标滚动立体长廊走廊回顾画册相册滚动预览效果代码
代码语言:html
所属分类:画廊相册
代码描述:js+div+css实现鼠标滚动立体长廊走廊回顾画册相册滚动预览效果代码
代码标签: js div css 鼠标 滚动 立体 长廊 走廊 回顾 画册 相册 滚动 预览
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap);
body,
.container {
transform: translate3d(0, 0, 0); /* Force GPU acceleration */
will-change: transform;
}
body {
margin: 0;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: black;
overflow: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
--width: 500px;
--height: 500px;
--variable-length: 65000px;
--length: 65000px;
--half-length: calc(var(--length) / 2);
}
/* Controls */
.controls {
margin-bottom: 20px;
color: white;
font-family: "Bebas Neue", sans-serif;
font-size: 1.5rem;
display: flex;
flex-direction: column;
align-items: center;
position: absolute;
z-index: 999;
top: 50px;
}
.range-slider {
width: 300px;
}
/* Cube container */
.container {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
transform: scale(1);
transform-origin: center;
}
.cube {
perspective: 800px;
perspective-origin: 50% 50%;
position: relative;
width: var(--width);
height: var(--height);
transform-style: preserve-3d;
transition: transform 0.3s ease-out;
backface-visibility: hidden;
-webkit-backface-visibility: hidden; /* For compatibility */
will-change: transform;
}
.face {
position: absolute;
width: var(--width);
height: var(--height);
background: rgba(255, 255, 255, 1);
border: none;
display: flex;
align-items: center;
font-family: "Bebas Neue", sans-serif;
color: black;
will-change: transform;
}
.front {
transform: translateZ(calc(var(--length) - var(--variable-length)));
background-size: 500px;
background-blend-mode: difference;
}
.front.main {
transform: translateZ(calc(var(--length) - var(--variable-length)));
background-size: 500px;
background-color: rgba(255, 255, 255, 0.9);
opacity: 1; /* Initial state */
transition: opacity 5s ease-in-out; /* Smooth transition */
display: flex;
align-items: center;
justify-content: center;
}
.front.main.hidden {
opacity: 0.6; /* Final state */
}
.back {
transform: translateZ(calc(-1 * var(--variable-length))) rotateY(180deg)
scale(-1, 1);
background: rgb(17, 17, 17);
background: linear-gradient(
0deg,
rgba(17, 17, 17, 1) 0%,
rgba(28, 28, 28, 1) 33%,
rgba(99, 99, 99, 1) 94%,
rgba(255, 255, 255, 1) 100%
);
display: flex;
justify-content: center;
align-items: center;
}
.back .frame {
position: unset;
}
.left {
transform: translateZ(calc(var(--half-length) - var(--variable-length)))
translateX(calc(-1 * var(--half-length))) rotateY(-90deg) scale(-1, 1);
background: rgba(255, 255, 255, 1);
width: var(--length);
background: rgb(17, 17, 17);
background: linear-gradient(
0deg,
rgba(17, 17, 17, 1) 0%,
rgba(28, 28, 28, 1) 33%,
rgba(99, 99, 99, 1) 94%,
rgba(255, 255, 255, 1) 100%
);
}
.right {
transform: translateZ(calc(var(--half-length) - var(--variable-length)))
translateX(calc(-1 * (var(--half-length) - var(--width)))) rotateY(90deg)
scale(-1, 1);
background: rgba(255, 255, 0, 1);
width: var(--length);
background: rgb(17, 17, 17);
background: linear-gradient(
0deg,
rgba(17, 17, 17, 1) 0%,
rgba(28, 28, 28, 1) 33%,
rgba(99, 99, 99, 1) 94%,
rgba(255, 255, 255, 1) 100%
);
}
.top {
transform: translateZ(calc(var(--half-length) - var(--variable-length)))
translateY(calc(-1 * var(--half-length))) rotateX(90deg) scale(1, -1);
background: #1c1c1c;
height: var(--length);
}
.bottom {
transform: translateZ(calc(var(--half-length) - var(--variable-length)))
translateY(calc(-1 * (var(--half-length) - var(--height)))) rotateX(-90deg)
scale(1, -1);
background: url("//repo.bfw.wiki/bfwrepo/image/67681c202b3b8.png");
background-size: 200px contain;
height: var(--length);
image-rendering: auto; /* Ensure smooth scaling */
will-change: transform; /* Optimize rendering for motion */
}
p {
font-size: 7em;
transform: translateZ(0);
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
position: absolute;
}
.left p {
line-height: 1;
color: white;
}
.title {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 2em;
color: white;
background: none;
margin-top: 20%;
}
.title p {
font-size: 3em;
text-align: center;
line-height: 0.7;
}
.face img {
image-rendering: auto; /* Ensure smooth scaling */
transform: translateZ(0); /* Trigger higher-quality rendering */
will-change: transform; /* Optimize rendering for motion */
backface-visibility: visible; /* Reduce rendering artifacts */
-webkit-backface-visibility: visible; /* For compatibility */
}
img.left-align {
object-position: left;
}
img.right-align {
object-position: right;
}
img.top-align {
object-position: top;
}
img.bottom-align {
object-position: bottom;
}
.cube,
.face,
.frame,
p {
transform-style: preserve-3d; /* Ensure proper 3D rendering */
will-change: transform; /* Optimize for dynamic changes */
}
.archean {
transform: translateZ(calc((var(--length) * 0.99) - var(--variable-length)));
}
.cambrian {
transform: translateZ(
calc((var(--length) * 0.83076) - var(--variable-length))
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0