CSS 實現(xiàn)卡片邊框漸變動畫

前言

??CSS實現(xiàn)卡片邊框漸變動畫,速速來Get吧~

??文末分享源代碼斤吐。記得點贊+關(guān)注+收藏舔清!

1.實現(xiàn)效果

在這里插入圖片描述

2.實現(xiàn)步驟

  • 父容器添加背景漸變色
在這里插入圖片描述
<div class="card"></div>
 .card {
  background: linear-gradient(0deg, #ff1d74, #e3820c 43%, #c28846);
  border-radius: 15px;
  box-shadow: 0px 10px 20px 20px rgba(0, 0, 0, 0.17);
  width: 300px;
  height: 200px;
}
  • 試著改變漸變色的角度,這里可以將漸變色改的明顯一點曲初,可以發(fā)現(xiàn)角度的變化体谒,會讓父容器的四邊呈現(xiàn)不同的色值
在這里插入圖片描述
  • 那么也就是說,我們可以設(shè)置一個動畫臼婆,去改變漸變的角度抒痒,試試看,可以發(fā)現(xiàn)并木有生效
在這里插入圖片描述
.card{
    + animation: bg 2.5s linear infinite;
}
@keyframes bg {
  0% {
    border: 5px solid blue;
    background: linear-gradient(0deg, #ff1d74, #e3820c 43%, #c28846);
  }
  100% {
    border: 5px solid #fff;
    background: linear-gradient(360deg, #ff1d74, #e3820c 43%, #c28846);
  }
}
@property --rotate {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.card {
 - background: linear-gradient(0deg, #ff1d74, #e3820c 43%, #c28846);
 - background: linear-gradient(var(--rotate), #ff1d74, #e3820c 43%, #c28846);
}
  • 那么現(xiàn)在我們只要動態(tài)的改變漸變色的角度即可,重寫動畫
在這里插入圖片描述
@keyframes bg {
  0% {
    --rotate: 0deg;
  }
  100% {
    --rotate: 360deg;
  }
}
  • 為父容器添加一個偽元素颁独,預(yù)留出2px的border彩届,設(shè)置水平垂直居中
在這里插入圖片描述
.card{
 + position: relative;
 + cursor: pointer;
}
.card::after {
   content: "";
   background: #222;
   position: absolute;
   width: 296px;
   height: 196px;
   left: calc(50% - 148px);
   top: calc(50% - 98px);
   border-radius: 15px;
}
  • 添加span標(biāo)簽,基于父容器absolute定位誓酒,z-index層級設(shè)置為1樟蠕,高于偽元素層級
在這里插入圖片描述
<div class="card">
  <span>蘇蘇就是小蘇蘇888</span>
</div>
.card span {
  position: absolute;
  width: 100%;
  text-align: center;
  z-index: 1;
  left: 0%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 26px;
  font-weight: bold;
  font-family: "Amatic SC";
  color: #fff;
  letter-spacing: 2px;
  transition: all 0.5s;
}
  • 為span添加hover事件贮聂,設(shè)置為漸變色
在這里插入圖片描述
.card:hover span {
  background: linear-gradient(45deg, #ff1d74, #e3820c 43%, #c28846);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
  • 為父容器添加transform,進行一定的旋轉(zhuǎn)
在這里插入圖片描述
.card {
 + transform: rotateX(10deg) rotateY(15deg);
}
  • 父容器再次添加一個transform動畫寨辩,就完成啦~
在這里插入圖片描述
.card{
   + animation: bg 2.5s linear infinite, rotate 1s infinite alternate-reverse;
}
@keyframes rotate {
  0% {
    transform: rotateX(10deg) rotateY(15deg);
  }
  100% {
    transform: rotateX(-10deg) rotateY(-15deg);
  }
}

3.實現(xiàn)代碼

<!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>CSS 實現(xiàn)卡片邊框漸變動畫</title>
  </head>
  <link rel="stylesheet" href="../common.css" />
  <style>
    @import url("https://fonts.googleapis.com/css?family=Amatic+SC");
    
    @property --rotate {
      syntax: "<angle>";
      initial-value: 0deg;
      inherits: false;
    }

    body {
      transform-style: preserve-3d;
      perspective: 1800px;
    }

    .card {
      background: linear-gradient(var(--rotate), #ff1d74, #e3820c 43%, #c28846);
      border-radius: 15px;
      box-shadow: 0px 10px 20px 20px rgba(0, 0, 0, 0.17);
      width: 300px;
      height: 200px;
      animation: bg 2.5s linear infinite, rotate 1s infinite alternate-reverse;
      position: relative;
      cursor: pointer;
      transform: rotateX(10deg) rotateY(15deg);
    }

    .card::after {
      content: "";
      background: #222;
      position: absolute;
      width: 296px;
      height: 196px;
      left: calc(50% - 148px);
      top: calc(50% - 98px);
      border-radius: 15px;
    }
    .card span {
      position: absolute;
      width: 100%;
      text-align: center;
      z-index: 1;
      left: 0%;
      top: 50%;
      transform: translateY(-50%);
      font-size: 26px;
      font-weight: bold;
      font-family: "Amatic SC";
      color: #fff;
      letter-spacing: 2px;
      transition: all 0.5s;
    }
    .card:hover span {
      background: linear-gradient(45deg, #ff1d74, #e3820c 43%, #c28846);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    @keyframes rotate {
      0% {
        transform: rotateX(10deg) rotateY(15deg);
      }
      100% {
        transform: rotateX(-10deg) rotateY(-15deg);
      }
    }
    @keyframes bg {
      0% {
        --rotate: 0deg;
      }
      100% {
        --rotate: 360deg;
      }
    }
  </style>
  <body>
    <div class="card">
      <span>蘇蘇就是小蘇蘇888</span>
    </div>
  </body>
</html>

4.寫在最后??

看完本文如果覺得對你有一丟丟幫助吓懈,記得點贊+關(guān)注+收藏鴨 ??
更多相關(guān)內(nèi)容,關(guān)注??蘇蘇的bug靡狞,??蘇蘇的github耻警,??蘇蘇的碼云~

參考鏈接:

[1].chokcoco-CSS @property,讓不可能變可能

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甸怕,一起剝皮案震驚了整個濱河市甘穿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梢杭,老刑警劉巖扒磁,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異式曲,居然都是意外死亡妨托,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門吝羞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兰伤,“玉大人,你說我怎么就攤上這事钧排《厍唬” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵恨溜,是天一觀的道長符衔。 經(jīng)常有香客問我,道長糟袁,這世上最難降的妖魔是什么判族? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮项戴,結(jié)果婚禮上形帮,老公的妹妹穿的比我還像新娘。我一直安慰自己周叮,他們只是感情好辩撑,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著仿耽,像睡著了一般合冀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上项贺,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天君躺,我揣著相機與錄音峭判,去河邊找鬼。 笑死晰洒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的啥箭。 我是一名探鬼主播谍珊,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼急侥!你這毒婦竟也來了砌滞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤坏怪,失蹤者是張志新(化名)和其女友劉穎贝润,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铝宵,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡打掘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鹏秋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尊蚁。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖侣夷,靈堂內(nèi)的尸體忽然破棺而出横朋,到底是詐尸還是另有隱情,我是刑警寧澤百拓,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布琴锭,位于F島的核電站,受9級特大地震影響衙传,放射性物質(zhì)發(fā)生泄漏决帖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一蓖捶、第九天 我趴在偏房一處隱蔽的房頂上張望古瓤。 院中可真熱鬧,春花似錦腺阳、人聲如沸落君。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绎速。三九已至,卻和暖如春焙蚓,著一層夾襖步出監(jiān)牢的瞬間纹冤,已是汗流浹背洒宝。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留萌京,地道東北人雁歌。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像知残,于是被迫代替她去往敵國和親靠瞎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 背景 ??最近在工作中遇到一個水球進度條求妹,用svg繪制幾個波浪疊加動畫寫起來超簡單乏盐,6哇~??文末分享源代碼。記得點贊...
    蘇蘇哇哈哈閱讀 1,030評論 0 3
  • 選擇qi:是表達式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color制恍,font父能,text-align,li...
    wzhiq896閱讀 1,731評論 0 2
  • 1 CALayer IOS SDK詳解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi閱讀 5,129評論 3 23
  • 簡介 CSS (cascading style sheet)層疊樣式表 CSS書寫方式 內(nèi)嵌式:在head標(biāo)簽中書...
    Zindex閱讀 534評論 0 2
  • 選擇qi:是表達式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color净神,font何吝,text-align,li...
    love2013閱讀 2,303評論 0 11