溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用CSS3動畫實現(xiàn)圓圈由小變大向外擴散的效果

發(fā)布時間:2021-05-31 13:38:40 來源:億速云 閱讀:1013 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關如何利用CSS3動畫實現(xiàn)圓圈由小變大向外擴散的效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

css3中新增了一個animation的屬性,該屬性類似于創(chuàng)建一個animation對象

如:animation: bounce 2.0s infinite ease-in-out;

animation有以下幾個參數(shù):

屬性描述CSS
animation所有動畫屬性的簡寫屬性,除了 animation-play-state 屬性。3
animation-name規(guī)定 @keyframes 動畫的名稱。3
animation-duration規(guī)定動畫完成一個周期所花費的秒或毫秒。默認是 0。3
animation-timing-function規(guī)定動畫的速度曲線。默認是 "ease"。3
animation-delay規(guī)定動畫何時開始。默認是 0。3
animation-iteration-count規(guī)定動畫被播放的次數(shù)。默認是 1。3
animation-direction規(guī)定動畫是否在下一周期逆向地播放。默認是 "normal"。3
animation-play-state規(guī)定動畫是否正在運行或暫停。默認是 "running"。3
animation-fill-mode規(guī)定對象動畫時間之外的狀態(tài)。3

CSS 3 中2D轉(zhuǎn)換的實現(xiàn)用到兩個屬性:

屬性描述CSS
transform向元素應用 2D 或 3D 轉(zhuǎn)換。3
transform-origin指定變換的基點的位置。3

靜態(tài)效果圖:

如何利用CSS3動畫實現(xiàn)圓圈由小變大向外擴散的效果

具體如代碼所示:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<style>
@keyframes warn {
 0% {
  transform: scale(0);
  opacity: 0.0;
 }
 25% {
  transform: scale(0);
  opacity: 0.1;
 }
 50% {
  transform: scale(0.1);
  opacity: 0.3;
 }
 75% {
  transform: scale(0.5);
  opacity: 0.5;
 }
 100% {
  transform: scale(1);
  opacity: 0.0;
 }
}
@-webkit-keyframes "warn" {
 0% {
  -webkit-transform: scale(0);
  opacity: 0.0;
 }
 25% {
  -webkit-transform: scale(0);
  opacity: 0.1;
 }
 50% {
  -webkit-transform: scale(0.1);
  opacity: 0.3;
 }
 75% {
  -webkit-transform: scale(0.5);
  opacity: 0.5;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 0.0;
 }
}
 
.container {
 position: relative;
 width: 40px;
 height: 40px;
 border: 1px solid #000;
}
/* 保持大小不變的小圓圈  */
.dot {
 position: absolute;
 width: 6px;
 height: 6px;
 left: 15px;
 top: 15px;
 -webkit-border-radius: 20px;
 -moz-border-radius: 20px;
 border: 2px solid red;
 border-radius: 20px;
 z-index: 2;
}
/* 產(chǎn)生動畫(向外擴散變大)的圓圈  */
.pulse {
 position: absolute;
 width: 24px; 
 height: 24px;
 left: 2px;
 top: 2px;
 border: 6px solid red;
 -webkit-border-radius: 30px;
 -moz-border-radius: 30px;
 border-radius: 30px;
 z-index: 1;
 opacity: 0;
 -webkit-animation: warn 3s ease-out;
 -moz-animation: warn 3s ease-out;
 animation: warn 3s ease-out;
 -webkit-animation-iteration-count: infinite;
 -moz-animation-iteration-count: infinite;
 animation-iteration-count: infinite;
}
</style>
 
</head>
 
<body>
<div class="container">
    <div class="dot"></div>
    <div class="pulse"></div>
</div>
</body>
</html>

關于“如何利用CSS3動畫實現(xiàn)圓圈由小變大向外擴散的效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI