【動(dòng)畫(huà)消消樂(lè)|CSS】080.單span標(biāo)簽實(shí)現(xiàn)自定義簡(jiǎn)易過(guò)渡動(dòng)畫(huà)

前言

Hello央渣!小伙伴!

非常感謝您閱讀海轟的文章渴频,倘若文中有錯(cuò)誤的地方芽丹,歡迎您指出~

?

自我介紹 ?(?ˊ?ˋ)?

昵稱:海轟

標(biāo)簽:程序猿|C++選手|學(xué)生

簡(jiǎn)介:因C語(yǔ)言結(jié)識(shí)編程,隨后轉(zhuǎn)入計(jì)算機(jī)專業(yè)卜朗,有幸拿過(guò)國(guó)獎(jiǎng)拔第、省獎(jiǎng)等咕村,已保研。目前正在學(xué)習(xí)C++/Linux(真的真的太難了~)

學(xué)習(xí)經(jīng)驗(yàn):扎實(shí)基礎(chǔ) + 多做筆記 + 多敲代碼 + 多思考 + 學(xué)好英語(yǔ)蚊俺!

?
<font color="red" font-wight="800">【動(dòng)畫(huà)消消樂(lè)】</font> 平時(shí)學(xué)習(xí)生活比較枯燥懈涛,無(wú)意之間對(duì)一些網(wǎng)頁(yè)、應(yīng)用程序的過(guò)渡/加載動(dòng)畫(huà)產(chǎn)生了濃厚的興趣泳猬,想知道具體是如何實(shí)現(xiàn)的批钠? 便在空閑的時(shí)候?qū)W習(xí)下如何使用css實(shí)現(xiàn)一些簡(jiǎn)單的動(dòng)畫(huà)效果,文章僅供作為自己的學(xué)習(xí)筆記暂殖,記錄學(xué)習(xí)生活价匠,爭(zhēng)取理解動(dòng)畫(huà)的原理当纱,多多“消滅”動(dòng)畫(huà)呛每!

效果展示

難度 ??

在這里插入圖片描述

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: #222f3e;
}

section {
  width: 650px;
  height: 300px;
  padding: 10px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid white;
}

span {
  width: 100%;
  height: 5px;
  display: inline-block;
  position: relative;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}

span::after {
  content: '';
  width: 96px;
  height: 5px;
  background: white;
  position: absolute;
  top: 0;
  left: 0;
  animation: loading 2s linear infinite alternate;
}

@keyframes loading {
  0% {
    left: 0;
    transform: translateX(0%)
  }
  100% {
    left: 100%;
    transform: translateX(-100%)
  }
}

原理詳解

步驟1

使用一個(gè)span標(biāo)簽

<span></span>

設(shè)置為

  • 相對(duì)定位
  • 寬度為100% 高度為5px
  • 背景顏色為 白色,透明級(jí)別為0.15
  span {
    width: 100%;
    height: 5px;
    position: relative;
    background: rgba(255, 255, 255, 0.15);
  }

效果圖如下:

在這里插入圖片描述

步驟2

利用span::after作為白色條紋部分

設(shè)置為

  • 絕對(duì)定位(top:0 left:0)
  • 寬度為96px 高度為5px(與span高度保持一致)
  • 背景顏色為白色
 span::after {
    content: '';
    width: 96px;
    height: 5px;
    background: white;
    position: absolute;
    top: 0;
    left: 0;
    /* animation: loading 2s linear infinite alternate; */
  }

效果圖如下:

在這里插入圖片描述

步驟3

為span::after添加動(dòng)畫(huà)

使得白色條狀部分從左到右運(yùn)動(dòng)坡氯、再?gòu)挠业阶筮\(yùn)動(dòng)

設(shè)置兩個(gè)關(guān)鍵幀:

  • 初始位置:最左端
  • 末尾位置:最右端

在最左端時(shí)left: 0;

在這里插入圖片描述

在最右端時(shí) left: 100%; transform: translateX(-100%)

在這里插入圖片描述

css代碼

  span::after {
    animation: loading 2s linear infinite alternate;
  }
  
  @keyframes loading {
    0% {
      left: 0;
      transform: translateX(0%)
    }
    100% {
      left: 100%;
      transform: translateX(-100%)
    }
  }

最后效果圖如下:

在這里插入圖片描述

疑點(diǎn)難點(diǎn)

在最右端時(shí)為什么這樣設(shè)置晨横? left: 100%; transform: translateX(-100%) 只寫 left: 100%;不行嗎?

如果只寫 left: 100%; 效果為:

在這里插入圖片描述

注:白色邊框可以忽略不看 這里只是用來(lái)模擬頁(yè)面邊界的

而我們需要的效果是在最右端的時(shí)候箫柳,是白色條紋的最右端與span的最右端重疊手形,而不是最左端與span的最右端重疊

所以我們還需要使用transform: translateX(-100%)

再將span::after向左移動(dòng) 相對(duì)于自身(span::after)100%寬度 的距離

在這里插入圖片描述

一定要注意,是相對(duì)于span::after自身的寬度C趸小(與left不同 left是相對(duì)于span寬度的)

結(jié)語(yǔ)

文章僅作為學(xué)習(xí)筆記库糠,記錄從0到1的一個(gè)過(guò)程

希望對(duì)您有所幫助,如有錯(cuò)誤歡迎小伙伴指正~

我是 <font color="#0984e3">海轟?(?ˊ?ˋ)?</font>

如果您覺(jué)得寫得可以的話涮毫,請(qǐng)點(diǎn)個(gè)贊吧

謝謝支持??


在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瞬欧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子罢防,更是在濱河造成了極大的恐慌艘虎,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咒吐,死亡現(xiàn)場(chǎng)離奇詭異野建,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)恬叹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門候生,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人绽昼,你說(shuō)我怎么就攤上這事陶舞。” “怎么了绪励?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵肿孵,是天一觀的道長(zhǎng)唠粥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)停做,這世上最難降的妖魔是什么晤愧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮蛉腌,結(jié)果婚禮上官份,老公的妹妹穿的比我還像新娘。我一直安慰自己烙丛,他們只是感情好舅巷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著河咽,像睡著了一般钠右。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忘蟹,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天飒房,我揣著相機(jī)與錄音,去河邊找鬼媚值。 笑死狠毯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的褥芒。 我是一名探鬼主播嚼松,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锰扶!你這毒婦竟也來(lái)了献酗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤少辣,失蹤者是張志新(化名)和其女友劉穎凌摄,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體漓帅,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锨亏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了忙干。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片器予。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捐迫,靈堂內(nèi)的尸體忽然破棺而出乾翔,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布反浓,位于F島的核電站萌丈,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏雷则。R本人自食惡果不足惜辆雾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望月劈。 院中可真熱鬧度迂,春花似錦、人聲如沸猜揪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)而姐。三九已至腊凶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毅人,已是汗流浹背吭狡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工尖殃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丈莺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓送丰,卻偏偏與公主長(zhǎng)得像缔俄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子器躏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容