温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

css怎么实现图片的旋转

发布时间:2022-03-05 09:43:37 来源:亿速云 阅读:240 作者:小新 栏目:web开发

这篇文章主要介绍了css怎么实现图片的旋转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

  1、构建图像轮播框架

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

  <divid="stage">

  <divid="rotator"><ahref="snow1.jpg"><imgsrc="snow1.jpg"width="140"></a><ahref="snow2.jpg"><imgsrc="snow2.jpg"width="140"></a><ahref="snow3.jpg"><imgsrc="snow3.jpg"width="140"></a><ahref="snow4.jpg"><imgsrc="snow4.jpg"width="140"></a><ahref="snow5.jpg"><imgsrc="snow5.jpg"width="140"></a><ahref="snow6.jpg"><imgsrc="snow6.jpg"width="140"></a><ahref="snow7.jpg"><imgsrc="snow7.jpg"width="140"></a><ahref="snow8.jpg"><imgsrc="snow8.jpg"width="140"></a></div>

  </div>

  <pid="controls"><ahref="#"onclick="rollLeft(document.getElementById('rotator'));returnfalse;">&larr;</a>

  <ahref="#"onclick="rollRight(document.getElementById('rotator'));returnfalse;">&rarr;</a></p>

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

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

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

  #stage{

  margin:1emauto;

  height:120px;

  }

  #rotator{

  position:absolute;

  white-space:nowrap;

  -webkit-perspective:1200px;

  -moz-perspective:1200px;

  }

  #rotatoraimg{

  position:relative;

  padding:10px;

  border:1pxsolid#ccc;

  vertical-align:middle;

  }

  #rotatora:nth-child(1)img{

  -webkit-transform-origin:100%50%0;

  -webkit-transform:rotateY(-60deg);

  -moz-transform-origin:100%50%0;

  -moz-transform:rotateY(-60deg);

  }

  #rotatora:nth-child(2)img{

  -webkit-transform-origin:050%0;

  -webkit-transform:rotateY(-30deg);

  -moz-transform-origin:050%0;

  -moz-transform:rotateY(-30deg);

  }

  #rotatora:nth-child(3)img{

  -webkit-transform:translateZ(220px);

  -moz-transform:translateZ(220px);

  }

  #rotatora:nth-child(4)img{

  -webkit-transform-origin:100%50%0;

  -webkit-transform:rotateY(30deg);

  -moz-transform-origin:100%50%0;

  -moz-transform:rotateY(30deg);

  }

  #rotatora:nth-child(5)img{

  -webkit-transform-origin:050%0;

  -webkit-transform:rotateY(60deg);

  -moz-transform-origin:050%0;

  -moz-transform:rotateY(60deg);

  }

  #rotatora:nth-child(n+6){

  display:none;

  }

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

  3、旋转照片

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

  <scripttype="text/javascript">

  functionrollRight(el)

  {

  el.insertBefore(el.lastChild,el.firstChild);

  }

  functionrollLeft(el)

  {

  el.appendChild(el.firstChild);

  }

  </script>

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

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

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

感谢你能够认真阅读完这篇文章,希望小编分享的“css怎么实现图片的旋转”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI