月曜日, 12月 11, 2023

HTMLとCSSの様々な表現 05 
HTMLとCSSだけで配置画像をフェードアウト

フェードアウトは繰り返すと鬱陶しいですね。続編検討中。

<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="rule.css">
<title>Fading Image</title>
</head>
<body>
<div class="image-container">
<img src="pic/raccoon.png" class="fade-out-image"
alt="Fading raccoon Image">
</div>
</body>
</html>
<!-- index.html -->

/* rule.css */
@charset "UTF-8";
* {
margin: 0px;
padding: 0px;
}
body {
margin: 0;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
/*
vh viewport height
ビューポートの高さに対する割合
vw viewport width
ビューポートの幅に対する割合
vmax viewport max
ビューポートの幅と高さのうち、値が大きい方に対する割合
vmin viewport minimum
ビューポートの幅と高さのうち、値が小さい方に対する割合
*/
background-color: aquamarine;
}
.image-container {
position: relative;
}
.fade-out-image {
animation: fadeOut 5s ease-in-out infinite;
/*
fade-out-imageクラスが適用された画像が
fadeOutアニメーションによって徐々に透明になる。
animation: fadeOut 5s ease infinite; 徐々に加速して減速
animation: fadeOut 5s ease-in infinite; 徐々に加速
animation: fadeOut 5s ease-out infinite; 徐々に減速
animation: fadeOut 5s ease-in-out infinite; 加速して減速
animation: fadeOut 5s linear infinite; 等速
アニメーションは5秒で、infinite指定により、
画像は無限にフェードアウトを繰り返す。
*/
max-width: 100%;
height: auto;
}
@keyframes fadeOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
/* rule.css */

実行イメージは上の様に5秒でフェードアウトをくりかえします。