css实现挂上画的360度三维vr房间交互效果代码

代码语言:html

所属分类:三维

代码描述:css实现挂上画的360度三维vr房间交互效果代码

代码标签: css 360 三维 房间 vr

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

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

<head>
    <meta charset="UTF-8">
   
<style>
img {
	width:100%;
	position:static
}
.pointer {
	cursor:pointer
}
input {
	display:none
}
html {
	font-size:.5vw;
	width:100%;
	height:100%;
	font-family:"Trebuchet MS","Lucida Sans Unicode","Lucida Grande","Lucida Sans",Arial,sans-serif
}
body {
	perspective:50rem;
	overflow:hidden;
	width:100%;
	height:100%;
	margin:0;
	background:#000;
	display:flex;
	flex-wrap:wrap
}
body *,body *:before,body *:after {
	transform-style:preserve-3d;
	box-sizing:border-box;
	position:absolute;
	content:"";
	left:0;
	top:0;
	outline:0
}
#wall4:checked ~ label:not([for=lightswitch]) {
	width:calc(100% / 13);
	height:calc(100% / 3);
	position:relative;
	z-index:1;
	border:0;
	background:0;
	padding:0;
	margin:0;
	display:inline
}
#wall4:checked ~ label:not([for=lightswitch]) label,#wall4:checked ~ label:not([for=lightswitch]) a {
	display:block;
	width:100%;
	height:100%;
	transition:.1s .5s linear
}
#wall4:checked ~ label:nth-of-type(1):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(1):focus ~ z>x>y {
	transform:rotateY(-240deg)
}
#wall4:checked ~ label:nth-of-type(1):hover ~ z>x,#wall4:checked ~ label:nth-of-type(1):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(2):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(2):focus ~ z>x>y {
	transform:rotateY(-230deg)
}
#wall4:checked ~ label:nth-of-type(2):hover ~ z>x,#wall4:checked ~ label:nth-of-type(2):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(3):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(3):focus ~ z>x>y {
	transform:rotateY(-220deg)
}
#wall4:checked ~ label:nth-of-type(3):hover ~ z>x,#wall4:checked ~ label:nth-of-type(3):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(4):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(4):focus ~ z>x>y {
	transform:rotateY(-210deg)
}
#wall4:checked ~ label:nth-of-type(4):hover ~ z>x,#wall4:checked ~ label:nth-of-type(4):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(5):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(5):focus ~ z>x>y {
	transform:rotateY(-200deg)
}
#wall4:checked ~ label:nth-of-type(5):hover ~ z>x,#wall4:checked ~ label:nth-of-type(5):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(6):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(6):focus ~ z>x>y {
	transform:rotateY(-190deg)
}
#wall4:checked ~ label:nth-of-type(6):hover ~ z>x,#wall4:checked ~ label:nth-of-type(6):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(7):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(7):focus ~ z>x>y {
	transform:rotateY(-180deg)
}
#wall4:checked ~ label:nth-of-type(7):hover ~ z>x,#wall4:checked ~ label:nth-of-type(7):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(8):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(8):focus ~ z>x>y {
	transform:rotateY(-170deg)
}
#wall4:checked ~ label:nth-of-type(8):hover ~ z>x,#wall4:checked ~ label:nth-of-type(8):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(9):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(9):focus ~ z>x>y {
	transform:rotateY(-160deg)
}
#wall4:checked ~ label:nth-of-type(9):hover ~ z>x,#wall4:checked ~ label:nth-of-type(9):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(10):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(10):focus ~ z>x>y {
	transform:rotateY(-150deg)
}
#wall4:checked ~ label:nth-of-type(10):hover ~ z>x,#wall4:checked ~ label:nth-of-type(10):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(11):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(11):focus ~ z>x>y {
	transform:rotateY(-140deg)
}
#wall4:checked ~ label:nth-of-type(11):hover ~ z>x,#wall4:checked ~ label:nth-of-type(11):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(12):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(12):focus ~ z>x>y {
	transform:rotateY(-130deg)
}
#wall4:checked ~ label:nth-of-type(12):hover ~ z>x,#wall4:checked ~ label:nth-of-type(12):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(13):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(13):focus ~ z>x>y {
	transform:rotateY(-120deg)
}
#wall4:checked ~ label:nth-of-type(13):hover ~ z>x,#wall4:checked ~ label:nth-of-type(13):focus ~ z>x {
	transform:rotateX(10deg)
}
#wall4:checked ~ label:nth-of-type(14):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(14):focus ~ z>x>y {
	transform:rotateY(-240deg)
}
#wall4:checked ~ label:nth-of-type(15):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(15):focus ~ z>x>y {
	transform:rotateY(-230deg)
}
#wall4:checked ~ label:nth-of-type(16):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(16):focus ~ z>x>y {
	transform:rotateY(-220deg)
}
#wall4:checked ~ label:nth-of-type(17):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(17):focus ~ z>x>y {
	transform:rotateY(-210deg)
}
#wall4:checked ~ label:nth-of-type(18):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(18):focus ~ z>x>y {
	transform:rotateY(-200deg)
}
#wall4:checked ~ label:nth-of-type(19):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(19):focus ~ z>x>y {
	transform:rotateY(-190deg)
}
#wall4:checked ~ label:nth-of-type(20):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(20):focus ~ z>x>y {
	transform:rotateY(-180deg)
}
#wall4:checked ~ label:nth-of-type(21):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(21):focus ~ z>x>y {
	transform:rotateY(-170deg)
}
#wall4:checked ~ label:nth-of-type(22):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(22):focus ~ z>x>y {
	transform:rotateY(-160deg)
}
#wall4:checked ~ label:nth-of-type(23):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(23):focus ~ z>x>y {
	transform:rotateY(-150deg)
}
#wall4:checked ~ label:nth-of-type(24):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(24):focus ~ z>x>y {
	transform:rotateY(-140deg)
}
#wall4:checked ~ label:nth-of-type(25):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(25):focus ~ z>x>y {
	transform:rotateY(-130deg)
}
#wall4:checked ~ label:nth-of-type(26):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(26):focus ~ z>x>y {
	transform:rotateY(-120deg)
}
#wall4:checked ~ label:nth-of-type(27):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(27):focus ~ z>x>y {
	transform:rotateY(-240deg)
}
#wall4:checked ~ label:nth-of-type(27):hover ~ z>x,#wall4:checked ~ label:nth-of-type(27):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(28):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(28):focus ~ z>x>y {
	transform:rotateY(-230deg)
}
#wall4:checked ~ label:nth-of-type(28):hover ~ z>x,#wall4:checked ~ label:nth-of-type(28):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(29):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(29):focus ~ z>x>y {
	transform:rotateY(-220deg)
}
#wall4:checked ~ label:nth-of-type(29):hover ~ z>x,#wall4:checked ~ label:nth-of-type(29):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(30):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(30):focus ~ z>x>y {
	transform:rotateY(-210deg)
}
#wall4:checked ~ label:nth-of-type(30):hover ~ z>x,#wall4:checked ~ label:nth-of-type(30):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(31):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(31):focus ~ z>x>y {
	transform:rotateY(-200deg)
}
#wall4:checked ~ label:nth-of-type(31):hover ~ z>x,#wall4:checked ~ label:nth-of-type(31):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(32):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(32):focus ~ z>x>y {
	transform:rotateY(-190deg)
}
#wall4:checked ~ label:nth-of-type(32):hover ~ z>x,#wall4:checked ~ label:nth-of-type(32):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(33):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(33):focus ~ z>x>y {
	transform:rotateY(-180deg)
}
#wall4:checked ~ label:nth-of-type(33):hover ~ z>x,#wall4:checked ~ label:nth-of-type(33):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(34):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(34):focus ~ z>x>y {
	transform:rotateY(-170deg)
}
#wall4:checked ~ label:nth-of-type(34):hover ~ z>x,#wall4:checked ~ label:nth-of-type(34):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(35):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(35):focus ~ z>x>y {
	transform:rotateY(-160deg)
}
#wall4:checked ~ label:nth-of-type(35):hover ~ z>x,#wall4:checked ~ label:nth-of-type(35):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(36):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(36):focus ~ z>x>y {
	transform:rotateY(-150deg)
}
#wall4:checked ~ label:nth-of-type(36):hover ~ z>x,#wall4:checked ~ label:nth-of-type(36):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(37):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(37):focus ~ z>x>y {
	transform:rotateY(-140deg)
}
#wall4:checked ~ label:nth-of-type(37):hover ~ z>x,#wall4:checked ~ label:nth-of-type(37):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(38):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(38):focus ~ z>x>y {
	transform:rotateY(-130deg)
}
#wall4:checked ~ label:nth-of-type(38):hover ~ z>x,#wall4:checked ~ label:nth-of-type(38):focus ~ z>x {
	transform:rotateX(-10deg)
}
#wall4:checked ~ label:nth-of-type(39):hover ~ z>x>y,#wall4:checked ~ label:nth-of-type(39):focus ~ z>x>y {
	transform:rotateY(-120deg)
}
#wall4:checked ~ label:nth-of-type(39):hover ~ z>x,#wall4:checked ~ label:nth-of-type(39):focus ~ z>x {
	transform:rotateX(-10deg)
}
x,y,z {
	position:absolute;
	top:-50rem;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	width:1rem;
	height:1rem;
	transition:.5s ease-in-out
}
floor,floor:before,floor:after,ceiling,ceiling:before,ceiling:after {
	width:300rem;
	height:300rem;
	box-shadow:0 0 1rem #110e12
}
floor {
	height:400rem;
	transform:rotateX(90deg) translate3d(-150rem,-50rem,0rem);
	box-shadow:0 0 1rem #110e12,inset 0 0 10rem 0 rgba(17,14,18,0.75);
	background:linear-gradient(#000,rgba(255,255,255,0),rgba(255,255,255,0)),repeating-linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,0) 12rem,rgba(17,14,18,0.5) 12.5rem),radial-gradient(#d9996b,#361f0e)
}
floor:before,floor:after {
	background:radial-gradient(circle at center top,#7f95a8,#110e12)
}
floor:before {
	transform:rotateY(90deg) translate3d(-150rem,100rem,-150rem)
}
floor:after {
	transform:rotateY(-90deg) translate3d(150rem,100rem,-150rem)
}
ceiling {
	transform:rotateX(-90deg) translate3d(-150rem,0,-200rem);
	box-shadow:0 0 1rem #7f95a8,inset 0 0 10rem 0 rgba(17,14,18,0.2);
	background:radial-gradient(#fff,#7f95a8)
}
ceiling:before {
	display:none
}
ceiling:after {
	transform:rotateX(90deg) translate3d(0,150rem,150rem);
	background:radial-gradient(circle at center top,#7f95a8,#110e12)
}
wall1 painting,wall2 painting,wall3 painting {
	width:120rem;
	height:156rem;
	border:2rem solid #d9996b;
	border-top-color:#221309;
	border-left-color:#361f0e;
	border-right-color:#4a2b13;
	transform:rotateY(-90deg) translate3d(0,-17rem,-89rem);
	background:#110e12;
	box-shadow:0 5rem 2rem -2rem rgba(17,14,18,0.5),inset 0 0 10rem #000;
	border-radius:2rem;
	padding:1rem
}
wall1 painting p,wall2 painting p,wall3 painting p {
	color:#fff;
	top:96%;
	left:50rem;
	font-size:8rem;
	transform:translate3d(0,5rem,0) scaleY(0);
	width:130rem;
	width:0;
	text-shadow:5rem 5rem 2rem #110e12;
	transform-origin:-62rem 0;
	transition:.5s ease-in-out;
	line-height:1.05em;
	word-wrap:break-word
}
wall1 painting p:before,wall2 painting p:before,wall3 painting p:before {
	width:52rem;
	height:22rem;
	border-right:.5rem solid #fff;
	border-top:.5rem solid #fff;
	transform:translate3d(-56rem,0rem,0);
	box-shadow:2rem 0 1rem -1rem rgba(17,14,18,0.5),inset 0 2rem 1rem -1rem rgba(17,14,18,0.5)
}
wall1 painting p:after,wall2 painting p:after,wall3 painting p:after {
	width:6rem;
	height:50rem;
	border-left:.5rem solid #fff;
	border-right:.5rem solid #fff;
	transform:skewY(45deg) translate3d(-62rem,9.5rem,0);
	box-shadow:2rem 0 1rem -1rem rgba(17,14,18,0.5),inset 2rem 0 1rem -1rem rgba(17,14,18,0.5)
}
wall1 painting p *,wall2 painting p *,wall3 painting p * {
	position:relative;
	content:normal
}
wall2 painting {
	width:200rem;
	height:126rem;
	transform:translate3d(-100rem,0,148rem) scaleX(-1)
}
wall3 painting {
	width:110rem;
	height:144rem;
	transform:rotateY(90deg) translate3d(0,-17rem,-200rem)
}
wall4 {
	transform:translate3d(-150rem,-50rem,-150rem);
	background:radial-gradient(circle at 60% 80%,rgba(255,255,255,0),rgba(17,14,18,0.5)),linear-gradient(to right,rgba(17,14,18,0.5),rgba(255,255,255,0),rgba(255,255,255,0),rgba(17,14,18,0.5));
	box-shadow:0 0 1rem #110e12;
	width:300rem;
	height:250rem
}
wall4:before,wall4 door {
	width:86rem;
	height:224rem;
	border-radius:1rem;
	box-shadow:0 0 0 150rem #7f95a8;
	left:-10rem;
	right:-10rem;
	margin:auto;
	top:60rem;
	transform:translate3d(0,0,-1rem)
}
wall4:after {
	width:10rem;
	height:224rem;
	background:linear-gradient(#110e12,#9daebd,#637c91);
	transform:translate3d(183rem,65rem,-4.5rem) rotateY(90deg)
}
wall4 door {
	border:5rem ridge rgba(157,174,189,0.65);
	box-shadow:1rem .5rem 1rem rgba(17,14,18,0.5),0 0 1rem .5rem rgba(17,14,18,0.5),0 0 10rem rgba(17,14,18,0.2);
	transform:translate3d(0,0,0.5rem)
}
wall4 door:before,wall4 door:after {
	transform:translate3d(0,0,-1rem) rotateY(10deg);
	transform-origin:0 0;
	border-radius:1rem
}
wall4 door:before {
	width:100%;
	height:185rem;
	background:radial-gradient(circle at top left,rgba(188,199,209,0.2),#9daebd) #9daebd;
	box-shadow:inset 0 0 1.5rem #000,0 0 1.5rem #000,inset 0 0 5rem rgba(0,.........完整代码请登录后点击上方下载按钮下载查看

网友评论0