css3繪製跳動的紅心詳解

螞蟻小編發表於2017-04-16

分享一段程式碼例項,它利用css3繪製了跳動的紅心效果。

下面給出程式碼,並且對程式碼的實現過程給出詳細的分析,程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
.box{
  width: 200px;
  height: 200px;
  margin: 100px auto;
  position: relative;
}
.left,.right,.bottom{
  width: 200px;
  height: 200px;
  position: absolute;
  background: red;
}
.left{
  right: 100px;
  border-radius: 100px 100px 0 0;
  animation: move 1s infinite linear;
}
.right{
  left: 100px;
  border-radius: 100px 100px 0 0;
  transform: rotate(45deg);
  animation: move1 1s infinite linear;
}
.bottom{
  top: 100px;
  transform: rotate(45deg);
  animation: move1 1s infinite linear;
}
@keyframes show1{
  0%{
    width: 0px;
  }
  100%{
    width: 345px;
  }
}
@keyframes move{
  0%{
    transform: scale(1.0) rotate(-45deg);
  }
  50%{
    transform: scale(1.2) rotate(-45deg);
  }
  100%{
    transform: scale(1.0) rotate(-45deg);
  }
}
@keyframes move1{
  0%{
    transform: scale(1.0) rotate(45deg);
  }
  50%{
    transform: scale(1.2) rotate(45deg);
  }
  100%{
    transform: scale(1.0) rotate(45deg);
  }
}
</style>
</head>
<body>
  <div class="box">
    <div class="left"></div>
    <div class="right"></div>
    <div class="bottom"></div>
</div>
</body>
</html>

上面的程式碼繪製了能夠持續跳動的紅心效果,下面介紹一下它的實現過程。

一.程式碼註釋:

[CSS] 純文字檢視 複製程式碼
.box{
  width: 200px;
  height: 200px;
  margin: 100px auto;
  position: relative;
}

設定容器元素的寬度和高度,水平居中顯示,設定相對定位,這是為了讓它後代定位物件以它為參考。

[CSS] 純文字檢視 複製程式碼
<div class="left"></div>
<div class="right"></div>
<div class="bottom"></div>

這三個div構成了心形圖案,如果將三個div和box元素各自設定背景色,那麼將會得到如下圖形:

a:3:{s:3:\"pic\";s:43:\"portal/201704/16/093829urr96dfnutd56dpw.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

縮放是採用的transform:scale()進行縮放變換的效果。

二.相關閱讀:

(1).border-radius可以參閱CSS3 border-radius一章節。

(2).animation可以參閱CSS3 animation一章節。

(3).@keyframes可以參閱CSS3 @keyframes一章節。

相關文章