您好,登錄后才能下訂單哦!
css實現圖片旋轉展示效果的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
1、構建圖像輪播框架
首先是HTML。它有點難以閱讀,因為我們刪除了元素之間的任何空格或回車。這樣我們就可以使用JavaScript更輕松地引用不同的圖像 - 空格或行在某些瀏覽器中創建新節點。
<div id="stage"> <div id="rotator"><a href="snow1.jpg"><img src="snow1.jpg" width="140"></a><a href="snow2.jpg"><img src="snow2.jpg" width="140"></a><a href="snow3.jpg"><img src="snow3.jpg" width="140"></a><a href="snow4.jpg"><img src="snow4.jpg" width="140"></a><a href="snow5.jpg"><img src="snow5.jpg" width="140"></a><a href="snow6.jpg"><img src="snow6.jpg" width="140"></a><a href="snow7.jpg"><img src="snow7.jpg" width="140"></a><a href="snow8.jpg"><img src="snow8.jpg" width="140"></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實現圖片旋轉展示效果的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。