vc++图片平滑代码_B站banner图片随鼠标滑动虚化效果探索

7980537f55e579281f0407a9afaab0e0.gif
b站banner动画效果

最近,B 站首页 banner 图片会跟随着鼠标的移动而进行变化,类似于相机镜头聚焦的场景虚化效果,很多玩 B 站的小伙伴应该都留意到了吧。猪猪也想实现 banner 背景随鼠标移动而虚化的效果呢。作为一名过气爬虫程序媛,网页分析能力还是有一丢丢的。

扒 B 站源码

63fc89074d9fe0cd96b51ef7129f751c.png
首页Banner

在 Google Chrome 打开 Bilibili 站首页,右键点击检查或按 F12 打开开发者工具,定位 B 站 banner 的网页源码位置。获取 banner 网页源代码如下。

<div class="bili-banner" style="" data-v-38a4badd="">
    <div data-v-0a487de8="" data-v-38a4badd="" class="animated-banner">
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/8e084d67aa18ed9c42dce043e06e16b79cbb50ef.png"data-height="250" data-width="3000" height="250" width="3000"style="filter: blur(4px); transform: translate(0px, 0px) rotate(0deg);">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/082e39ef757826401ef82da818310d42e05bc2de.png"data-height="275" data-width="3000" height="165" width="1800"style="transform: translate(0px, 0px) rotate(0deg); filter: blur(0px);">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/dbd5c17c4315714de9e4ee119694d2e9efaf9639.png"data-height="250" data-width="3000" height="250" width="3000"style="transform: translate(-50px, 0px) rotate(0deg); filter: blur(1px);">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/cd9be0a2716adbae85fd899259381c4b2c2893c7.png"data-height="250" data-width="3000" height="150" width="1800"style="transform: translate(0px, 4.2px) rotate(0deg); filter: blur(4px);">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/88537437a7916ecde847fa46652b44fbd3cbbb06.png"data-height="275" data-width="3000" height="165" width="1800"style="transform: translate(0px, -1.8px) rotate(0deg); filter: blur(5px);">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/37d9a93baa55870506a6f3e6308e7a0c386b97c7.png"data-height="275" data-width="3000" height="178" width="1950"style="filter: blur(6px); transform: translate(0px, 0px) rotate(0deg);">div>
    div>

我们可以发现 banner 的 class 标签为 "animated-banner",背景由 6 个 div 组成,6 张图片分别如下。

97d1d2a5f7ed025174ef6350dc0d4542.png
图层1 forest
210cd9e48cc4ea1de9abae88a4ccfc12.png
图层2 big-person
a7e85e36dda8bd61cb0fa1e244922101.png
图层3 hill
1023c283ba56989a6eda17d2bd966ad7.png
图层4 leaves
14c78d077281f33649395cc9571885e5.png
图层5 small-person
48569b55ce9e11e277799d6adfca6864.png
图层6 left

将 6 张图片按顺序进行组合叠加,即可形成 B 站首页的图片。解析 B 站 bili-banner 源码,整理如下。

html>
<html>

<head>
    <title>仿B站首页-图片随鼠标移动虚化效果title>
    <style>.animated-banner { position: absolute;top: 0;bottom: 0;left: 0;right: 0; overflow: hidden}.layer { position: absolute;left: 0;top: 0;height: 100%;width: 100%;display: -ms-flexbox;display: flex;-ms-flex-align: center;align-items: center;-ms-flex-pack: center;justify-content: center;}style>
head>

<body>
    <div class="animated-banner">
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/8e084d67aa18ed9c42dce043e06e16b79cbb50ef.png"data-height="250" data-width="3000" height="250" width="3000">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/082e39ef757826401ef82da818310d42e05bc2de.png"data-height="275" data-width="3000" height="165" width="1800">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/dbd5c17c4315714de9e4ee119694d2e9efaf9639.png"data-height="250" data-width="3000" height="250" width="3000">div>
        <div class="layer"><img src="https://i0.hdslb.com/bfs/vc/cd9be0a2716adbae85fd899259381c4b2c2893c7.png"data-height="250" data-width="3000&#
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值