分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

纯CSS实现3D照片墙

发布时间:2023-09-06 02:24责任编辑:彭小芳关键词:CSS

HTML部分:

<body> ???<div class="photo-wrap"> ?<!-- 舞台 --> ?????<div class="container"> ??<!-- 容器 --> ?????????<div class="img">我是中心</div> ?????????<div class="img img01"><img src="images/blog1.jpg" alt=""></div> ?????????<div class="img img02"><img src="images/blog2.jpg" alt=""></div> ?????????<div class="img img03"><img src="images/blog3.jpg" alt=""></div> ?????????<div class="img img04"><img src="images/blog4.jpg" alt=""></div> ?????????<div class="img img05"><img src="images/blog1.jpg" alt=""></div> ?????????<div class="img img06"><img src="images/blog2.jpg" alt=""></div> ?????????<div class="img img07"><img src="images/blog3.jpg" alt=""></div> ?????????<div class="img img08"><img src="images/blog4.jpg" alt=""></div> ?????????<div class="img img09"><img src="images/blog1.jpg" alt=""></div> ?????</div> ?</div></body>

CSS部分:

 @keyframes rotate-frame { ???????0% { ???????????transform: rotateX(-20deg) rotateY(0deg); ???????} ???????10% { ???????????transform: rotateX(-20deg) rotateY(36deg); ???????} ???????20% { ???????????transform: rotateX(-20deg) rotateY(72deg); ???????} ???????30% { ???????????transform: rotateX(-20deg) rotateY(108deg); ???????} ???????40% { ???????????transform: rotateX(-20deg) rotateY(144deg); ???????} ???????50% { ???????????transform: rotateX(-20deg) rotateY(180deg); ???????} ???????60% { ???????????transform: rotateX(-20deg) rotateY(216deg); ???????} ???????70% { ???????????transform: rotateX(-20deg) rotateY(252deg); ???????} ???????80% { ???????????transform: rotateX(-20deg) rotateY(288deg); ???????} ???????90% { ???????????transform: rotateX(-20deg) rotateY(324deg); ???????} ???????100% { ???????????transform: rotateX(-20deg) rotateY(360deg); ???????} ?????} ?????body { ?????????background: #f9f9f9; ?????} ?????img{ ?????????width:100%; ?????????height: 100%; ?????} ?????.photo-wrap { ?????????perspective: 800px; ?????????width: 800px; ?????} ?????.container { ?????????width: 800px; ?????????height: 500px; ?????????margin: 0 auto; ?????????position: relative; ?????????transform-style: preserve-3d; ?????????transform:rotateX(-10deg); ??????????animation: rotate-frame 10s linear infinite; ?????} ?????.img { ?????????width: 200px; ?????????height: 118px; ?????????line-height: 118px; ?????????text-align: center; ?????????position: absolute; ?????????top: 160px; ?????????left: 300px; ?????????box-shadow: 0 0 20px rgba(0, 0, 0, 0.9) inset;
      /*倒影的实现 第二个属性值为offset属性值定义图片和倒影影像之间的间距,第三个为给倒影增加消影效果*/ ?????????-webkit-box-reflect:below 3px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,0.5)); ?????????background: pink; ?????????background:-moz-linear-gradient(top, pink, rgba(0, 0, 255, 0.5)); ?????????background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ccccff), to(rgba(174, 221, 129, 0.5))); ?????????background:-o-linear-gradient(top, pink, rgba(0, 0, 255, 0.5)); ?????????transform: rotateY(0deg); ?????} ?????.img01 { ?????????transform: rotateY(0deg) translateZ(300px); ?????} ?????.img02 { ?????????transform: rotateY(40deg) translateZ(300px); ?????} ?????.img03 { ?????????transform: rotateY(80deg) translateZ(300px); ?????} ?????.img04 { ?????????transform: rotateY(120deg) translateZ(300px); ?????} ?????.img05 { ?????????transform: rotateY(160deg) translateZ(300px); ?????} ?????.img06 { ?????????transform: rotateY(200deg) translateZ(300px); ?????} ?????.img07 { ?????????transform: rotateY(240deg) translateZ(300px); ?????} ?????.img08 { ?????????transform: rotateY(280deg) translateZ(300px); ?????} ?????.img09 { ?????????transform: rotateY(320deg) translateZ(300px); ?????}

效果如下(倒影的实现方法已在CSS部分用蓝色标记出来):

纯CSS实现3D照片墙

原文地址:https://www.cnblogs.com/web12/p/10023315.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved