web前端入門到實(shí)戰(zhàn):實(shí)現(xiàn)點(diǎn)擊按鈕后CSS加載效果

效果演示

先來看一下完成的效果。

實(shí)現(xiàn)過程

這個(gè)效果其實(shí)很容易撞叽,先來看一下原本的按鈕長(zhǎng)相,就只是個(gè)div套用CSS而已。

HTML:

<div class="btn">click me</div>

CSS:

.btn{
  position:relative;
  width:200px;
  height:30px;
  line-height:30px;
  text-align:center;
  border-radius:3px;
  background:#5ad;
  color:#fff;
  cursor:pointer;
}

長(zhǎng)相就會(huì)是這樣(就只是很簡(jiǎn)單的CSS):

那么要怎么在上面蓋上動(dòng)畫呢冷离?這時(shí)候就要利用CSS的偽元素,在上方蓋上一個(gè)before偽元素纯命,把動(dòng)畫放在這個(gè)偽元素內(nèi)即可西剥。

CSS:

學(xué)習(xí)Q-q-u-n: 731771211,分享學(xué)習(xí)方法和需要注意的小細(xì)節(jié)亿汞,不停更新最新的教程和學(xué)習(xí)技巧
(從零基礎(chǔ)開始到前端項(xiàng)目實(shí)戰(zhàn)教程瞭空,學(xué)習(xí)工具,全棧開發(fā)學(xué)習(xí)路線以及規(guī)劃)
.btn::before{
  content:"loading";
  position:absolute;
  width:200px;
  height:30px;
  line-height:30px;
  text-align:center;
  border-radius:3px;
  z-index:2;    
  top:0;
  left:0;
  color:#fff;
  text-shadow:rgba(100,0,0,1) 0 0 3px;
  background:#c00;
}

套上before之后,就會(huì)發(fā)現(xiàn)原本的被覆蓋了咆畏。

了解原理后南捂,再來就是把before的背景改成動(dòng)畫,這里用到兩個(gè)CSS3的技巧旧找,第一個(gè)是漸變色的背景溺健,第二個(gè)是動(dòng)畫,第一個(gè)漸變色比較復(fù)雜些钮蛛,主要就是讓漸變以45度的方式填充鞭缭,內(nèi)容是兩種顏色互相搭配,但必須配合background-size魏颓,讓漸變能夠順利地接在一起岭辣,這邊通常是要調(diào)整最久的地方。

background:linear-gradient(45deg,#fc0 0%,#fc0 20%,#fa0 20%, #fa0 45%,#fc0 45%,#fc0 70%,#fa0 70%, #fa0 95%,#fc0 95%,#fc0 100%);
background-size:30px 30px;
background-position:0 0;

從下圖可以看到甸饱,如果沒有一步步調(diào)整沦童,出來的長(zhǎng)相可能就會(huì)沒接好,調(diào)整完成的就會(huì)接得很順暢叹话。

完成之后就是要套用CSS3的動(dòng)畫效果搞动,讓background-position改變,背景就會(huì)自動(dòng)變化了渣刷。

animation:click 1s infinite linear;    

@keyframes click {
  0%{
    background-position:0 0;
  }
  100%{
    background-position:30px 0;
  }
}

到這邊其實(shí)完成了百分之八十了鹦肿,最后一步就是要加上點(diǎn)擊的事件,這里我的作法是先把剛剛的偽元素用display:none隱藏起來辅柴,接著新增一個(gè)class名為click箩溃,當(dāng)點(diǎn)擊按鈕的時(shí)候,按鈕就會(huì)套用click的class碌嘀,偽元素就會(huì)出現(xiàn)了涣旨,以下是完整的代碼,不過有做了些簡(jiǎn)化股冗,以及讓點(diǎn)擊2秒之后霹陡,按鈕會(huì)恢復(fù)原樣。

CSS:

.btn,.btn::before{
  width:200px;
  height:30px;
  line-height:30px;
  text-align:center;
  border-radius:3px;
}
.btn{
  position:relative;
  background:#5ad;
  color:#fff;
  cursor:pointer;
}
.btn::before{
  content:"loading";
  position:absolute;
  display:none;
  z-index:2;
  top:0;
  left:0;
  color:#fff;
  text-shadow:rgba(100,0,0,1) 0 0 3px;
  background:linear-gradient(45deg,#fc0 0%,#fc0 20%,#fa0 20%, #fa0 45%,#fc0 45%,#fc0 70%,#fa0 70%, #fa0 95%,#fc0 95%,#fc0 100%);
  background-size:30px 30px;
  background-position:0 0;
  animation:click 1s infinite linear;
}
.btn.click::before{
  display:block;
}
@keyframes click {
  0%{
    background-position:0 0;
  }
  100%{
    background-position:30px 0;
  }
}
學(xué)習(xí)Q-q-u-n: 731771211止状,分享學(xué)習(xí)方法和需要注意的小細(xì)節(jié)烹棉,不停更新最新的教程和學(xué)習(xí)技巧
(從零基礎(chǔ)開始到前端項(xiàng)目實(shí)戰(zhàn)教程,學(xué)習(xí)工具怯疤,全棧開發(fā)學(xué)習(xí)路線以及規(guī)劃)

jquery:

$(function(){
  var timer;
  $('.btn').on('click',function(){
    $('.btn').addClass('click');
    clearTimeout(timer);
    timer = setTimeout(function(){
      $('.btn').removeClass('click');
    },2000);
  });
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浆洗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子集峦,更是在濱河造成了極大的恐慌伏社,老刑警劉巖抠刺,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異摘昌,居然都是意外死亡速妖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門聪黎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來买优,“玉大人,你說我怎么就攤上這事挺举。” “怎么了烘跺?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵湘纵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我滤淳,道長(zhǎng)梧喷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任脖咐,我火速辦了婚禮铺敌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屁擅。我一直安慰自己偿凭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布派歌。 她就那樣靜靜地躺著弯囊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胶果。 梳的紋絲不亂的頭發(fā)上匾嘱,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音早抠,去河邊找鬼霎烙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蕊连,可吹牛的內(nèi)容都是我干的悬垃。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼甘苍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼盗忱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起羊赵,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤趟佃,失蹤者是張志新(化名)和其女友劉穎扇谣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闲昭,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡罐寨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了序矩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸯绿。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖簸淀,靈堂內(nèi)的尸體忽然破棺而出瓶蝴,到底是詐尸還是另有隱情,我是刑警寧澤租幕,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布舷手,位于F島的核電站,受9級(jí)特大地震影響劲绪,放射性物質(zhì)發(fā)生泄漏男窟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一贾富、第九天 我趴在偏房一處隱蔽的房頂上張望歉眷。 院中可真熱鬧,春花似錦颤枪、人聲如沸汗捡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凉唐。三九已至,卻和暖如春霍骄,著一層夾襖步出監(jiān)牢的瞬間台囱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工读整, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留簿训,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓米间,卻偏偏與公主長(zhǎng)得像强品,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屈糊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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