今天要介紹如何使用 CSS 創建一個心跳動畫
創建一個 div
元素,類別名為 heart,用於顯示愛心形狀
<div class="heart"></div>
使用 Flexbox 將內容居中顯示,背景色設為淺灰色,並移除默認的邊距
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f0f0f0;
margin: 0;
}
.heart {
position: relative;
width: 100px;
height: 150px;
animation: heart 1s infinite;
}
.heart
元素進行定位使用 ::after
偽元素來創建愛心的右側圓弧部分
.heart::after {
content: '';
position: absolute;
left: 18px;
width: 100px;
height: 150px;
background-color: red;
border-radius: 50px 50px 0 0;
transform: rotate(45deg);
}
使用 ::before
偽元素創建愛心的左側圓弧部分,與 ::after
偽元素相互對應
.heart::before {
content: '';
position: absolute;
right: 18px;
width: 100px;
height: 150px;
background-color: red;
border-radius: 50px 50px 0 0;
transform: rotate(-45deg);
}
.heart
元素的相對定位精確放置rotate(45deg)
rotate(-45deg)
使用 @keyframes
定義動畫
@keyframes heart {
0% {
transform: scale(1) ;
}
25% {
transform: scale(1.2) ;
}
50% {
transform: scale(1) ;
}
75% {
transform: scale(1.2) ;
}
100% {
transform: scale(1) ;
}
}