当サイト使用テーマ・サーバー
\ SWELL【WordPressテーマ】 /
\ レンタルサーバー【ConoHa WING】 /
プログラミング学習
美容・脱毛
ホームページ制作
この記事では、CSSのアニメーションを使って無限ループで流れる画像を実装するプログラミングコードを解説していきます。
最初に完成形を見ていきます。
3枚の画像が右から左に向かって流れています。
See the Pen cssanimation02 by aqua (@aqua-programdiary) on CodePen.
まずは、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="style.css">
<title>Document</title>
</head>
<body>
<div class="slide-animation">
<ul class="slide-contents">
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image1.jpg" alt=""></li>
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image2.jpg" alt=""></li>
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image3.jpg" alt=""></li>
</ul>
<ul class="slide-contents">
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image1.jpg" alt=""></li>
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image2.jpg" alt=""></li>
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image3.jpg" alt=""></li>
</ul>
<ul class="slide-contents">
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image1.jpg" alt=""></li>
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image2.jpg" alt=""></li>
<li><img src="https://aqua-programdiary.com/wp-content/uploads/2023/08/image3.jpg" alt=""></li>
</ul>
</div>
</body>
</html>
<!DOCTYPE html> ... </html>
:
<head> ... </head>
:
meta
要素は文字コードとビューポート設定を指定します。link
要素で外部のスタイルシート(style.css
)を読み込みます。<body> ... </body>
:
<div class="slide-animation"> ... </div>
:
<ul class="slide-contents"> ... </ul>
:
ul
要素です。li
要素内に画像が配置されます。<li><img src="..."></li>
:
li
要素です。img
要素の src
属性に画像の URL を指定しています。CSSのコーディングをして完成です。
@charset 'utf-8';
img {
width: 100%;
}
li {
list-style: none;
}
ul {
margin: 0;
padding: 0;
}
.slide-animation {
display: flex;
gap: 10px;
overflow: hidden;
}
.slide-animation li {
width: 300px;
}
.slide-contents {
display: flex;
gap: 10px;
animation: loopAnimation 30s linear infinite;
}
@keyframes loopAnimation {
0% {
transform: translate(0%);
}
100% {
transform: translate(-100%);
}
}
@charset 'utf-8';
img { ... }
:
li { ... }
:
li
要素(スライドコンテンツの各アイテム)に適用されるスタイルです。デフォルトのリストスタイルを無効にします。ul { ... }
:
ul
要素に適用されるスタイルです。マージンとパディングをゼロに設定します。.slide-animation { ... }
:
display: flex
でフレックスコンテナを作成し、子要素間のギャップを設定します。overflow: hidden
でコンテナ外の要素を隠します。.slide-animation li { ... }
:
.slide-contents { ... }
:
display: flex
でフレックスコンテナを作成し、子要素間のギャップを設定します。animation
プロパティでキーフレームアニメーション loopAnimation
を30秒かけて無限に実行します。@keyframes loopAnimation { ... }
: