疫情散去想看电影,使用css3动画实现一个阿凡达2完美开场

news2025/7/17 13:58:36

在历经了艰苦卓绝的3年抗疫后,疫情终于还是来了,很多小伙伴变成了小洋人酸奶,我相信过不了多少天,疫情终将散去,那个时候就可以和家人走进电影院啦。

今天用css布局一个阿凡达2的影院场景,提前过一过瘾。

目录

实现思路 

久违的影院布局

小海报的定位

 不断放大的影院效果

源代码:

 结语:


实现思路 

通过一张我们久违的电影院图片做为全屏的背景图,注意,是全屏哦,要将图片宽高全部占满,而且不能出现滚动条;

找一行阿凡达的海报,利用css定位,准确无误的定位到荧幕中央,并且实现海报内容的动画效果。

久违的影院布局

首先,我们找一张电影院背景图片,注意,找到的图片很难适合我们浏览器的屏幕尺寸,那么就要注意css中background-size的作用

background-size: cover  // 表示以图片宽为基准渲染图片,只是满足图片的宽,高能显示多少显示多少

background-size: contain  // 表示以图片高为基准渲染图片,只是满足图片的高,宽能显示多少显示多少

所以这里我们用了background-size: 100% 100% 

而且要给body的高设定 height: 100vh ,如果设定100% 的话,相当于0,代码如下:

<style type="text/css">
   body {
     margin: 0;
     padding: 0;
     width: 100%;
     height: 100vh;
     background: url(./screen.png) no-repeat;
     background-size: 100% 100%;
   }
</style>

e398ba471312455bb2742690012f80cd.png

小海报的定位

我们找到一张充满充满阿凡达特质的海报图片,注意,首先要将图片缩小放置荧幕中央,这里用到了position的定位

而且要用到一个居中的实现方式,当然垂直居中,水平居中的方式还有很多,这里我们采用如下代码实现:

img {
   width: 7.6vw;
   height: 5.2vh;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   margin: auto;
}

f14238e140a245e1b110c8bc9fbd5358.png

 不断放大的影院效果

这里主要采用css3的animation来实现,使这张缩小的海报,2s时间内放大到荧幕的宽度,这里需要注意一点的是,css3的animation动画很可能会播放到最后一帧,又回复到第一帧,这里我们采用了 animation-fill-mode: forwards的属性,使动画播放完成后,停留在最后一帧

img {
    /* 上一步css的代码内容 */
    animation: moviefn 2s;
	animation-fill-mode: forwards;
  }
  @keyframes moviefn
 {
	from {
       width: 7.6vw;
       height: 5.2vh;
       top: 0;
       right: 0;
       bottom: 0;
       left: 0;
    }
	to {
       width: 76vw;
       height: 52vh;
       top: 16%;
       right: 11%;
       bottom: 24%;
       left: 11%;
     }
}

6391a5dbd388428bb4a5738e2f768b05.png

是不是很有一种影院坐在最后一排的感觉了,阿凡达正在抚摸着宠物的头,告诉他,疫情马上就要过去了,你再坚持坚持,你又可以出厂了,只能休息一会儿哦。

源代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>阿凡达2</title>
        <style type="text/css">
            body {
                margin: 0;
                padding: 0;
                width: 100%;
                height: 100vh;
                background: url(./screen.png) no-repeat;
                background-size: 100% 100%;
            }
            img {
                width: 7.6vw;
                height: 5.2vh;
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                animation: moviefn 2s;
				animation-fill-mode: forwards;
            }
            @keyframes moviefn
			{
				from {
                    width: 7.6vw;
                    height: 5.2vh;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                }
				to {
                    width: 76vw;
                    height: 52vh;
                    top: 16%;
                    right: 11%;
                    bottom: 24%;
                    left: 11%;
                }
			}
        </style>
    </head>
    <body>
        <img src="./scroll1.png" />
    </body>
</html>

 结语:

我们经历了3年艰苦卓绝的奋战,终于看见了胜利的曙光,这3年有多少次我们想回家不能回,想做的很多事情做不了,天天被捅嗓子,被大声吆喝:你,扫码,说你呢。有多少次健康码服务器坏了,开发人员想要去楼里修,结果被拦住说你没有绿码不让进,有多少次胆战心惊。

希望最近的批发小洋人是最后一个阶段了,黄桃罐头再也不会脱销,希望疫情烟消云散。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/406870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《uni-app》表单组件-form表单

本文分享的Form组件为uni-app的内置组件Form&#xff0c;非扩展组件&#xff0c;两者在用法上其实大同小异&#xff0c;只是扩展组件的属性以及事件更多…没有本质上的区别&#xff5e; 《uni-app》表单组件-form表单一. 简介二. 基础用法三. submit事件四. reset事件五. repor…

Tomcat安装配置及IDEA配置方法【亲测有效】

Tomcat安装配置及IDEA配置1.下载Tomcat2.配置Tomcat环境变量3.安装Tomcat4.启动Tomcat5.测试Tomcat6.IDEA配置Tomcat1.下载Tomcat Tomcat9官网下载地址 选择自己需要的版本&#xff0c;一般选择Windows 64位压缩包版本&#xff1a; 下载完后安装解压即可&#xff0c;解压后的…

如何使用nvm切换node版本

我比较懒惰,如非必要,不喜欢npm版本切换来切换去,感觉浪费我编程的时间.后来发现,现在偷的懒都是为将来的忙碌埋下的祸根. 言归正传,本文主要是讲解一下,如何使用nvm进行npm版本的切换. 工欲善其事必先利其器,我们先下载nvm;直接上下载链接(针对windows哈,毕竟我没mac本); 下载…

Code For Better 谷歌开发者之声——初识Web与谷歌,拉起兴趣之心。

个人名片&#xff1a; 博主&#xff1a;酒徒ᝰ. 个人简介&#xff1a;沉醉在酒中&#xff0c;借着一股酒劲&#xff0c;去拼搏一个未来。 本篇励志&#xff1a;程序是我的生命,但我相信爱她甚过爱我的生命。 目录一、了解谷歌浏览器1. 简介2.优点二、认识Web1. 简介2. 特点2. 网…

【云原生 | 21】Docker运行Web服务实战之Apache

作者简介&#xff1a;&#x1f3c5;云计算领域优质创作者&#x1f3c5;新星计划第三季python赛道第一名&#x1f3c5; 阿里云ACE认证高级工程师&#x1f3c5; ✒️个人主页&#xff1a;小鹏linux &#x1f48a;个人社区&#xff1a;小鹏linux&#xff08;个人社区&#xff09;欢…

【微信小程序】如何获得自己当前的定位呢?本文利用逆地址解析、uni-app带你实现

目录 前言 效果展示 一、在腾讯定位服务配置微信小程序JavaScript SDK 二、使用uni-app获取定位的经纬度 三、 逆地址解析&#xff0c;获取精确定位 四、小提示 前言 效果展示 一、在腾讯定位服务配置微信小程序JavaScript SDK 在浏览器搜索腾讯定位服务&#xff0c;找…

React(四) ——hooks的使用

&#x1f9c1;个人主页&#xff1a;个人主页 ✌支持我 &#xff1a;点赞&#x1f44d;收藏&#x1f33c;关注&#x1f9e1; 文章目录⛳React Hooks&#x1f4b8;useState(保存组件状态)&#x1f948;useEffect(处理副作用)&#x1f50b;useCallback&#xff08;记忆函数&#…

Sass 和 SCSS

▣Sass (Syntactically Awesome StyleSheets)&#xff0c;是由buby语言编写的一款css预处理语言&#xff0c;和html一样有严格的缩进风格&#xff0c;和css编写规范有着很大的出入&#xff0c;是不使用花括号和分号的&#xff0c;所以不被广为接受。 Sass 是一款强化 CSS 的辅助…

使用Nodejs搭建HTTP服务,并实现公网远程访问「内网穿透」

文章目录前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口5.固定公网地址前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff08;原…

微信小程序|基于小程序+云开发制作一个菜谱小程序

今天吃什么?这是一个让强迫症左右为难的问题,跟随此文基于小程序+云开发制作一个菜谱小程序,根据现有食材一键生成菜谱,省心又省力。 一、小程序1. 创建小程序</

