CSS3卡片動畫是一種在網頁中實現裝飾效果的方式,通過CSS3技術可以將網頁的靜態元素加上動態的效果,讓內容更生動。下面我們來了解一下CSS3卡片動畫的實現。
.card{ position: relative; width: 200px; height: 300px; background-color: #fff; perspective: 800px; transition: transform 0.6s; } .card:hover{ transform: rotateY(20deg); }
上面這段CSS代碼是一個簡單的卡片動畫實現,首先定義了一個類名為card的元素,設置了基本的樣式:寬200px,高300px,背景色白色。接著通過“perspective”屬性設置了觀察者的觀察距離,這個距離越大,卡片離觀察者近,我們看到的視覺效果就越強。然后通過“transition”屬性設置了動畫效果的變換,這里的“transform”參數代表該元素的變換方式。最后,“:hover”是一個偽類選擇器,表示當鼠標懸停在該元素上時出現的效果,這里將元素向右旋轉20度。
.card{ width: 300px; height: 200px; margin: 20px; background: #fff; position: relative; box-shadow: 2px 2px 5px rgba(0,0,0,0.3); } .card:before, .card:after{ content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition-duration: 0.5s; transition-timing-function: ease-out; } .card:before{ background-color: rgba(0,0,0,0.05); transform: rotateY(90deg); } .card:hover:before{ transform: rotateY(0deg); } .card:after{ background-color: rgba(255,255,255,0.2); transform: rotateX(90deg); } .card:hover:after{ transform: rotateX(0deg); }
另一個卡片動畫的實現方式,通過:before和:after偽類選擇器定義了兩個層次,而不是直接對定位元素變換,可以實現更復雜的效果。這里的代碼定義了一個卡片元素,通過margin屬性使元素與周圍的元素保持一定距離。box-shadow屬性定義了元素的陰影效果。接著通過:before和:after偽類選擇器設置了兩個面板,:before面板是半透明的,:after面板是半透明的白色,通過“rotateY”和“rotateX”屬性將兩面板平面逆時針旋轉90度,在懸停時旋轉到0度。
上一篇css rgba 顏色
下一篇css3卷出效果