自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個好用的 CSS 動畫庫,你知道幾個?

開發(fā) 前端
雖然在網(wǎng)絡(luò)上創(chuàng)建基本動畫不過是小菜一碟,但一旦涉及到處理復(fù)雜的動畫就會變得令人頭大起來。在本文中,我們探討了10個非常有用的CSS庫,它們提供了各種動畫范圍,可幫助大家減輕重新發(fā)明輪子的壓力。

在過去的很多年時間里,開發(fā)人員想要在網(wǎng)頁上顯示動畫,只能借助于Flash播放器和GIF圖片。

然而,隨著CSS3引入關(guān)鍵幀、過渡和動畫屬性,創(chuàng)建燃爆人眼球的抽象動畫變得容易起來。CSS3更新不但允許創(chuàng)建動畫,甚至可以呈現(xiàn)各種偽狀態(tài)(即懸停、聚焦等)。這些都是劃時代的進步。

使用這些屬性創(chuàng)建動畫非常簡單。首先,定義包含首選動畫序列的keyframes規(guī)則:

@keyframes float {
  0% {
    transform: translate(0, 0px);
  }
  50% {
    transform: translate(0, 15px);
  }
  100% {
    transform: translate(0, -0px);
  }
}

我們在上面定義了一個命名為float的關(guān)鍵幀,該關(guān)鍵幀在動畫流的0%處將元素translate屬性設(shè)置為平移0%,50%處沿y軸向上平移15px,100%處平移回0%。

然后,我們可以通過animation屬性將此關(guān)鍵幀流應(yīng)用于元素:

.element {
  animation: floating 3s ease-in-out infinite;
}

/* 或者 */

.element:hover {
  animation: floating 3s ease-in-out infinite;
}

我們發(fā)現(xiàn),創(chuàng)建簡單的浮動動畫就需要大量代碼,要是處理更復(fù)雜的動畫,代碼就更長了。動畫庫本質(zhì)上解決了這個問題,有了動畫庫,我們向網(wǎng)頁添加動畫的過程如同向元素添加類名一樣簡單。

這篇文章將介紹用于各種動畫類型,例如簡單運動、元素/頁面過渡、燈箱動畫、加載器、滾動時動畫頁面等等的10個常見的CSS動畫庫和平臺。一起來看看吧。

Animate.css

圖片圖片

Animate.css是最受歡迎的CSS動畫庫之一,截至撰寫本文為止,GitHub上的星星超過76k。只需在想要設(shè)置動畫的元素中包含類名,我們就可以通過Animate.css毫不費力地將多個動畫范圍添加到web應(yīng)用程序中。對于顯示頁面動畫、滑塊動畫以及整體引人注目的動畫,使用Animate.css非常方便。

這個庫包括的實用程序類還允許你直接從標記調(diào)整動畫持續(xù)時間、速度和重復(fù)動畫。你還可以將此庫提供的動畫與本地CSS關(guān)鍵幀屬性集成,并直接從CSS代碼進行調(diào)用。

如何使用

Animate.css可作為npm包提供,也可通過CDN使用:

<head>
  <link
    rel="stylesheet"
    
  />
</head>

在標記頭部分包含CDN URL后,你可以從可用動畫列表中調(diào)用,如下所示:

<div class="animate__animated animate__pulse">A pulse animated element</div>
<!-- using utility class  -->
<div class="animate__animated animate__pulse animate__infinite">A pulse animated element</div>

在第一個示例中,我們創(chuàng)建了一個脈沖動畫的div,默認情況下動畫1秒鐘,在第二個示例中,我們將脈沖動畫配置為使用animate__infinite實用程序類(相當于CSSanimation-iteration-count: infinite;)。

文檔地址:https://animate.style/

Github地址:https://github.com/animate-css/animate.css

Animista

Animista與其說是一個庫,不如說是一個CSS動畫平臺,因為它按需提供動畫,即你在平臺可以選擇想要的動畫類型,然后為你生成動畫CSS關(guān)鍵幀代碼。

圖片圖片

從表面上看,Animista上可用的動畫類型與animate.css上提供的動畫類型非常相似,但是,如果深入研究,你會發(fā)現(xiàn)Animista提供了更多有用的動畫類別,特別是在動畫文字和背景元素方面。而且,在你準備導(dǎo)出動畫代碼時,還可以選擇標準下載或壓縮代碼。

如何使用

無需下載任何軟件包,也無需在網(wǎng)站中包含任何CDN鏈接,即可使用Animista:只需訪問主頁,選擇喜歡的動畫,根據(jù)需要自定義動畫序列,就會立即產(chǎn)生代碼。

整個過程如下所示:

圖片圖片

文檔地址:https://docs.google.com/document/d/1jktijADrL3dmwF_td73HJrAD7-x_MY3i6VMtvqKwa1o/edit#