【python】喜欢XJJ?这不得来一波大采集?

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 俗话说的好&#xff1a;技能学了~就要用在自己喜欢得东西上&#xff01;&#xff01; 这我不得听个话~我喜欢小姐姐&#xff0c;跳舞的小姐姐 这不得用python把小姐姐舞采集下来~嘿嘿嘿 完整源码、素材皆可点击文章下方名片…

Java web学生信息管理系统(jsp)

&#x1f95e;目录 &#x1f36c;1 概述 1.1课程设计目的 1.2预备知识 JAVAWeb&#xff1a; MySQL&#xff1a; JSP&#xff1a; 1.3实训的内容和要求 &#x1f36c;2 需求分析 2.1系统目标 2.2功能分析&#xff1a; 2.3开发环境&#xff1a; &#x1f36c;3 设计步…

大数据热点城市波动图案例【CSS3实现 + 原理分析 + 源码获取】

一&#xff1a;案例效果 本次案例我们分析一下数据可视化页面最常见的热点图是如何实现的&#xff0c;其原理并不复杂&#xff0c;只需要用到CSS3动画属性 animation 以及 keyframe 关键帧即可&#xff0c;重点是向外扩散的环如何布局比较合适&#xff0c;以及每个环怎么扩散何…

HTML 5标签搭建页面结构--1

本文标签: HTML基本语法 排版标签 媒体标签 链接标签 文章目录 前言 一、基础认识 1.认识网页 2.微博标准 3.web标准的构成 4.小结 二、HTML基本结构解读 2.HTML标签及结构 1.标签的结构: 2.排版标签: 2.文本格式化标签: 3.媒体标签: 1.图像相关标签: 2.图片标签的 title …

JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)

文章目录1.1 第一章 初入宗门1.2 第二章 直接量1.3 第三章 数据类型1.4 第四章 数据类型扩展内容:1.5 第五章 基础考核1.6 第六章 何老1.7 第七章 对象数据类型1.8 第八章 对象的取值1.9 第九章 循环遍历的奥妙小结&#xff1a;For 循环1.10 第十章 对象内容的遍历1.11 第十一章…

30个题型+代码(冲刺2023蓝桥杯)(上)

愿意的可以跟我一起刷&#xff0c;每个类型做1~5题 &#xff0c;4月前还可以回来系统复习 目录 &#x1f34e;注意 &#x1f33c;前言 &#x1f33c;一&#xff0c;前缀和 &#x1f44a;&#xff08;一&#xff09;3956. 截断数组 &#x1f333;Time Limit Exceeded &a…

如何用python代码,更改照片尺寸,以及更换照片底色

前言 python浅浅替代ps&#xff1f;如何用代码来p证件照并且更换底色&#xff1f; 唉&#xff0c;有个小姐姐给我扔了张照片&#xff0c;叫我帮忙给她搞成证件照的尺寸还得换底色&#xff0c;她说自己忙的很 可惜电脑上没有ps只有pycharm&#xff0c;没得办法只能来试试看代…

没有关系的话,那就去建立关系吧

今天给大家分享一道链表的好题--链表的深度拷贝&#xff0c;学会这道题&#xff0c;你的链表就可以达到优秀的水平了。力扣 先来理解一下题目意思&#xff0c;即建立一个新的单向链表&#xff0c;里面每个结点的值与对应的原链表相同&#xff0c;并且random指针也要指向新链表中…

vite基础使用及相关配置

前言 这篇文章主要是记录前段时间公司里以vite构建的一个小项目&#xff08;前端界面不多&#xff0c;主要功能及相关配置是在后端&#xff09;&#xff0c;挺简单的几个小页面。 说到vite&#xff0c;之前虽然都有学习了解及demo尝试&#xff0c;但因为业务等其他各方面因素也…

uniapp开发APP从开发到上架全过程(一)

前端时间受朋友委托帮他开发了一款APP&#xff0c;综合考虑了下&#xff0c;没有上原生&#xff0c;使用了uniapp这一套技术栈来进行开发 uniapp是dcloud推出的一套跨端前端解决方案&#xff0c;可以通过一套代码生成小程序、安卓、IOS、H5等代码&#xff0c;对于中小项目来说…