首頁 > web前端 > css教學 > CSS無限3D滑塊

CSS無限3D滑塊

Lisa Kudrow
發布: 2025-03-09 11:11:09
原創
466 人瀏覽過

CSS Infinite 3D Sliders

這個教程系列探索僅使用HTML和CSS創建動態圖像滑塊。 無論圖像計數如何,我們都將通過一致的標記和各種CSS樣式來證明如何實現多樣的結果。 先前的分期付款具有無限旋轉的滑塊和翻轉的寶麗來式滑塊。本期將研究成三維滑塊。 雖然最初複雜,但許多代碼都基於以前的示例進行修改。 該系列的新來者應審查基礎背景的早期文章。

> CSS滑塊系列摘要

    >圓形旋轉圖像滑塊
  • 翻閱寶麗來圖像
  • >無限3D滑塊(當前文章)
我們的目標是創建一個視覺吸引人的3D滑塊。 乍一看,它類似於旋轉的立方體顯示四個圖像。但是,它實際上利用了戰略性地安排的六張圖像。 從不同的角度查看滑塊可以揭示出這種佈置。

>

了解圖像佈置

>現在我們已經看到了圖像佈置了,讓我們檢查代碼。 >

>基本結構

html與以前的滑塊保持一致:

> 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-delaytransform屬性使用三個值:

>

圖像的初始旋轉。 角度取決於圖像計數(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 */
  }
}
登入後複製
>翻譯為對齊中心點。 該距離計算為50%/噸(180Deg/n)。

> transform圍繞X軸(90度)旋轉以進行所需的佈置。

無限循環的容器旋轉
  1. 最後,旋轉容器會產生無限滑塊效果:
  2. 鍵框類似於圓形滑塊,將容器旋轉以顯示每個圖像。 -90DEG X軸旋轉補償了圖像的90度旋轉,並且透視圖添加了3D效果。
進一步的滑塊變化:垂直和立方體滑塊

然後,本文探討了變化:垂直滑塊(通過在鍵框和圖像轉換中更改為

來實現)和一個立方體滑塊(使用六個圖像和特定旋轉,每張臉部)。 立方體滑塊的動畫更為複雜,需要在多個軸上仔細編排旋轉。還提出了隨機的立方體滑塊變化,引入了非序列旋轉,從而產生更不可預測的效果。 rotate() rotateX()結論

>教程結束時,通過突出CSS在使用最小HTML和JavaScript創建複雜動畫方面的力量。 該系列展示了CSS用於構建交互式和視覺吸引力的元素的多功能性。

以上是CSS無限3D滑塊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板