在圣誕主題中切換方式上采用了鏡頭式的拉伸方式
看似高大上其實(shí)原理很簡單,無非就是把頁面給縮小方法,然后附帶一些改變透明度的效果
CSS3增加了很多新的屬性,其中有一個(gè)變形(transform)的scale屬性可以針對元素進(jìn)行縮放
例如:讓一個(gè)元素放大2倍,注意瀏覽器兼容加前綴
-webkit-transform: scale(2); -moz-transform: scale(2);
就這樣簡單的給元素賦予css屬性就可以了
變化的方式有了,如果讓其運(yùn)動呢?
特別注意:transform只是一個(gè)靜態(tài)屬性,它并不能讓元素進(jìn)行運(yùn)動變化
這里繼續(xù)引入css3的animation動畫,通過animation與transform配合就能達(dá)到鏡頭的效果,參考代碼區(qū)域common.css
一般來說都會通過對元素增加樣式的方式來調(diào)用css3動畫。在css文件中定義2個(gè)樣式,effect-out與effect-in
.effect-out{
animation: effectOut 8s ease-in-out forwards;
}
@keyframes effectOut{
0% { opacity:1; }
100% {transform: scale(20); opacity:0; }
}
在effect-out中定義一條規(guī)則,8秒的時(shí)間運(yùn)行keyframes ,將元素透明度從1變成0,同時(shí)還要讓元素放大20倍, 反之亦然
然后還要注意縮放默認(rèn)情況下是按照元素的中心位置的,有時(shí)候需要改掉這個(gè)中心x(50%) y(50%)參考點(diǎn)可以單獨(dú)設(shè)置
-webkit-transform-origin:71% 72%;
最終通過給元素element.addClass("effect-out") 讓元素產(chǎn)生鏡頭的切換效果
具體的animation與transform使用可以查閱相關(guān)資料,實(shí)際的鏡頭切換下請參考右邊的代碼的實(shí)現(xiàn)
鏡頭拉伸的樣式實(shí)現(xiàn),請?jiān)谟疫卌ommon.css代碼區(qū)域補(bǔ)充effect-out與effect-in的css3關(guān)鍵幀實(shí)現(xiàn)
effectOut: 0-1%%變化中透明度從1-0變化,并且圖片要放大20倍
effect-in: 0-1%%變化中透明度從0-1變化,并且圖片還原到原始尺寸
@-webkit-keyframes effectOut{
0% { opacity:1; }
100% { -webkit-transform: scale(20); opacity:0; }
}
@-moz-keyframes effectOut{
0% { opacity:1; }
100% { -moz-transform: scale(20); opacity:0; }
}
@-webkit-keyframes effectIn{
100% { -webkit-transform: scale(1); opacity:1; }
}
@-moz-keyframes effectIn{
100% { -moz-transform: scale(1); opacity:1; }
}
請驗(yàn)證,完成請求
由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)