日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

【动画消消乐 】HTML+CSS 吃豆豆动画 073

發布時間:2023/12/8 HTML 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【动画消消乐 】HTML+CSS 吃豆豆动画 073 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Hello!小伙伴!
非常感謝您閱讀海轟的文章,倘若文中有錯誤的地方,歡迎您指出~
?
自我介紹 ?(?ˊ?ˋ)?
昵稱:海轟
標簽:程序猿|C++選手|學生
簡介:因C語言結識編程,隨后轉入計算機專業,有幸拿過國獎、省獎等,已保研。目前正在學習C++/Linux(真的真的太難了~)
學習經驗:扎實基礎 + 多做筆記 + 多敲代碼 + 多思考 + 學好英語!
?
【動畫消消樂】 平時學習生活比較枯燥,無意之間對一些網頁、應用程序的過渡/加載動畫產生了濃厚的興趣,想知道具體是如何實現的? 便在空閑的時候學習下如何使用css實現一些簡單的動畫效果,文章僅供作為自己的學習筆記,記錄學習生活,爭取理解動畫的原理,多多“消滅”動畫!

效果展示

Demo代碼

HTML

<!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"><link rel="stylesheet" href="style.css"><title>Document</title> </head> <body><section><span></span></section> </body> </html>

CSS

html,body{margin: 0;height: 100%; } body{display: flex;justify-content: center;align-items: center;background: #263238; } section {width: 650px;height: 300px;padding: 10px;position: relative;display: flex;align-items: center;justify-content: center;/* 紅色邊框僅作提示 */border: 2px solid red; }span{display: inline-block;position: relative;border-radius: 50%;border-top: 48px white solid;border-bottom: 48px white solid;border-left: 48px white solid;border-right: 48px transparent solid;color: white;animation: c .5s linear infinite ; } @keyframes c {0%{box-shadow: 120px 0px 0 -40px rgba(255, 255, 255, .5),100px 0px 0 -40px rgba(255, 255, 255, .75),80px 0px 0 -40px rgba(255, 255, 255, 1);}100%{box-shadow: 100px 0px 0 -40px rgba(255, 255, 255, .5),80px 0px 0 -40px rgba(255, 255, 255, .75),60px 0px 0 -40px rgba(255, 255, 255, 1);}} span::before{position: absolute;content: '';display: inline-block;top: -48px;left: -48px;border-top: 48px white solid;border-bottom: 48px transparent solid;border-left: 48px transparent solid;border-right: 48px transparent solid;border-radius: 50%;animation: a .25s linear infinite alternate; }span::after{position: absolute;content: '';top: -48px;left: -48px;border-top: 48px transparent solid;border-bottom: 48px white solid;border-left: 48px transparent solid;border-right: 48px transparent solid;border-radius: 50%;animation: b .25s linear infinite alternate; }@keyframes a {0% { transform: rotate(45deg) }100% { transform: rotate(0deg)} }@keyframes b {0% { transform: rotate(-45deg) }100% { transform: rotate(0deg)} }

原理詳解

步驟1

使用span標簽,設置為

  • 相對定位
  • 上、下、左邊框為48px 白色 實線solid
  • 右邊框為48px 透明 實線solid
span {position: relative;border-top: 48px white solid;border-bottom: 48px white solid;border-left: 48px white solid;border-right: 48px transparent solid; }

效果如下圖

步驟2

span圓角化

span {border-radius: 50%; }

效果如下圖

步驟3

為span添加三個陰影

box-shadow: 120px 0px 0 -40px rgba(255, 255, 255, .5), /*陰影1*/100px 0px 0 -40px rgba(255, 255, 255, .75), /*陰影2*/80px 0px 0 -40px rgba(255, 255, 255, 1);/*陰影3*/

效果如下圖

步驟4

為span的三個陰影添加動畫

動畫效果很簡單,就是三個小球從右水平移動至左方

只需要修改box-shadow中的水平偏移量即可完成

span {animation: c 1s linear infinite; } @keyframes c {0% {box-shadow: 120px 0px 0 -40px rgba(255, 255, 255, .5), 100px 0px 0 -40px rgba(255, 255, 255, .75), 80px 0px 0 -40px rgba(255, 255, 255, 1);}100% {box-shadow: 100px 0px 0 -40px rgba(255, 255, 255, .5), 80px 0px 0 -40px rgba(255, 255, 255, .75), 60px 0px 0 -40px rgba(255, 255, 255, 1);} }


效果如下圖

步驟5

使用span::before和span::after充當嘴閉合的兩部分

首先設置span::before

設置為

  • 絕對定位(top: -48px left: -48px)
  • 上邊框為:48px red solid
  • 下、左、右邊框:48px transparent solid;
span::before {position: absolute;content: '';top: -48px;left: -48px;border-top: 48px red solid;border-bottom: 48px transparent solid;border-left: 48px transparent solid;border-right: 48px transparent solid; }

效果如下圖


再圓角化

span::before {border-radius: 50%; }

效果如下圖


為span::before添加動畫

動畫效果描述為:一直繞圓心旋轉 0-45度

span::before {animation: a .5s linear infinite alternate; } @keyframes a {0% {transform: rotate(45deg)}100% {transform: rotate(0deg)} }

效果如下圖

同理 使用span::after

設置為

  • 絕對定位( top: -48px left: -48px)
  • 下邊框:48px red solid;
  • 上、左、右邊框:48px transparent solid;
  • 圓角化:border-radius: 50%;
span::after {position: absolute;content: '';top: -48px;left: -48px;border-top: 48px transparent solid;border-bottom: 48px red solid;border-left: 48px transparent solid;border-right: 48px transparent solid;border-radius: 50%; }

效果如下圖


再為span::after添加和before一樣效果的動畫

span::after {animation: b .5s linear infinite alternate; } @keyframes b {0% {transform: rotate(-45deg)}100% {transform: rotate(0deg)} }

效果如下圖

步驟6

span::after、span::before邊框中顏色紅色修改為白色

最后span、span::after、span::before三個動畫一起顯示

得到最終效果

結語

學習來源:

https://codepen.io/bhadupranjal/pen/vYLZYqQ

文章僅作為學習筆記,記錄從0到1的一個過程。希望對您有所幫助,如有錯誤歡迎小伙伴指正~

我是海轟?(?ˊ?ˋ)?,如果您覺得寫得可以的話,請點個贊吧

寫作不易,「點贊」+「收藏」+「轉發」

謝謝支持??

總結

以上是生活随笔為你收集整理的【动画消消乐 】HTML+CSS 吃豆豆动画 073的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。