如何使用 CSS 將動畫繫結到 div 元素?
div 元素通常用於對 HTML 元素進行分組,然後使用 CSS 對其進行樣式設定。動畫是一個具有視覺效果的圖形元素,使其更具吸引力。在 HTML 和 CSS 中,我們通常將該元素命名為 <div>。本文將解釋 CSS 如何將動畫繫結到 div 元素。
使用關鍵幀方法定義動畫
關鍵幀方法是 CSS 中建立動畫效果最常用的方法。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.container {
width: 50vw;
height: 10vh;
background-color: rgb(103, 28, 141);
animation: myAnimation 2s infinite alternate;
}
@keyframes myAnimation {
0% {
transform: translateX(0);
}
50% {
transform: translateX(100px);
}
100% {
transform: translateX(200px);
}
}
</style>
</head>
<body>
<div class="container"></div>
</body>
</html>
解釋
HTML 程式碼為帶有“container”類的 div 元素製作動畫。動畫在 @keyframes 規則中定義,並將元素從 0 畫素向右移動到 100 畫素,然後在交替迴圈中返回到 200 畫素。
CSS 程式碼定義了“container”類,其寬度為視口的 50%,高度為視口的 10%,以及紫色的背景顏色。使用“animation”屬性將動畫應用於元素,其值為“myAnimation 2s infinite alternate”。div 元素包含在 HTML body 中,在 Web 瀏覽器中檢視時將應用動畫。
使用 clip-path
如果您理解了前面的示例,您一定已經注意到,建立非常複雜的動畫是相當困難的,因為它需要我們手動編寫許多程式碼行。因此,我們可以使用許多其他工具來實現出色的動畫效果。一個這樣的例子是使用 clip-path。
clip-path 是一個 CSS 屬性,允許您指定要顯示(裁剪)元素的特定區域,同時隱藏元素的其餘部分。
我們可以透過裁剪路徑來定義區域,裁剪路徑可以使用基本形狀建立,例如圓形、矩形、多邊形或 SVG 路徑。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<style>
body {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
background-color: rgb(220, 221, 158);
width: 50vw;
padding: 20px;
text-align: justify;
border-radius: 20px;
clip-path: circle(23.2% at 100%);
}
.container:hover {
clip-path: circle(141% at 100%);
transition: 1s;
}
</style>
</head>
<body>
<div class="container">
<h1>Hello world</h1>
<p>This is the body of the text</p>
</div>
</body>
</html>
解釋
在這裡,HTML 文件設定了一個 flex 容器,該容器以一行顯示子元素,水平和垂直居中。body 的高度為 100vh,.container 類具有圓形剪下蒙版和懸停過渡效果。
.container 類具有背景顏色、寬度、填充和文字對齊方式,邊框半徑為 20px,clip-path 屬性建立圓形蒙版。懸停偽類會更改 clip-path 大小,並具有 1 秒的過渡效果。
要更深入地瞭解此主題,我們建議您閱讀以下教程以更好地理解該主題:
https://tutorialspoint.tw/css/css_clip.htm結論
在本文中,我們瞭解瞭如何使用 CSS 將動畫繫結到 div 元素。我們專門看到了使用關鍵幀方法執行此操作的方法。我們可以自定義動畫的屬性,例如持續時間、延遲、行為等。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP