通訊應用和聊天界面中,當你正在與對方交談時對方正在輸入一條信息,會有一個小的氣泡動畫或者文案提示。本文將探討使用現(xiàn)代 CSS 來實現(xiàn)這一動畫效果,首先會實現(xiàn)一個 Blink 效果的動畫,然后實現(xiàn)一個波浪效果動畫,最后實現(xiàn)一個語音氣泡效果。
1)Blink 效果:
2)Wave 效果:
3)語音氣泡效果:
通過 html:5 和 div.container>(div.dot)*3 快速創(chuàng)建頁面及容器。
<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)容器樣式:
注意:此處使用了現(xiàn)代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 屬性來實現(xiàn)閃爍的效果。
.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)語音氣泡效果:
語音氣泡是以可視化方式顯示對話或思想的一種流行而有效的方法。你可能在漫畫、卡通、廣告和社交媒體文章中見過它們。它們?yōu)樵O計增添了幽默、情感和個性,同時也為觀眾提供了語境。此外,語音氣泡布局還可以將文字較多的設計分割開來,使其更加吸引人。
核心思想:在 wave 效果的基礎上,對 .contianer 容器增加 ::before 和 ::after 兩個偽元素來實現(xiàn)左下角的圓圈,同時動畫中增加對整個容器的放大和縮小 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);
}
}
如果本文對您有幫助,歡迎關注、點贊和轉發(fā),感謝您的支持!
愛范兒旗下產品發(fā)現(xiàn)社區(qū) MindStore.io上,每天都能找到各種有趣、實用的新鮮產品。昨天排名榜首的WeBack引起了我們的強烈興趣。根據其開發(fā)者 marvinII 的描述,“WeBack 是一款微信聊天記錄導出工具(Mac 版),瀏覽對話,播放語音,導出為 HTML。”
我剛好缺這么一款軟件。
WeBack 的使用很簡單。首先通過 iTunes 將 iPhone 數據備份到 Mac 上。然后打開 WeBack,后者會自動發(fā)現(xiàn)備份文件中的微信數據。
點擊其中一個備份(如 “hy 的 iPhone 6”),WeBack 就會對其解析,得到你的微信聯(lián)系人和聊天記錄。
由于涉及作者隱私,所以“結果”使用了 WeBack 官網截圖
然后點擊“導出”,即可導出為 HTML,在瀏覽器回顧你的聊天記錄。
WeBack 解析出來的微信聊天記錄會以和 iPhone 上相同的聊天泡泡形式呈現(xiàn)。語音、照片、視頻、位置等各類消息皆可在 WeBack 里展示。你可以將珍貴的聊天記錄導出為 HTML 文件,所有的語音、照片、視頻均能在瀏覽器里播放和顯示。此外,WeBack 也支持多設備、多賬號和群聊記錄導出。
在 WeBack 的官網上可以下載免費試用版,不過僅能顯示前 20 條記錄。如果覺得滿意,可以花費 49 元購買注冊碼獲得完整體驗。
我們聯(lián)系上了 WeBack 的開發(fā)者 marvinII,并對其進行了簡單的采訪,以便讓大家了解更多關于這款產品以及開發(fā)者的故事。以下是問答記錄,加粗部分為提問:
請問為何想到要開發(fā) WeBack ?
Nokisoft.com 以前比較成功的 Noki/NokiGems 都是 Windows 上的諾基亞數據恢復軟件(短信、電話簿、日歷等);轉到 iPhone 后,微信逐漸取代短信/iMessage 成為了主要的聯(lián)系渠道,習慣性地希望聊天記錄能夠導出成容易存取的格式,看到已有的軟件基本都是丟給用戶一個 SQLite 數據庫,也就有了寫 WeBack 的想法。
整個 WeBack 軟件的設計和開發(fā)都是你一個人操刀的還是說有其他人參與呢?
一個人寫的,Objc + Lua + LuaCocoa,Cocoa 寫界面,用 Lua 完成文件解析和 HTML 導出,修改后的 LuaCocoa 作為 Lua 和 Objc 的 bridge;圖標購買了 Glyphish 的。
后續(xù)會繼續(xù)改進這款產品或是添加一些新的功能嗎?
后續(xù)改進主要看用戶的反饋;現(xiàn)在標的是 Beta 版,如果很快能做好一個小改進我就會直接發(fā)布。
下一個版本計劃做聊天記錄導出的 HTML 記錄的分頁或者漸進加載,因為有多個用戶已經開始反饋,幾萬條的記錄導出后,無論 Safari, Firefox 還是 Chrome 都吃不消了。
會開發(fā) Windows 平臺的版本嗎?
暫不會。主要精力還在 Mac 和 iPhone 上。
為何不開發(fā) Android 版本呢?
Android 沒有 iTunes 這樣統(tǒng)一的備份格式是主要原因。
之前了解到,WeBack 是你利用業(yè)余時間寫的,那么除了 WeBack 之外,業(yè)余時間還寫過什么作品嗎?請簡單介紹一下。
(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效果」功能是一種可以實時反映面部表情,
并增強現(xiàn)實3D模型來實時替換人臉的視頻通話功能哦~
對于那些不得不進行視頻通話,
卻不想面對面進行交談的情況下,
「視頻通話AR效果」功能將會是一個不錯的選擇~
比如早上剛剛起床,
卻不想被別人看到昏昏沉沉的樣子的時候,
就可以開啟AR效果來遮住真容,
減少對大家形象的負面影響,干凈可愛一步到位~
那么如何開啟使用「視頻通話AR效果」功能呢?
打通電話>>「視頻通話」>>「AR效果」,
大家就可以在里面看到可愛的動畫表情啦~
之后「視頻通話AR效果」將會對大家的面部表情作出反應,
通過用動畫表情符號來代替大家的人臉,
使視頻通話質量獲得改善,
與親朋好友之間的聊天過程變得更加親近哦~
而且,利用AR表情構建的3D面部模型
將會對大家的面部表情做出快速實時的反應,
無論是開心,沮喪還是驚訝等等等,
AR動畫表情都能輕松幫你顯現(xiàn)出豐富的情感表情~
你以為這就結束了嗎?
不不,好玩的還在后頭呢!!
大家不僅可以使用手機本身提供的
四種動畫表情來進行視頻通話
還可以使用各自的自拍照
來DIY出專屬于你的動畫角色,
使大家的視頻通話變得更加生動有趣喲~
打開「相機」>>「更多」>>「AR區(qū)」>>「動態(tài)萌拍工作室」
之后選擇大家所舒適的創(chuàng)建方式,
并在里面自主調整各類動畫角色的相貌特征與風格
最后點擊「下一頁」選項,即可在視頻通話過程中
使用起大家DIY出的個人動畫形象哦~~
不過需要注意是,
這些功能僅限Galaxy S10系列、Galaxy Note10系列及之后的
Galaxy S系列、Galaxy Note系列,以及Galaxy Z系列機型使用哦~
怎么樣?
看了上述內容介紹之后,
有木有被「視頻通話AR效果」功能所心動呢?
心動不如行動,快點拿起你的三星手機,
去體驗一番視頻通話AR效果所帶來的快樂吧~
文章轉載三星蓋樂世社區(qū):
https://www.samsungmembers.cn/thread-1327688-4-10.html 作者:泡泡土
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。