水曜日, 8月 28, 2024

HTMLとCSSの様々な表現 16 
HTMLとCSSで配置画像をラセン回転

HTMLとCSSだけで配置画像をラセン回転で拡大させます。JavaScriptを未使用なのでクリックで実行・停止は制御できません。

<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport"
        content="width=device-width, initial-scale=1.0">
<title>CSSで螺旋回転アニメーション</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: turquoise;
}

/* 螺旋回転アニメーションの定義 */
@keyframes spiralRotate {
0% {
transform: rotate(0deg) scale(0.5);
}
25% {
transform: rotate(180deg) scale(1);
}
50% {
transform: rotate(360deg) scale(1.5);
}
75% {
transform: rotate(540deg) scale(2);
}
100% {
transform: rotate(720deg) scale(2.5);
}
}

/* 画像の基本スタイル */
img {
display: block;
margin: 0 auto;
cursor: pointer;
transition: transform 1s;
}

/* クリック時に螺旋回転アニメーションを適用 */
img:active {
animation: spiralRotate 1s forwards;
}
</style>
</head>
<body>
<img src="pic/image.png" alt="クリックで螺旋回転する画像">
</body>
</html>
<!-- index.html -->


再生結果です。画像をマウスで押しっぱなしにします。離すと動作は止まります。