這個教程系列探索僅使用HTML和CSS創建動態圖像滑塊。 無論圖像計數如何,我們都將通過一致的標記和各種CSS樣式來證明如何實現多樣的結果。 先前的分期付款具有無限旋轉的滑塊和翻轉的寶麗來式滑塊。本期將研究成三維滑塊。 雖然最初複雜,但許多代碼都基於以前的示例進行修改。 該系列的新來者應審查基礎背景的早期文章。
> CSS滑塊系列摘要>
了解圖像佈置>現在我們已經看到了圖像佈置了,讓我們檢查代碼。
>基本結構
> CSS網格用於堆疊圖像:
<div> <img alt="" src=""><img alt="" src=""><img alt="" src=""><img alt="" src=""><img alt="" src=""> </div>
>動畫實現
.gallery { display: grid; } .gallery > img { grid-area: 1 / 1; width: 160px; aspect-ratio: 1; object-fit: cover; }
。 此3D滑塊用於3D定位,然後旋轉容器。
SASS用於通過圖像循環並應用轉換:transform-origin
animation-delay
transform
屬性使用三個值:
圖像的初始旋轉。 角度取決於圖像計數(n),增加了360度/n。
@for $i from 1 to ($n + 1) { .gallery > img:nth-child(#{$i}) { transform: rotate(#{360*($i - 1) / $n}deg) /* 1 */ translateY(50% / math.tan(180deg / $n)) /* 2 */ rotateX(90deg); /* 3 */ } }
>
transform
圍繞X軸(90度)旋轉以進行所需的佈置。
然後,本文探討了變化:垂直滑塊(通過在鍵框和圖像轉換中更改為 來實現)和一個立方體滑塊(使用六個圖像和特定旋轉,每張臉部)。 立方體滑塊的動畫更為複雜,需要在多個軸上仔細編排旋轉。還提出了隨機的立方體滑塊變化,引入了非序列旋轉,從而產生更不可預測的效果。 >教程結束時,通過突出CSS在使用最小HTML和JavaScript創建複雜動畫方面的力量。 該系列展示了CSS用於構建交互式和視覺吸引力的元素的多功能性。rotate()
rotateX()
結論
以上是CSS無限3D滑塊的詳細內容。更多資訊請關注PHP中文網其他相關文章!