揭秘腾讯burberry活动页面中的特效_html/css_WEB-ITnose
4月24日,Burberry亚太地区规模最大的旗舰店在上海开幕。Burberry突破性地运用了诸多创新的数字营销模式,借助与腾讯的合作,为更多未能到场的用户创造了一个“平行的体验”,也正式开启了Burberry的创新数字营销之旅。
腾讯的营销页面:
其中多次用到了类似于云雾褪去的效果,如下图。
我对这种神奇的特效产生的极大的兴趣,于是通过chrome的审查元素里面Resources找到下面这张图片(由于图片是白色的png,为了让大家看清楚我将背景调成了黑色)。
于是效果的实现方式就显而易见了,是利用css3的-webkit-mask来实现的。
####Step1.为背景加上蒙板
<div class="stage"> <div class="sprite1"></div> </div>
.stage{ width: 320px; height: 480px; position: absolute; left: 50%; top: 50%; margin-top:-240px; margin-left:-160px; background: url('./img/bg.jpg') no-repeat; background-size: auto 100%;}.stage .sprite1{ width: 100%; height: 100%; background: url('./img/bg2.jpg') no-repeat; background-size: auto 100%; -webkit-mask:url('./img/Touch1.png') no-repeat; -webkit-mask-size: 100% 100%;}
这里为了在桌面浏览器中观看方便,将画面大小调整成了320*480并居中。在 sprite1中添加 background的同时也增加了蒙板。
-webkit-mask:url('./img/Touch1.png') no-repeat;-webkit-mask-size: 100% 100%;
我们这里将蒙板的大小设置为100%来观察蒙板的效果。图中画圈圈的地方就是sprite1透过蒙板展示出来的部分。
我们看到这个蒙板Touch1.png应该是一个序列帧组成的图片,我们只需要将其一帧帧的显示出来就可以实现动画了。
点击查看历史代码
Step2.序列帧动画
.stage .sprite1{ ...... -webkit-mask-size: 400% 300%; -webkit-mask-position: 0% 0%;}
Touch1.png 是序列帧的整合图片,其中一排有4帧一共有3排,所以我们将 -webkit-mask-size 设为 400% 300% 。将 -webkit-mask-postion 设为 0% 0% 表示从第一帧开始。做动画时只需要依次修改 -webkit-mask-position 的x与y值,每次将x增加25%(100/每排的帧数4)直到75%,y增加33.33%(100/每牌的帧数3)直到66.66%。我们需要将每一帧的position状态在不同的时间赋给sprite1,这只需要用 setTimeout 就可以了。
我们新建一个spriteClip类,并传入(dom,w,h,time)四个参数,其中dom用来定位sprite1这个元素,w为一排有几帧,h为一共有几行,time为每一帧之间的间隔。
function spriteClip(dom,w,h,time){ if(dom){ this.dom = dom; this.w = w ||0; this.h = h ||0; this.time = time || 0; }else{ return false; }}
新建run方法。遍历w与h算出时间与位置,用setTimeout设置好延时执行
spriteClip.prototype.run = function(){ for(var w=0;w<this.w for h="0;h<this.h;h++){" var time="(h*self.time*self.w+w*self.time);" settimeout self.dom.style.webkitmaskposition="(100/(self.w-1))*w+'%"> <br> <br> <p></p> <p> 新建并运行spriteClip。</p> <p> </p> <pre name="code" class="sycode">var sprite1 = document.querySelector('.sprite1');var sp1 = new spriteClip(sprite1,4,3,50);sp1.run();
运行代码:
点击查看历史代码
Step3.添加动画控制
有了sprite1后,再添加3个sprite,将所有的动画按照顺序播放来形成完整的转场。为了实现按照顺序的播放,我们需要为动画添加播放控制。即在播放动画完成后给dom触发一个finish事件,dom接到完成事件后执行下一个动画。同时添加show和hide用来控制动画的显示/隐藏。
function spriteClip(dom,w,h,time){ if(dom){ ...... //记录dom初始的display状态 this.display = this.dom.style.display; //记录动画是否播放过 this.played = false; }else{ return false; }}spriteClip.prototype.run = function(){ //如果动画已经播放过则不做任何动画 if(this.played) return false; //标记为已播放完成 this.played = true; //让dom显示 this.show(); for(var w=0;w<this.w for h="0;h<this.h;h++){" var time="(h*self.time*self.w+w*self.time);" settimeout ...... if>= self.w-1 && h>=self.h-1){ //动画结束 var event = document.createEvent('HTMLEvents'); event.initEvent('finish', true, true); event.eventType = 'message'; event.content = 'finish'; //触发finish事件 self.dom.dispatchEvent(event); } },time); })(w,h,this); } }}//隐藏domspriteClip.prototype.hide = function(){ this.dom.style.display = 'none';}//显示domspriteClip.prototype.show = function(){ this.dom.style.display = this.display;}//接收finish时间并用callback函数处理spriteClip.prototype.finish = function(callback){ this.dom.addEventListener('finish',callback);}var sprite1 = document.querySelector('.sprite1');var sp1 = new spriteClip(sprite1,4,3,50);//在做动画之前让sprite隐藏sp1.hide();document.addEventListener('touchend',function(){ //手指抬起后运行动画 sp1.run();});document.addEventListener('click',function(){ //点击后运行动画 sp1.run();});sp1.finish(function(){ //动画完成 console.log('finish');});</this.w>
下面添加剩下的3个sprite。
.......stage .sprite2{ width: 100%; height: 100%; position: absolute; left: 0px; top: 0px; background: url('./img/bg2.jpg') no-repeat; background-size: auto 100%; -webkit-mask:url('./img/Touch2.png') no-repeat; -webkit-mask-size: 400% 300%; -webkit-mask-position: 0% 0%;}.stage .sprite3{ width: 100%; height: 100%; position: absolute; left: 0px; top: 0px; background: url('./img/bg2.jpg') no-repeat; background-size: auto 100%; -webkit-mask:url('./img/Touch3.png') no-repeat; -webkit-mask-size: 400% 300%; -webkit-mask-position: 0% 0%;}.stage .sprite4{ width: 100%; height: 100%; position: absolute; left: 0px; top: 0px; background: url('./img/bg2.jpg') no-repeat; background-size: auto 100%; -webkit-mask:url('./img/Touch4.png') no-repeat; /* Touch4是4*5 */ -webkit-mask-size: 400% 500%; -webkit-mask-position: 0% 0%;}......<div class="stage"> <div class="sprite1"></div> <div class="sprite2"></div> <div class="sprite3"></div> <div class="sprite4"></div> </div>.....//新建4个spritevar sprite1 = document.querySelector('.sprite1');var sprite2 = document.querySelector('.sprite2');var sprite3 = document.querySelector('.sprite3');var sprite4 = document.querySelector('.sprite4');var sp1 = new spriteClip(sprite1,4,3,80);var sp2 = new spriteClip(sprite2,4,3,80);var sp3 = new spriteClip(sprite3,4,3,80);var sp4 = new spriteClip(sprite4,4,5,80);sp1.hide();sp2.hide();sp3.hide();sp4.hide();document.addEventListener('touchend',function(){ sp1.run();});document.addEventListener('click',function(){ sp1.run();});sp1.finish(function(){ //sprite1结束后运行sprite2 sp2.run();});sp2.finish(function(){ //sprite2结束后运行sprite3 sp3.run();});sp3.finish(function(){ //sprite3结束后运行sprite4 sp4.run();})......
运行代码:
查看所有代码请去Github
如有问题或者建议请微博@UED天机。我会及时回复,也可以提供其他特效一起讨论其实现方法。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











5월 30일, Tencent는 Hunyuan 모델의 포괄적인 업그레이드를 발표했습니다. Hunyuan 모델을 기반으로 하는 앱 "Tencent Yuanbao"가 공식 출시되었으며 Apple 및 Android 앱 스토어에서 다운로드할 수 있습니다. 이전 테스트 단계의 Hunyuan 애플릿 버전과 비교하여 Tencent Yuanbao는 일상 생활 시나리오를 위한 작업 효율성 시나리오를 위한 AI 검색, AI 요약 및 AI 작성과 같은 핵심 기능을 제공하며 Yuanbao의 게임 플레이도 더욱 풍부해지고 다양한 기능을 제공합니다. , 개인 에이전트 생성과 같은 새로운 게임 플레이 방법이 추가됩니다. Tencent Cloud 부사장이자 Tencent Hunyuan 대형 모델 책임자인 Liu Yuhong은 "Tencent는 먼저 대형 모델을 만들기 위해 노력하지 않을 것입니다."라고 말했습니다. Tencent Hunyuan 대형 모델 비즈니스 시나리오에서 풍부하고 방대한 폴란드 기술을 활용하면서 사용자의 실제 요구 사항에 대한 통찰력을 얻습니다.

왕의 영광은 함께 가자 꽃의 계절 이벤트를 시작했습니다. 이벤트에 참여하는 플레이어는 아바타 프레임과 다양한 선물을 무료로 받을 수 있습니다. 이 이벤트는 시간 제한이 있으며 플레이어에게 오늘 총 4개의 레벨을 제공합니다. 꽃의 계절로 가자 이벤트에 대한 가이드를 가져왔습니다. 모두가 레벨 챌린지를 완료하는 데 도움이 되기를 바랍니다. 영광의 왕의 꽃의 계절 이벤트 안내 영광의 왕의 꽃의 계절 이벤트 소개: 1. 꽃의 계절로 가는 것은 레벨을 통과하기 위해 카드를 뒤집어야 하는 활동입니다. 2. 이벤트 기간 동안 과제를 완료하고 꽃이슬을 획득하여 카드를 뒤집을 수 있습니다. 3. 활동 패널에 있는 4개의 클리어런스 카드는 모두 하나의 선(가로선, 세로선, 대각선 포함)으로 연결되어 작은 레벨을 통과합니다. 4. 레벨을 클리어할 때마다 그에 상응하는 보상을 받을 수 있으며, 친구들이 카드를 뒤집는 것을 도와주면 추가 보상도 받을 수 있습니다. 살다

'True Me' 인생 경험 공개: OPPO의 하위 브랜드인가요? 스마트폰 시장이 지속적으로 발전함에 따라 다양한 휴대폰 브랜드들이 소비자의 변화하는 요구를 충족시키기 위해 새로운 제품을 출시하고 있습니다. 그 중 '트루미(True Me)'라는 휴대폰 브랜드는 최근 몇 년간 높은 가격 대비 성능과 고품질 사용자 경험으로 많은 소비자들에게 호평을 받고 있다. 그러나 'True Me' 휴대폰의 삶의 경험과 브랜드 배경은 언제나 수수께끼에 싸여 있었습니다. 최근 '리얼미(Real Me)' 휴대폰이 오포(OPPO)의 하위 브랜드라는 소식이 전해져 휴대폰계에 큰 화제를 불러일으켰다.

AniPortrait 모델은 오픈 소스이며 자유롭게 사용할 수 있습니다. "샤오포잔 고스트 존(Xiaopozhan Ghost Zone)을 위한 새로운 생산성 도구입니다." 최근 텐센트 오픈 소스(Tencent Open Source)가 발표한 새 프로젝트가 트위터에서 이런 평가를 받았습니다. 이 프로젝트는 오디오와 참조 이미지를 기반으로 고품질 애니메이션 인물 사진을 생성하는 AniPortrait입니다. 더 이상 고민하지 말고 변호사의 편지로 경고할 수 있는 데모를 살펴보겠습니다. 애니메이션 이미지도 쉽게 말할 수 있습니다. 이 프로젝트는 출시된 지 불과 며칠 만에 이미 광범위한 칭찬을 받았습니다. GitHub Stars의 수가 2,800명을 돌파했습니다. AniPortrait의 혁신을 살펴보겠습니다. 논문 제목: AniPortrait:Audio-Driven Synthesisof

D-Day 침공 80주년이 다가오면서 한 달 동안 월드 오브 탱크 이벤트와 특별 행사가 오버로드 작전을 중심으로 진행됩니다. 새로운 PvE 모드, 테마 배틀 패스, 새로운 전선 대격돌 모드 출시 등이 포함됩니다. long 노르망디 작전 토큰 스토어가 곧 오픈됩니다. 작전 지도 6월 3일부터 6월 30일까지 노르망디 해변을 탐험하고 최대 90개의 노르망디 작전 토큰을 수집하세요. 이 지도에서 36개, 일일 임무를 완료하면 또 다른 54개입니다. 대화형 지도를 확인하고 각 이벤트의 시작 날짜를 확인한 다음 지금 토큰 획득을 시작하거나 특별 토큰 퀘스트를 잠금 해제하세요. 노르망디 작전 관련 활동에 대해 자세히 알아보려면 지도를 사용하세요. 충분한 노르망디 작전 토큰을 얻은 후 노르망디 작전 토큰 딜러에게 갈 수 있습니다.

최근 텐센트는 지난해 중단됐던 '호두다이어리'의 재개를 알리고(2023년 2월 15일 12시) 2차 테스트 모집을 시작했다. 공식 공개된 바에 따르면 2000명 대상 테스트에는 1000명 이상이 신청했으며, 테스트는 3월 중하순에 시작될 것으로 예상된다. 원작 '월넛 다이어리'는 Giant Network가 개발하고 Tencent Games가 퍼블리싱한 미소녀 교제 및 개발 모바일 게임으로, 2021년 4월 16일 출시되었으며, 대만 서버는 2021년 10월 14일 출시되었습니다. "플레이어는 인기 이모티콘 소녀 쿠루미 나나세와 함께 생활하고 농사를 짓고, 쉽게 쿠루미를 키울 수 있다"고 합니다. 하지만 '호두다이어리'는 출시 이후 매출이 저조해 결국 2022년 12월 퇴출되고 2023년 2월 서비스가 중단됐다. 귀여운 디스플레이, 주인공 나나세

2020년 9월 일본에서 출시된 MMORPG 클라이언트 게임 '아크 오브 데스티니(Ark of Destiny)'가 약 3년 반의 운영 끝에 오늘 일본 서버를 공식 폐쇄했다. 그러나 한국 게임과 일본 게임은 항상 취향과 스타일(특히 온라인 게임)에서 큰 차이를 보이며 거의 완전히 양립할 수 없는 세력이었습니다. 이것이 바로 한국 온라인 게임이 일본에서 입지를 확보하기 어려운 이유였습니다. '운명의 방주' 일본 서버 중단이 예상된다. 그렇다면 텐센트로 대표되는 '운명의 방주'의 국내 서버는 어떨까? 가장 먼저 가장 큰 어려움을 겪는 것은 대다수의 플레이어가 가장 우려하는 인기 문제입니다. 현재 "Ark of Destiny"를 플레이하는 사람들은 거물, 일반 플레이어, 오프라인 플레이어의 세 가지 유형이 있습니다. 누보부자는 말할 필요도 없이 어떤 게임이든 부자가 하면 더 즐겁다, "운명의 방주"

스마트폰의 발전과 함께 휴대폰으로 스크린샷을 찍는 것은 우리 일상생활에서 자주 사용하는 기능 중 하나가 되었습니다. 스마트폰 분야의 선두주자인 Huawei Mate60Pro는 사용자 경험을 더욱 편리하고 효율적으로 만들어주는 고유한 스크린샷 기술을 많이 보유하고 있습니다. 이 기사에서는 Huawei Mate60Pro의 몇 가지 스크린샷 기술을 공개하여 휴대폰 기능을 더 잘 활용하고 업무 및 생활 효율성을 높이는 데 도움이 되기를 바랍니다. 첫 번째 기술은 일반 스크린샷을 찍는 것입니다. 일상적인 사용에서는 스크린샷을 찍어 휴대폰 화면을 저장해야 하는 경우가 많습니다.