官方地址:https://animista.net/

Animation library

圖片圖片

你可以把Animation library當作是Animate.css的替代方案,因為它們提供類似的動畫類別。但是,與Animate.css不同點在于,Animation library不提供允許設(shè)置首選動畫持續(xù)時間、速度和計時的其他自定義選項。

此外,Animation library源文件被劃分為不同的類 — 例如,淡入淡出動畫的所有變體都位于單個源文件中,其他動畫類也是如此。

如何使用

下載包含所有動畫類別的ZIP文件后,選擇鏈接到其中的文件,并在標記中調(diào)用關(guān)聯(lián)的類名。下面是鏈接rotate.css并使用rotateUpRight樣式的一個示例:

<head>
  <link rel="stylesheet" href="path/to/rotate.css">
</head>

<body>
  <div class="rotateUpRight">
    This div will rotate up right.
  </div>
</body>

文檔地址:https://animation.kaustubhmenon.com/

Github地址:https://github.com/kaustubhmenon/animation-library

Magic CSS

圖片圖片

Magic CSS也是一個很有趣的動畫庫,與之前介紹的動畫庫相比,它提供的的動畫更具吸引力。軟件包提供的動畫對于頁面過渡非常方便。但是,magic CSS的一個缺點是它不支持Opera迷你瀏覽器。

如何使用

Magic CSS的用法非常簡單。既可以通過npm下載庫,也可以直接下載CSS源文件,并寫到網(wǎng)頁標記中,然后調(diào)用即可:

<head>
  <link rel="stylesheet" >
</head>

<body>
  <div class="magictime puffIn">
  </div>
</body>

文檔地址:https://www.minimamente.com/project/magic/

Github地址:https://github.com/miniMAC/magic

lightGallery

圖片圖片

lightGallery與我們之前提到的其他動畫庫不同,它是專門為制作焦點圖動畫而設(shè)計的。焦點圖動畫(如上圖所示)是單擊時以模態(tài)形式覆蓋當前網(wǎng)站的圖像。

lightGallery是一個多功能庫,因為它支持視頻文件,允許你以輪播格式渲染媒體資源,允許你創(chuàng)建自定義插件來擴展或修改功能。同樣值得注意的是,lightGallery并不完全是一個純粹的CSS動畫庫,它的功能依賴于JavaScript。

如何使用

lightGallery可通過npm/yarn、bower獲得,也可通過CDN提供服務(wù)。要使用傳統(tǒng)網(wǎng)頁,首先在網(wǎng)頁中包含CSS和JavaScript CDN鏈接,如下所示:

<head>
  <link rel="stylesheet" href="/path/to/lightgallery-bundle.css" />
</head>

<body>
  <!-- . . .  -->
  <script src="/path/to/lightgallery.min.js"></script>
</body>

然后,創(chuàng)建元素,該元素將充當要轉(zhuǎn)換為焦點圖的所有圖像的容器:

<div id="lightbox-container">
  <a data-lg-size="1600-2400">
    <img src="path/to/img" />
  </a>
  <a data-lg-size="1024-800">
    <img src="path/to/img" />
  </a>
</div>

最后,通過之前創(chuàng)建的容器初始化lightGallery,腳本如下:

lightGallery(document.getElementById("lightbox-container"), {
  speed: 500
  //   ...
});

lightGallery還可與其他JavaScript框架(如React、Angular和Vue)集成,使得通過組件和props來使用庫更加方便容易。

文檔地址:https://www.lightgalleryjs.com/

Github地址:https://github.com/sachinchoolur/lightGallery

責(zé)任編輯:武曉燕 來源: 前端新世界
相關(guān)推薦

2024-09-30 10:05:00

2023-12-15 10:42:05

2023-04-10 11:25:29

工程交流DX

2023-10-30 18:00:00

Docker命令開源平臺

2020-03-25 10:27:59

Python語言

2022-04-24 10:12:25

Python軟件包代碼

2021-11-19 16:54:11

Python代碼開發(fā)

2015-09-20 16:23:27

2021-09-15 09:20:37

Python函數(shù)代碼

2023-10-10 08:33:40

編程范式命令式編程

2023-03-19 16:15:33

CSS技巧開發(fā)

2023-03-31 08:10:50

2025-02-12 08:27:49

CSS選擇器ID

2022-01-05 11:40:36

Go特性語言

2010-08-23 09:20:11

Linux命令

2023-12-23 11:15:25

2024-02-05 22:53:59

前端開發(fā)

2024-02-27 09:28:15

前端開發(fā)函數(shù)庫

2010-09-08 14:35:22

CSS

2022-03-13 23:31:13

JavaScript工具動畫庫
點贊
收藏

51CTO技術(shù)棧公眾號