通讯应用和聊天界面中,当你正在与对方交谈时对方正在输入一条信息,会有一个小的气泡动画或者文案提示。本文将探讨使用现代 CSS 来实现这一动画效果,首先会实现一个 Blink 效果的动画,然后实现一个波浪效果动画,最后实现一个语音气泡效果。
1)Blink 效果:
2)Wave 效果:
3)语音气泡效果:
通过 html:5 和 div.container>(div.dot)*3 快速创建页面及容器。
<div class="container">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
1)容器居中:
body {
display: grid;
place-content: center;
min-height: 100vh;
margin: 0;
}
2)容器样式:
注意:此处使用了现代CSS 原生嵌套(参考链接:)
.container {
display: flex;
justify-content: center;
align-items: center;
gap: 0.25rem;
background: #e2e8f0;
border-radius: 9999px;
padding: 1rem;
.dot {
border-radius: 9999px;
height: 0.5rem;
width: 0.5rem;
background: #93a2b7;
}
}
1)Blink 效果:
核心思想是通过给dot 元素设置 opacity 设置属性来改变其透明度,同时对 3 个 dot 的透明度变化设置不同的动画延迟 animation-delay 属性来实现闪烁的效果。
.container {
.dot {
opacity: 0;
animation: blink 1s infinite;
&:nth-child(1) {
animation-delay: 0.3333s;
}
&:nth-child(2) {
animation-delay: 0.6666s;
}
&:nth-child(3) {
animation-delay: 0.9999s;
}
}
}
@keyframes blink {
50% {
opacity: 1;
}
}
2)Wave 效果:
核心思想:给 dot 元素增加 transform 属性,设置 translateY 的值将目标元素从下至上垂直重新定位,同时在动画关键帧 keyframes 中对颜色进行调整。
.container {
.dot {
animation: wave 1s infinite;
}
}
@keyframes wave {
0% {
transform: translateY(0px);
background: rgba(148 163 184 / 0);
}
25% {
transform: translateY(-0.25rem);
background: rgba(148 163 184 / 0.8);
}
50% {
transform: translateY(0px);
background: rgba(148 163 184 / 0);
}
75% {
transform: translateY(0.25rem);
background: rgba(148 163 184 / 0.8);
}
100% {
transform: translateY(0);
background: rgba(148 163 184 / 0);
}
}
2)语音气泡效果:
语音气泡是以可视化方式显示对话或思想的一种流行而有效的方法。你可能在漫画、卡通、广告和社交媒体文章中见过它们。它们为设计增添了幽默、情感和个性,同时也为观众提供了语境。此外,语音气泡布局还可以将文字较多的设计分割开来,使其更加吸引人。
核心思想:在 wave 效果的基础上,对 .contianer 容器增加 ::before 和 ::after 两个伪元素来实现左下角的圆圈,同时动画中增加对整个容器的放大和缩小 scale 动画,并采用 ease-out 函数。
.container {
animation: 2s zoom infinite ease-out;
position: relative;
&::before,
&::after {
content: '';
position: absolute;
border-radius: 9999px;
background: rgb(226 232 240);
bottom: 0;
left: 0;
}
&::before {
height: 1rem;
width: 1rem;
transform: translate(-0.125rem, 0.125rem);
}
&::after {
height: 0.5rem;
width: 0.5rem;
transform: translate(-0.5rem, 0.5rem);
}
.dot {
border-radius: 9999px;
height: 0.5rem;
width: 0.5rem;
background: rgba(148 163 184 / 1);
animation: wave 1.2s infinite;
&:nth-child(1) {
animation-delay: 0.4s;
}
&:nth-child(2) {
animation-delay: 0.8s;
}
&:nth-child(3) {
animation-delay: 1.2s;
}
}
}
@keyframes zoom {
50% {
transform: scale(1.1);
}
}
如果本文对您有帮助,欢迎关注、点赞和转发,感谢您的支持!
爱范儿旗下产品发现社区 MindStore.io上,每天都能找到各种有趣、实用的新鲜产品。昨天排名榜首的WeBack引起了我们的强烈兴趣。根据其开发者 marvinII 的描述,“WeBack 是一款微信聊天记录导出工具(Mac 版),浏览对话,播放语音,导出为 HTML。”
我刚好缺这么一款软件。
WeBack 的使用很简单。首先通过 iTunes 将 iPhone 数据备份到 Mac 上。然后打开 WeBack,后者会自动发现备份文件中的微信数据。
点击其中一个备份(如 “hy 的 iPhone 6”),WeBack 就会对其解析,得到你的微信联系人和聊天记录。
由于涉及作者隐私,所以“结果”使用了 WeBack 官网截图
然后点击“导出”,即可导出为 HTML,在浏览器回顾你的聊天记录。
WeBack 解析出来的微信聊天记录会以和 iPhone 上相同的聊天泡泡形式呈现。语音、照片、视频、位置等各类消息皆可在 WeBack 里展示。你可以将珍贵的聊天记录导出为 HTML 文件,所有的语音、照片、视频均能在浏览器里播放和显示。此外,WeBack 也支持多设备、多账号和群聊记录导出。
在 WeBack 的官网上可以下载免费试用版,不过仅能显示前 20 条记录。如果觉得满意,可以花费 49 元购买注册码获得完整体验。
我们联系上了 WeBack 的开发者 marvinII,并对其进行了简单的采访,以便让大家了解更多关于这款产品以及开发者的故事。以下是问答记录,加粗部分为提问:
请问为何想到要开发 WeBack ?
Nokisoft.com 以前比较成功的 Noki/NokiGems 都是 Windows 上的诺基亚数据恢复软件(短信、电话簿、日历等);转到 iPhone 后,微信逐渐取代短信/iMessage 成为了主要的联系渠道,习惯性地希望聊天记录能够导出成容易存取的格式,看到已有的软件基本都是丢给用户一个 SQLite 数据库,也就有了写 WeBack 的想法。
整个 WeBack 软件的设计和开发都是你一个人操刀的还是说有其他人参与呢?
一个人写的,Objc + Lua + LuaCocoa,Cocoa 写界面,用 Lua 完成文件解析和 HTML 导出,修改后的 LuaCocoa 作为 Lua 和 Objc 的 bridge;图标购买了 Glyphish 的。
后续会继续改进这款产品或是添加一些新的功能吗?
后续改进主要看用户的反馈;现在标的是 Beta 版,如果很快能做好一个小改进我就会直接发布。
下一个版本计划做聊天记录导出的 HTML 记录的分页或者渐进加载,因为有多个用户已经开始反馈,几万条的记录导出后,无论 Safari, Firefox 还是 Chrome 都吃不消了。
会开发 Windows 平台的版本吗?
暂不会。主要精力还在 Mac 和 iPhone 上。
为何不开发 Android 版本呢?
Android 没有 iTunes 这样统一的备份格式是主要原因。
之前了解到,WeBack 是你利用业余时间写的,那么除了 WeBack 之外,业余时间还写过什么作品吗?请简单介绍一下。
(1)Fio Engine: 黑岛工作室解散后,辐射系列的资源格式被逐渐逆向工程,作为一个《辐射》玩家,就有了以《辐射2》游戏资源为基础,重写一个辐射游戏引擎的想法。逐渐试错,完成了一个完整引擎(DirectX/C++/Lua),并重做了《辐射2》的第一个关卡:阿罗由。(引擎的详细信息在:http://www.nokisoft.com/fio/wiki/screenshots.html)
(2)Lua Programming Gems: 第十一章 Lua Scripting Packaging。游戏引擎的脚本部分是 Lua 语言,脚本打包的技术有幸被 Lua Programming Gems 这本书选中,成为一章 (http://www.lua.org/gems)。
过路过,千万不要错过
如此可爱的「视频通话AR效果」功能哟!!
「视频通话AR效果」功能是一种可以实时反映面部表情,
并增强现实3D模型来实时替换人脸的视频通话功能哦~
对于那些不得不进行视频通话,
却不想面对面进行交谈的情况下,
「视频通话AR效果」功能将会是一个不错的选择~
比如早上刚刚起床,
却不想被别人看到昏昏沉沉的样子的时候,
就可以开启AR效果来遮住真容,
减少对大家形象的负面影响,干净可爱一步到位~
那么如何开启使用「视频通话AR效果」功能呢?
打通电话>>「视频通话」>>「AR效果」,
大家就可以在里面看到可爱的动画表情啦~
之后「视频通话AR效果」将会对大家的面部表情作出反应,
通过用动画表情符号来代替大家的人脸,
使视频通话质量获得改善,
与亲朋好友之间的聊天过程变得更加亲近哦~
而且,利用AR表情构建的3D面部模型
将会对大家的面部表情做出快速实时的反应,
无论是开心,沮丧还是惊讶等等等,
AR动画表情都能轻松帮你显现出丰富的情感表情~
你以为这就结束了吗?
不不,好玩的还在后头呢!!
大家不仅可以使用手机本身提供的
四种动画表情来进行视频通话
还可以使用各自的自拍照
来DIY出专属于你的动画角色,
使大家的视频通话变得更加生动有趣哟~
打开「相机」>>「更多」>>「AR区」>>「动态萌拍工作室」
之后选择大家所舒适的创建方式,
并在里面自主调整各类动画角色的相貌特征与风格
最后点击「下一页」选项,即可在视频通话过程中
使用起大家DIY出的个人动画形象哦~~
不过需要注意是,
这些功能仅限Galaxy S10系列、Galaxy Note10系列及之后的
Galaxy S系列、Galaxy Note系列,以及Galaxy Z系列机型使用哦~
怎么样?
看了上述内容介绍之后,
有木有被「视频通话AR效果」功能所心动呢?
心动不如行动,快点拿起你的三星手机,
去体验一番视频通话AR效果所带来的快乐吧~
文章转载三星盖乐世社区:
https://www.samsungmembers.cn/thread-1327688-4-10.html 作者:泡泡土
*请认真填写需求信息,我们会在24小时内与您取得联系。