效果展示如下:

HTML結(jié)構(gòu)
Apple TV是由蘋果公司繼 Airport Express 之后推出的一款高清電視機(jī)頂盒產(chǎn)品。如果你曾經(jīng)使用過,一定會(huì)被其中的炫酷電影海報(bào)視覺差特效所吸引。
該視覺差特效的HTML結(jié)構(gòu)使用一個(gè)<div>作為容器,在它里面的每一個(gè)<div>都是一個(gè)“層”。
<div class="poster"> <div class="shine"></div> <div class="layer-1"></div> <div class="layer-2"></div> <div class="layer-3"></div> <div class="layer-4"></div> <div class="layer-5"></div></div><div.shine>是用于制作流光效果的圖層。
CSS樣式
為了使包裹元素.poster制作出3D旋轉(zhuǎn)效果,它的父元素需要設(shè)置透視和transform-style。
body { background: linear-gradient(to bottom, #f6f7fc 0%,#d5e1e8 40%); transform-style: preserve-3d; transform: perspective(800px);}這里的海報(bào)大小設(shè)置為固定的320x500像素,相對(duì)于頁面居中,為它制作圓角效果和一些陰影效果。
.poster { width: 320px; height: 500px; position: absolute; top: 50%; left: 50%; margin: -250px 0 0 -160px; border-radius: 5px; box-shadow: 0 45px 100px rgba(0, 0, 0, 0.4); overflow:hidden;}海報(bào)的居中采用的是絕對(duì)定位居中法:left和top分別為50%,然后設(shè)置margin-left和margin-top為負(fù)的寬度值和高度值。
海報(bào)中所有的“層”可以通過div[class*="layer-"]選擇器來選擇。所有的圖層都被設(shè)置為絕對(duì)定位,背景圖片不重復(fù),background-position設(shè)置到左上角位置,背景的大小設(shè)置為100%的寬度和自動(dòng)高度。
div[class*="layer-"] { position: absolute; top: -10px; left: -10px; right: -10px; bottom: -10px; background-size: 100% auto; background-repeat: no-repeat; background-position: 0 0; transition:0.1s;}注意上面代碼中的top,left,right和bottom屬性的值都是-10像素。它們用于使圖層的尺寸比海報(bào)的尺寸大20像素。這樣做的原因是在產(chǎn)生視覺差效果是可以隱藏圖層的邊部。
最后為每一個(gè)圖層設(shè)置背景圖片。
.layer-1 { background-image: url('images/1.png');}.layer-2 { background-image: url('images/2.png');}.layer-3 { top: 0; bottom: 0; left: 0; right: 0; background-image: url('images/3.png');}.layer-4 { background-image: url('images/4.png');}.layer-5 { background-image: url('images/5.png');}JavaScript
該視覺差效果的原理是每次用戶移動(dòng)鼠標(biāo)是時(shí)候,.poster的transforms: translateY、rotate和rotateY屬性將根據(jù)鼠標(biāo)的位置發(fā)生變化。鼠標(biāo)距離左上角越遠(yuǎn),動(dòng)畫可見的區(qū)域就越多。
計(jì)算的公式類似于 offsetX = 0.5 主站蜘蛛池模板: 新和县| 普兰县| 焦作市| 库尔勒市| 孟连| 镇坪县| 固原市| 元朗区| 台安县| 富蕴县| 米泉市| 宁德市| 武强县| 建宁县| 从化市| 保山市| 高邮市| 全椒县| 台安县| 南平市| 海城市| 游戏| 郁南县| 盐津县| 汝州市| 锦屏县| 北安市| 西和县| 盐边县| 南昌市| 宝山区| 衡阳县| 昌吉市| 许昌县| 漳平市| 龙江县| 汝南县| 沐川县| 长寿区| 手机| 廉江市|