小編給大家分享一下怎么用css實現(xiàn)3d動畫特效,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司是一家集成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站建設(shè)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
屬性
perspective:透距離,單位像素(值越小,透視距離越近,效果越明顯):設(shè)置父元素上
perspective-origin:設(shè)置透視點的位置
transform-style:指定某元素的子元素是位于三維空間內(nèi),取值:flat|preserve-3d
1.1.1思路
(1)有三個p,一起放到一個盒子里面。
(2)為其盒子設(shè)置樣式
.cube{
width:200px;
height:300px;
transform-style:preserve-3d;
margin:100pxauto;
position:relative;
transform:rotateX(30deg);
border-radius:50%;
padding:60px;
}
(3)為其每個p設(shè)置樣式
.mian{
width:200px;
height:300px;
background-image:url(1.jpg);
background-position:400px0;
position:absolute;
background:url(aka.jpg);
border:1pxsolid#ccc;
transition:2s;
}
/*.mian1:hover{
transform-origin:right;
transform:rotateY(-60deg);
}*/
.mian1{
transform-origin:right;
transform:translateX(-200px)rotateY(45deg);
background-position:00;
}
.mian2{
background-position:400px0;
}
.mian3{
transform-origin:left;
transform:translateX(200px)rotateY(45deg);
background-position:200px0;
}
(4)為其設(shè)置動畫
.mian3:hover{
transform:translateX(200px)rotateY(0deg);
}
.mian1:hover{
transform:translateX(-200px)rotateY(0deg);
}
1.1.1源碼:
.container{
width:1000px;
height:650px;
perspective:2000px;
border:1pxsolidtransparent;
overflow:hidden;
margin:0auto;
perspective-origin:10%20%;
}
.cube{
width:200px;
height:300px;
transform-style:preserve-3d;
margin:100pxauto;
position:relative;
transform:rotateX(30deg);
border-radius:50%;
padding:60px;
}
.mian{
width:200px;
height:300px;
background-image:url(1.jpg);
background-position:400px0;
position:absolute;
background:url(aka.jpg);
border:1pxsolid#ccc;
transition:2s;
}
/*.mian1:hover{
transform-origin:right;
transform:rotateY(-60deg);
}*/
.mian1{
transform-origin:right;
transform:translateX(-200px)rotateY(45deg);
background-position:00;
}
.mian2{
background-position:400px0;
}
.mian3{
transform-origin:left;
transform:translateX(200px)rotateY(45deg);
background-position:200px0;
}
.mian3:hover{
transform:translateX(200px)rotateY(0deg);
}
.mian1:hover{
transform:translateX(-200px)rotateY(0deg);
}