国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于JQuery和CSS3實(shí)現(xiàn)仿Apple TV海報(bào)背景視覺差特效源碼分享

2019-11-20 11:32:23
字體:
供稿:網(wǎng)友

效果展示如下:

查看演示     下載源碼

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

主站蜘蛛池模板: 新和县| 普兰县| 焦作市| 库尔勒市| 孟连| 镇坪县| 固原市| 元朗区| 台安县| 富蕴县| 米泉市| 宁德市| 武强县| 建宁县| 从化市| 保山市| 高邮市| 全椒县| 台安县| 南平市| 海城市| 游戏| 郁南县| 盐津县| 汝州市| 锦屏县| 北安市| 西和县| 盐边县| 南昌市| 宝山区| 衡阳县| 昌吉市| 许昌县| 漳平市| 龙江县| 汝南县| 沐川县| 长寿区| 手机| 廉江市|