您好,登录后才能下订单哦!
这篇文章主要介绍了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;">←</a>
<ahref="#"onclick="rollRight(document.getElementById('rotator'));returnfalse;">→</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怎么实现图片的旋转”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。