首页 > web前端 > css教程 > 正文

css如何实现图片的旋转展示效果(代码示例)

青灯夜游
发布: 2018-11-07 17:25:07
原创
4418人浏览过

本篇文章给大家带来内容是通过代码示例介绍使用css+js实现图片的旋转展示,制作一个手动操作的“无限”照片轮播图。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

下面我们就开始介绍如何实现效果。

1、构建图像轮播框架

首先是HTML。它有点难以阅读,因为我们删除了元素之间的任何空格或回车。这样我们就可以使用JavaScript更轻松地引用不同的图像 - 空格或行在某些浏览器中创建新节点。

<div id="stage">
<div id="rotator"><a href="snow1.jpg">@@##@@</a><a href="snow2.jpg">@@##@@</a><a href="snow3.jpg">@@##@@</a><a href="snow4.jpg">@@##@@</a><a href="snow5.jpg">@@##@@</a><a href="snow6.jpg">@@##@@</a><a href="snow7.jpg">@@##@@</a><a href="snow8.jpg">@@##@@</a></div>
</div>

<p id="controls"><a href="#" onclick="rollLeft(document.getElementById('rotator')); return false;">←</a>
 <a href="#" onclick="rollRight(document.getElementById('rotator')); return false;">→</a></p>
登录后复制

正如你所看到的,那里没有太多需要解释的地方。画廊包含在DIV中,包括列出的照片/链接,然后是一些带有onclick事件的导航链接。

立即学习前端免费学习笔记(深入)”;

2、在3D空间中布置照片

造型更加复杂。我们在这里做的是将前五张照片塑造成凹形并隐藏任何额外的照片(暂时)。外部照片旋转60度,相邻照片旋转30度。中央照片被抬离页面。

#stage {
    margin: 1em auto;
    height: 120px;
  }
  #rotator {
    position: absolute;
    white-space: nowrap;
    -webkit-perspective: 1200px;
    -moz-perspective: 1200px;
  }
  #rotator a img {
    position: relative;
    padding: 10px;
    border: 1px solid #ccc;
    vertical-align: middle;
  }
  #rotator a:nth-child(1) img {
    -webkit-transform-origin: 100% 50% 0;
    -webkit-transform: rotateY(-60deg);
    -moz-transform-origin: 100% 50% 0;
    -moz-transform: rotateY(-60deg);
  }
  #rotator a:nth-child(2) img {
    -webkit-transform-origin: 0 50% 0;
    -webkit-transform: rotateY(-30deg);
    -moz-transform-origin: 0 50% 0;
    -moz-transform: rotateY(-30deg);
  }
  #rotator a:nth-child(3) img {
    -webkit-transform: translateZ(220px);
    -moz-transform: translateZ(220px);
  }
  #rotator a:nth-child(4) img {
    -webkit-transform-origin: 100% 50% 0;
    -webkit-transform: rotateY(30deg);
    -moz-transform-origin: 100% 50% 0;
    -moz-transform: rotateY(30deg);
  }
  #rotator a:nth-child(5) img {
    -webkit-transform-origin: 0 50% 0;
    -webkit-transform: rotateY(60deg);
    -moz-transform-origin: 0 50% 0;
    -moz-transform: rotateY(60deg);
  }
  #rotator a:nth-child(n+6) {
    display: none;
  }
登录后复制

为了引用单个照片/链接,我们使用了nth-child伪类(如果不清楚,在之前的文章【css伪类之nth-child()示例详解】里有介绍)。在这种情况下,链接(A)是父DIV的子代。如果没有链接,则孩子们将成为IMG元素。 

3、旋转照片

您之前看到的一点JavaScript(onclick)调用以下函数。他们所做的就是从DOM中的照片数组的一端获取一个元素并将其移动到另一端:

<script type="text/javascript">
  function rollRight(el)
  {
    el.insertBefore(el.lastChild, el.firstChild);
  }
  function rollLeft(el)
  {
    el.appendChild(el.firstChild);
  }
</script>
登录后复制

JavaScript代码应该(几乎总是)放在页面的底部。

第一个函数将包含包含最后一个照片/链接(可见或隐藏)的节点,并将其放在第一个照片/链接之前。第二个函数获取第一个照片/链接并将其移动到行的末尾。使用onclick不是最优雅的方法,但现在它就足够了。

随着节点的移动,它们会采用分配给新位置(1,2,3,4,5或6+)的样式,因此我们需要做的就是改变它们的位置而不用担心移动或旋转。

4、效果展示

在这里,您可以看到旋转照片轮播的示例:

css如何实现图片的旋转展示效果(代码示例)

大功告成,大家可以自己动手试试效果!

css如何实现图片的旋转展示效果(代码示例)css如何实现图片的旋转展示效果(代码示例)css如何实现图片的旋转展示效果(代码示例)css如何实现图片的旋转展示效果(代码示例)css如何实现图片的旋转展示效果(代码示例)css如何实现图片的旋转展示效果(代码示例)css如何实现图片的旋转展示效果(代码示例)9.gif

以上就是css如何实现图片的旋转展示效果(代码示例)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号