web实训,实现3d盒子翻转和音乐播放器

首先先放上效果图(就一个截图,没办法诠释盒子的翻转):
在这里插入图片描述
接下来是结构,img放你喜欢的歌星的图片,music放mp3文件:
在这里插入图片描述
3d.html代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			*{margin: 0;padding: 0;}
			#box{
				margin: auto auto;
				width: 300px;
				height: 300px;
				background: green;
				position: fixed;/* 固定定位 */
				top: 0;left: 0;right: 0;bottom: 0;
				/* 3d转换 */
				transform-style: preserve-3d;
				transform: rotateX(20deg) rotateY(20deg);
				/* 调用c3动画属性 */
				animation: suibian 10s linear infinite 2s;/* 第三个元素不写就是逐张,第四个默认一次,第五个延迟执行 */
			}
			#box>img{
				position: absolute;/* 绝对定位根据有定位属性的父元素进行定位,若父元素没有定位属性则根据body进行定位,层级发生改变,原有位置不保留  */
				width: 100%;height: 100%;/* 100%也是继承,父亲有多少就继承多少 */
				background: black;
			}
			/* 子节点查找 伪类选择器*/
			#box img:nth-child(1){/* 前 */
				transform: translateZ(150px);/* 向Z轴平移2分之一 */
			}
			#box img:nth-child(2){/* 后 */
				transform: rotateX(-180deg) translateZ(150px);
			}
			#box img:nth-child(3){/* 左侧 */
				transform: rotateY(-90deg) translateZ(150px);
			}
			#box img:nth-child(4){/* 右侧 */
				transform: rotateY(90deg) translateZ(150px);
			}
			#box img:nth-child(5){/* 上 */
				transform: rotateX(-90deg) translateZ(150px);
			}
			#box img:nth-child(6){/* 下侧 */
				transform: rotateX(90deg) translateZ(150px);
			}
			/* 定义c3动画 */
			@keyframes suibian{
				from{}
				to{transform: rotateX(380deg) rotateY(740deg);}
			}
		</style>
	</head>
	<body>
		<marquee><!-- 让里面的文本自动滚屏 -->
			<h1 id="mn">点击图片播放音乐</h1>
			
		</marquee>
		<div id="box">
			<!-- img[src="img/$.png"]*6 -->
			<img name="music/1.mp3" src="img/1.png" alt="">
			<img name="music/2.mp3" src="img/2.png" alt="">
			<img name="music/3.mp3" src="img/3.png" alt="">
			<img name="music/4.mp3" src="img/4.png" alt="">
			<img name="music/5.mp3" src="img/5.png" alt="">
			<img name="music/6.mp3" src="img/6.png" alt="">
		</div>
		<!-- // audio音频 -->
		<audio id="music" autoplay="autoplay" src=""></audio><!-- autoplay自动播放 -->
	</body>
	<script type="text/javascript">
		var img = document.getElementById('box').children;
		var music = document.getElementById('music');
			var mn = document.getElementById('mn');
			for(let i=0;i<img.length;i++)
		{
			img[i].onclick = function(){
				music.src = this.name;
				mn.innerText = this.name.substring(this.name.indexOf("/")+1);
			}
		}
		
	</script>
</html>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值