js+css实现三维3d盒子立方体图片切换选择幻灯片效果代码

代码语言:html

所属分类:幻灯片

代码描述:js+css实现三维3d盒子立方体图片切换选择幻灯片效果代码,点击下面的图片,三维盒子就会旋转切换到选择的图片上。

代码标签: css 幻灯片 立体 三维 3d 立方体 图片

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

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

<head>
    <meta charset="UTF-8">
    <style>
        @import url(https://fonts.googleapis.com/css?family=Montserrat:500);
    
    :root {
    	/* Base font size */
    	font-size: 10px;
    
    	/* Border color variable */
    	--border-color: #e70;
    }
    
    * {
    	box-sizing: border-box;
    }
    
    body {
    	font-family: "Montserrat", Arial, sans-serif;
    	font-weight: 500;
    	line-height: 1.5;
    	text-align: center;
    	min-height: 100vh;
    	padding: 4rem 2rem;
    	color: #fafafa;
    	background-color: #080808;
    }
    
    h1 {
    	font-size: 4rem;
    }
    
    h2 {
    	font-size: 2rem;
    	margin-bottom: 2.5rem;
    }
    
    .cube-container {
    	position: relative;
    	width: 30rem;
    	height: 30rem;
    	margin: 5rem auto 6rem;
    	perspective: 100rem;
    }
    
    .cube {
    	position: absolute;
    	width: 100%;
    	height: 100%;
    	transform-style: preserve-3d;
    	transition: transform 1s cubic-bezier(0.32, 0.05, 0.35, 1.6);
    }
    
    .cube-face-image {
    	display: block;
    	position: absolute;
    	/* opacity: 0.95; */
    	/* border: 0.2rem solid #fafafa; */
    	box-shadow: 0 0 0.5rem #fff, 
    				0 0 1.5rem var(--border-color),
    				0 0 3rem var(--border-color);
    }
    
    .image-buttons {
    	display: grid;
    	grid-template-columns: repeat(3, auto);
    	grid-gap: 1.5rem;
    	justify-content: center;
    }
    
    .image-buttons input {
    	border: 0.2rem solid #fafafa;
    }
    
    .image-buttons input:focus {
    	outline: none;
    	border: 0.2rem solid var(--border-color);
    }
    
    /* Transform images to create cube */
    
    .image-1 {
    	transform: translateZ(15rem);
    }
    
    .image-2 {
    	transform: rotateX(-180deg) translateZ(15rem);
    }
    
    .image-3 {
    	transform: rotateY(90deg) translateZ(15rem);
    }
    
    .image-4 {
    	transform: rotateY(-90deg) translateZ(15rem);
    }
    
    .image-5 {
    	transform: rotateX(90deg) translateZ(15rem);
    }
    
    .image-6 {
    	transform: rotateX(-90deg) translateZ(15rem);
    }
    
    /* Transform cube to show correct image */
    
    .cube.initial-position {
    	transform: translateZ(-15rem) translateY(-2rem) rotateX(-15deg) rotateY(18deg) rotateZ(2deg);
    }
    
    .cube.show-image-1 {
    	transform: translateZ(-15rem);
    }
    
    .cube.show-image-2 {
    	transform: translateZ(-15rem) rotateX(180deg);
    }
    
    .cube.show-image-3 {
    	transform: translateZ(-15rem) rotateY(-90deg);
    }
    
    .cube.show-image-4 {
    	transform: translateZ(-15rem) rotateY(90deg);
    }
    
    .cube.show-image-5 {
    	transform: translateZ(-15rem) rotateX(-90deg);
    }
    
    .cube.show-image-6 {
    	transform: translateZ(-15rem) rotateX(90deg);
    }
    </style>
</head>

<body>

    <div class="cube-container">

        <div class="cube initial-position">

            <img class="cube-face-image image-1" src="//repo.bfw.wiki/bfwrepo/image/5e3240c626ad7.png?x-oss-process=image/auto-orient,1/resize,m_fill,w_300,h_300,/quality,q_90">

            <img class="cube-face-image image-2" src="//repo.bfw.wiki/bfwrepo/image/.........完整代码请登录后点击上方下载按钮下载查看

网友评论0