整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

现代CSS:纯 CSS 实现聊天气泡效果

通讯应用和聊天界面中,当你正在与对方交谈时对方正在输入一条信息,会有一个小的气泡动画或者文案提示。本文将探讨使用现代 CSS 来实现这一动画效果,首先会实现一个 Blink 效果的动画,然后实现一个波浪效果动画,最后实现一个语音气泡效果。

1.效果预览

1)Blink 效果:

2)Wave 效果:

3)语音气泡效果:

2.实现方案

2.1.快速创建页面和容器

通过 html:5div.container>(div.dot)*3 快速创建页面及容器。

<div class="container">
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
</div>

2.2.增加基础样式

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;
  }
}

2.3.实现动画

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 作者:泡泡土