記錄-css實現交融文字效果

来源:https://www.cnblogs.com/smileZAZ/archive/2023/04/11/17307253.html
-Advertisement-
Play Games

這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 CSS是有魔法的,我們今天來實現一個CSS的動畫效果,只需要幾行代碼就可以搞定。 第一步、我們要將一行文字從中間展開 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...


這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助

CSS是有魔法的,我們今天來實現一個CSS的動畫效果,只需要幾行代碼就可以搞定。

第一步、我們要將一行文字從中間展開

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            background: #000;
        }
        .container{
            margin-top: 50px;
            text-align: center;
            background-color: #000;
            filter: contrast(30);
        }
        .text{
            font-size: 100px;
            color: #fff;
            /* 第一步、如何從中間展開 */
            letter-spacing: 0px;
        }
    </style>
</head>
<body>
    <div class="container">
        <span class="text">hello world</span>
    </div>
</body>
</html>

以上是基礎代碼結構,通過調整letter-spacing的值,我們可以控制他的展開與收起。值越小為負數時文字就可以擠在一起,越大文字間距就越大。

預設值為0時正常顯示的效果

 

小於正常值的效果

我們可以為節點加上keyframes動畫,此時letter-spacing屬性轉由keyframes控制可以達到自動展開文字的效果

.text{
  font-size: 100px;
  color: #fff;
  animation: showup 3s forwards;
}
@keyframes showup {
  from{
    letter-spacing: -50px;
  }
  to{
    letter-spacing: 10px;
  }
}

第二步、我們需要設置文字融合在一起的效果

先給文本節點設置filter blur文字變得模糊

學過ps的就會知道,當給圖片加上較高的對比度的時候,就會導致黑的部分越黑,白的部分越白。我們給父節點加上filter,設置contrast(30),可以獲得如下效果

這樣就有了一些圓潤的邊緣,最後我們將對應的css屬性交給keyframes控制,就可以達到最終的效果

@keyframes showup {
    from{
        letter-spacing: -50px;
				/* 新增 */
        filter: blur(10px);
    }
    to{
        letter-spacing: 10px;
        /* 新增 */
        filter: blur(2px);
    }
}

完整代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            background: #000;
        }
        .container{
            margin-top: 50px;
            text-align: center;
            background-color: #000;
            filter: contrast(30);
        }
        .text{
            font-size: 100px;
            color: #fff;
            /* 第一步、如何從中間展開 */
            /* letter-spacing: 0px; */
            animation: showup 3s forwards;
        }
        @keyframes showup {
            from{
                letter-spacing: -50px;
                filter: blur(10px);
            }
            to{
                letter-spacing: 10px;
                filter: blur(2px);
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <span class="text">hello world</span>
    </div>
</body>
</html>

本文轉載於:

https://juejin.cn/post/7220696133730828344

如果對您有所幫助,歡迎您點個關註,我會定時更新技術文檔,大家一起討論學習,一起進步。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先可以直接改Hosts文件(現在不太管用了)。如果你是Linux或Mac系統,那麼可以通過命令sudo vim /etc/hosts打開Hosts文件併進行修改。如果你已經擁有了網路代理服務,那麼我們可以在此基礎上配置終端代理。我們查看得知自己代理伺服器的IP地址為http://127.0.0.1... ...
  • 鎖屏面試題百日百刷,每個工作日堅持更新面試題。請看到最後就能獲取你想要的,接下來的是今日的面試題: 1.請說明什麼是Apache Kafka? Apache Kafka是由Apache開發的一種發佈訂閱消息系統,它是一個分散式的、分區的和重覆的日誌服務。 2.請說明什麼是傳統的消息傳遞方法? 傳統的 ...
  • 解壓flume包 到/usr/local/src/目錄下 [root@hadoopha01 pack]# tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /usr/local/src/ 配置flume環境變數 #FLUME_HOME export FLUME_H ...
  • GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。 作者: Yejinrong/葉金榮 文章來源:GreatSQL社區投稿 編譯GreatSQL 安裝gdb 開始調試GreatSQL源碼 3.1 利用gd ...
  • Redis 是一個高性能的鍵值存儲系統,支持多種數據結構。 包含五種基本類型 String(字元串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),和三種特殊類型 Geo(地理位置)、HyperLogLog(基數統計)、Bitmaps(點陣圖)。 ...
  • 最近在閱讀《認知覺醒》這本書,裡面有句話非常打動我:通過自己的語言,用最簡單的話把一件事情講清楚,最好讓外行人也能聽懂。希望藉助今天這篇文章,能用大白話說清楚這個相對比較底層和複雜的MVCC機制 ...
  • 二手車交易的核心問題在於車況信息不透明。中國二手車交易市場制度尚不完善,長期以來缺少行業公認的車輛估值標準和車況檢測標準,二手車商提供的估值和車況信息不夠透明。這導致用戶和車商交易雙方都陷入了迴圈困境:用戶對車商信任不足,購買意願低。二手車商缺少潛在客戶線索,為招攬客戶不惜採用虛假信息,使得市場環境... ...
  • 華為運動健康服務(HUAWEI Health Kit)6.10.0 版本新增的能力有哪些? 閱讀本文尋找答案,一起加入運動健康服務生態大家庭! 一、 支持三方應用查詢用戶測量的連續血糖數據 符合申請Health Kit服務中開發者申請資質要求的企業開發者,可申請訪問用戶的心率、壓力、血糖等健康數據。 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...