【每日一练】79—CSS实现扫描二维码动画

2023-11-19

f755a825b4c6bc8f949284bbc82afcde.png

二维码的应用越来越普通,加个好友,付个款,做个核酸,想去一个地方,还要扫个场所码,总之,需要二维码的地方越来越多。

因此,在这样的大环境里,如何让你的码与众不同,引人注意,就显得非常重要。今天我们就来练习一个二维码的动画效果,具体效果如下:

d47589119c6da50af5a4d74f89b23369.gif

看完了最终效果,我们再来看看代码实现过程。

HTML代码:

<!DOCTYPE html>
<html>
<head>
<title>【每日一练】79—CSS实现扫描二维码动画</title>
</head>
<body>
  <div class="scan">
    <div class="qrcode"></div>
    <h3>二维码扫描中...</h3>
    <div class="border"></div>
  </div>
</body>
</html>

CSS代码:

*
{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: consolas;
}
body 
{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #111;
}
.scan 
{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.scan .qrcode 
{
  position: relative;
  width: 400px;
  height: 400px;
  background: url(QR_Code01.png);
  background-size: 400px;
}
.scan .qrcode::before 
{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(QR_Code02.png);
  background-size: 400px;
  overflow: hidden;
  animation: animate 4s ease-in-out infinite;
}
@keyframes animate 
{
  0%,100%
  {
    height: 20px;
  }
  50%
  {
    height: calc(100% - 20px);
  }
}
.scan .qrcode::after 
{
  content: '';
  position: absolute;
  inset: 20px;
  width: calc(100% - 40px);
  height: 2px;
  background: #35fd5c;
  filter: drop-shadow(0 0 20px #35fd5c) drop-shadow(0 0 60px #35fd5c);
  animation: animate_line 4s ease-in-out infinite;
} 
@keyframes animate_line 
{  
  0%,100%
  {
    top: 20px;
  }
  50%
  {
    top: calc(100% - 20px);
  }
}
.border 
{
  position: absolute;
  inset: 0px;
  background: url(border.png);
  background-size: 400px;
  background-repeat: no-repeat;
  animation: animate_text 0.5s linear infinite;
}
@keyframes animate_text 
{  
  0%,100%
  {
    opacity: 0;
  }
  50%
  {
    opacity: 1;
  }
}
.scan h3 
{
  text-transform: uppercase;
  font-size: 2em;
  letter-spacing: 2px;
  margin-top: 20px;
  color: #fff;  filter: drop-shadow(0 0 20px #fff) drop-shadow(0 0 60px #fff);
  animation: animate_text 0.5s steps(1) infinite;
}

写在最后

以上就是我们今天的【每日一练】的全部内容,希望今天的小练习对你有用,如果你觉得有帮助的话,请点赞我,关注我,并将它分享给你身边做开发的朋友,也许能够帮助到他。

我是杨小爱,我们明天见。

学习更多技能

请点击下方公众号

226c24eb5bde0e52253b4ca159d8484a.gif

983de34f60bcc659819171ce203a5366.jpeg

8e7834baa2aa4b91890425404f04e6d3.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【每日一练】79—CSS实现扫描二维码动画 的相关文章

  • 如何使网页中出现的图标闪烁/闪烁

    几天前我开始研究高级java 我知道太晚了 我被困在使图标 出现在任务栏上 闪烁的特定任务上 这种闪烁应该根据特定条件发生 这意味着可以使用以下方法来实现javascript 我已经搜索了一段时间了 但是有没有办法让图标每隔 1 秒左右出现
  • Img srcset 和尺寸属性

    我正在尝试制作一个简单的网站img标签 将使用新的srcset属性 主要思想是根据屏幕分辨率更改图像 src 工作示例 http pixelteam pl surprise some files index html 问题在于sizes 正
  • $(this) 在 jQuery 中如何工作

    jQuery 标签是如何实现的 this 到底工作吗 我知道如何使用它 但是 jQuery 如何知道哪个元素是 活动的 用于获取当前项目的原始 Javascript 标签是什么 还是只是 jQuery The this是一个简单的 java
  • 用于创建动画渐变按钮背景的 CSS

    我正在寻找一个CSS规则可以创建一个CSS动画按钮的彩色渐变背景 https i stack imgur com NHqf8 gif 我只是想玩它并这样做 https codepen io prashant nadsoftdev pen b
  • JavaFX 中的 -fx-background-radius 和 -fx-background-insets

    我正在使用 JavaFX 我想自定义一个按钮 我看到了几个可以设计的特征 其中我发现了两个我不认识的人 button fx padding 5 22 5 22 fx border color 121212 fx border width 2
  • 使用过渡+不透明度更改+溢出隐藏时出现问题

    如果您看到我共享的代码示例 您可以看到覆盖层超出了框的范围 我将问题追溯到transition属性 我想删除div之外的内容 溢出没有按预期工作 删除transition有效 但如果可能的话我想保留它 任何帮助表示赞赏 代码笔链接 http
  • 获取画布上下文的最后一个点的坐标

    我想创建一个arrowTo功能与CanvasRenderingContext2D prototype 为此 我需要获取最后一个点的坐标 例如 var ctx someCanvas getContext 2d ctx moveTo 10 40
  • 编辑角度材质的表格单元格填充

    当我使用开发人员工具检查该元素时 它显示零填充 但是当我查看它并将鼠标悬停在它上面时 它非常清楚地在单元格内具有填充 我不知道这是从哪里来的 并且设置td padding 0 important 什么也没做 感知到的填充是由以下原因引起的d
  • HTML代码可以像CSS文件一样附加到HTML页面吗?

    HTML 代码可以像 CSS 文件一样附加到 HTML 页面吗 这样 如果所有页面中都复制了部分 HTML 代码 我可以将其放在一个文件中 然后轻松修改它 谢谢 Ahmed 是的 可以 使用框架 但不推荐 Example 此代码将允许您重用
  • 第一次从按钮提交时,只有单击两次后才会打开模态框

    我有一个模式弹出窗口可以通过单击按钮打开 不幸的是 当第一次在浏览器中提交时 我只能在单击两次后才能看到弹出窗口 但是 一旦弹出窗口打开并关闭 我就可以在下一次尝试中单击一次来打开模式 如果我刷新浏览器也会发生同样的情况 这看起来很奇怪 任
  • 使用 jQuery 检测容器溢出?

    我见过这个问题 https stackoverflow com questions 2059743 detect elements overflow using jquery但感觉必须有一个 更干净 的 jQuery 方法来做到这一点 我什
  • 数据表“footerCallback”函数未在页脚中显示结果

    我尝试获取每列的总和并将结果显示在页脚中 我在用着 页脚回调 https datatables net reference option footerCallbackDatatables提供的功能 但是它在页脚中没有显示任何内容 数据表解释
  • 新BFC“清”浮箱

    如示例所示 应用display inline block 到包含块似乎 清除 了其中的浮动框 wrapper inline block display inline block left column background color te
  • 如何正确删除动画集中引用的 Raphael SVG 元素?

    我有一组动画 Raphael SVG 元素 我正在通过用户发起的 ajax 调用添加新元素并删除旧元素 我 set push 新元素 但因为我需要删除的元素通常不是集合中的最后一个元素 所以我使用 element remove 而不是 se
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • CSS:如何在模糊的背景上剪切文本?

    我想重新创建以下样式 我想出了以下内容 问题是剪切不会影响模糊滤镜 我不知道如何解决它 这是我的 HTML 代码 glass width 40 height 100 position absolute background rgba 255

  • 有多少像素? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 一个有多少像素 br 标签添加 我知道 br 高度可以通过CSS控制line height财产 不同浏览器的值是否相同 它会添加与浏览
  • div 之间的额外空间从何而来?

    http www lethalmonk6 byethost24 com index html http www lethalmonk6 byethost24 com index html 如果您使用 firebug 检查 项目链接 div
  • window.open 使用 css 样式

    我想设计我的 window open 目前 我的网页上有一些项目由于解析了某个类而打开 然后在新窗口中打开指定的文本 我想更改字体大小 字体和填充等 这是我的 JavaScript 代码
  • 使用 div 或表格来包含链接列更好吗?

    我的页面底部有 3 列链接 每列都放入一个 div 中 所有三个 div 都包装在页面中央的一个大 div 中 这是更适合桌子的东西还是桌子不适合这项工作 您还可以使用 ul http www w3schools com tags tag

随机推荐

  • DNG格式解析

    Author Maddock Date 2015 04 22 转载请注明出处 http www cnblogs com adong7639 p 4446828 html DNG格式基本概念 DNG格式是在TIFF的基础上扩展出来的 要了解D
  • 上拉电阻和下拉电阻

    一 定义 上拉电阻 将一个不确定的信号 通过一个电阻与电源VCC相连 固定在高电平 下拉电阻 将一个不确定的信号 通过一个电阻与地GND相连 固定在低电平 二 作用 提高输出信号驱动能力 确定输入信号电平 防干扰 限流 阻抗匹配 抗回波干扰
  • 项目3:(9)与安川控制器P3000通信模块代码

    1 common h 通信传输的IP地址 typedef struct char serverIp 16 int iPort CONNINFO 定义连接信息数据结构 定义发送数据的结构体 typedef struct double R Bo
  • 机器学习:深入理解 LSTM 网络 (一)

    Recurrent Neural Network Long Short Term Memory Networks LSTMs 最近获得越来越多的关注 与传统的前向神经网络 feedforward network 不同 LSTM 可以对之前的
  • 将一条直线朝着划线方向进行偏移

    写了一个将一条link朝着划线方向偏移一定的距离 供参考 def cal poi geom1 geom2 dis 将一条直线link朝着划线方向偏移 param geom1 param geom2 param dis return dis
  • 0动态规划中等 NC206 跳跃游戏(二)

    NC206 跳跃游戏 二 描述 给定一个非负整数数组nums 假定最开始处于下标为0的位置 数组里面的每个元素代表下一跳能够跳跃的最大长度 如果可以跳到数组最后一个位置 请你求出跳跃路径中所能获得的最多的积分 1 如果能够跳到数组最后一个位
  • 信息系统项目管理师学习笔记

    信息系统项目管理师学习笔记 信息化从小到大分为以下5个层次 产品信息化 企业信息化 产业信息化 国民经济信息化 社会生活信息化 国家信息化体系包括6要素 1 信息技术应用 2 信息资源 3 信息网络 4 信息技术和产业 5 信息化人才 6
  • Javascript高级应用:文件操作篇

    Javascript是网页制作中离不开的脚本语言 依靠它 一个网页的内容才生动活泼 富有朝气 但也许你还没有发现并应用它的一些更高级的功能吧 比如 对文件和文件夹进行读 写和删除 就象在VB VC等高级语言中经常做的工作一样 怎么样 你是否
  • 数据结构第五章(堆、哈夫曼树、哈夫曼编码)

    什么是堆 堆是按照一定顺序组织的完全二叉树 优先队列 特殊的 队列 取出元素的顺序是依照元素的优先权 关键字 大小 而不是元素进入队列的先后顺序 是否可以采用二叉树存储结构 可以 查找与删除的时间复杂度均为以2为底n的对数即log 2 n
  • OpenWRT 添加 WEB 配置界面实战记录

    本篇是记录在 Openwrt 镜像中添加 自定义的 web 配置界面过程 编译进 openwrt 的系统镜像中 第一步 建立项目文件目录 mkdir p feeds luci applications luci app Gateway mk
  • 我说的不是小鹅通

    互联网大致是这么三极 1 内容 应用表现为新闻 文学 知识 音乐 视频 直播 内容或专业媒体原创 或自媒体 UGC 或爬虫聚合 表现形式为文字 图片 音频 视频 承载物是一个个的工具App 2 游戏 3 电子商务 1 数据内容 小鹅通跟随的
  • 从零开始写一个Javascript解析器

    最近在研究 AST 之前有一篇文章 面试官 你了解过 Babel 吗 写过 Babel 插件吗 答 没有 卒 为什么要去了解它 因为懂得 AST 真的可以为所欲为 简单点说 使用 Javascript 运行Javascript代码 这篇文章
  • 手摸手带你玩转Vue3——Vue2升级Vue3

    今年年初 尤大大公布了一个重磅消息 将Vue3作为Vue的默认版本 这无疑不是对我们开发人员的内卷煽风点火 vue默认版本改动意味着 官方将会把Vue研发重心放到vue3上 vue2也开始走下坡路 至于淘汰过时只是时间问题了 从而周边生态
  • VMWare虚拟机网络配置

    Bridged 桥接模式 桥接模式相当于虚拟机和主机在同一个真实网段 VMWare充当一个集线器功能 一根网线连到主机相连的路由器上 所以如果电脑换了内网 静态分配的ip要更改 图如下 NAT 网络地址转换模式 NAT模式和桥接模式一样可以
  • 【华为OD机试c++/python】最少线段覆盖【 2023 Q1

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 给定坐标轴上的一组线段 线段的起点和终点均为整数并且长度不小于1 请你从中找到最少数量的线段 这些线段可以覆盖住所有线段 输入描述 第一行输入为
  • A-小美种果树(二分)-- 牛客周赛 Round 12

    输入 1 2 10 输出 6 解析 二分 注意两端端点L R的取值 include
  • html怎样设置同意服务条款,用户使用协议及服务条款.html

    用户使用协议及服务条款 axure utils getTransparentGifPath function return resources images transparent gif axure utils getOtherPath
  • 智慧煤矿技术理论篇1-5G与WiFi6技术

    5G VS WiFi6 5G技术 第五代移动通信技术 英语 5th generation mobile networks或5th generation wireless systems 5th Generation 简称5G或5G技术 是最
  • 数据结构-栈和队列(C/C++)

    栈和队列 一 实验目的 熟练掌握栈以及队列的结构特点 二 实验内容 运用栈和队列的结构特点完成相应的基本操作和实例 三 实验步骤 过程以及运行程序截图 栈 问题1 栈的基本操作 在插入栈元素的时候做一个统一输入 达到一次性任意输入0 Sta
  • 【每日一练】79—CSS实现扫描二维码动画

    二维码的应用越来越普通 加个好友 付个款 做个核酸 想去一个地方 还要扫个场所码 总之 需要二维码的地方越来越多 因此 在这样的大环境里 如何让你的码与众不同 引人注意 就显得非常重要 今天我们就来练习一个二维码的动画效果 具体效果如下 看