

html+cssで、前画像の上に右⇒左へスライドするスライドショーを試験しています。
画像は4枚です。
繰り返しは無限。
1回目は上手く行くのですが、2回目以降が上手く行きません。
CSSの何処を直せば良いか、ご教授下さい。
サンプルは以下です。
https://www.tfumi01.com
右クリックでソースを見て頂けますが、下記します。
○html
<div class="photobox">
<img src="1.gif" alt="スライドショー1" />
<img src="2.gif" alt="スライドショー2" />
<img src="3.gif" alt="スライドショー3" />
<img src="4.gif" alt="スライドショー4" />
</div>
○css
.photobox {
position : relative;
overflow : hidden;
width : 500px;
height : 150px;
margin : 0 auto;
background : #fff;
}
.photobox img {
display : block;
position : absolute;
width : inherit;
height : inherit;
left : 100%;
animation : slideAnime 20s ease infinite;
}
/*アニメーションを段差で開始 */
.photobox img:nth-of-type(1) { animation-delay: 0s; }
.photobox img:nth-of-type(2) { animation-delay: 5s; }
.photobox img:nth-of-type(3) { animation-delay: 10s; }
.photobox img:nth-of-type(4) { animation-delay: 15s; }
/*スライドのアニメーション */
@keyframes slideAnime{
1% { left: 100% }
23% { left: 0% }
100% { left: 0% }
}
No.1ベストアンサー
- 回答日時:
こんにちは
CSSアニメーションは、あまり知らないのですが…
>1回目は上手く行くのですが、2回目以降が上手く行きません。
1回目 = 1周目ってことですよね?
最初は、何も表示されていないところへ順に重ねて表示してゆくことになるので問題はありませんが、2巡目になると、(1巡目の)最後の画像が残っているので、その上に最初の画像を表示しなければならないところがうまくいかない原因だと思います。
繰り返しをしばらく待ってみると、最後の画像だけが繰り返しているのを見られると思います。
HTMLソースをそのままとするなら、z-indexで制御してあげれば良さそうですね。
…ということで、こんなのではいかがでしょうか?
@keyframes slideAnime{
0% { left: 100%; z-index:10; }
23% { left: 0%; }
50% { left: 0%; }
51% { left: 100%; z-index: 1; }
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンをセル内一杯に表示させ...
-
画像をクリックしてラジオボタ...
-
HTMLでボタンを横に2つ並べる方法
-
table で画像をピッタリとくっ...
-
【HTML/CSS】ボタンの枠が伸び...
-
UDP通信を使うチャットプログラ...
-
ポップアップウィンドウのサイ...
-
ホームページで画像を横に並べ...
-
【マークアップ言語 複数画像中...
-
XML画像データををHTMLで簡単に...
-
imgタグは何で囲むのが良いか
-
Dreamweaverの閉じタグでスラッ...
-
cssで、チェックボックスの画像...
-
画像を、横並びにするには!?
-
見た目と声さえ良ければ、他の...
-
テンソル解析(絶対微分学)は...
-
htmlの文字が縦書きになる
-
ライトボックスでスクロールバー
-
含む含まないという概念自体の...
-
html/cssの、navを2段にする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンをセル内一杯に表示させ...
-
リンクを知らせる手のマークが...
-
画像を全体の200%の倍率で表示...
-
ホームページの一番下に配置し...
-
画像をクリックして同じページ...
-
XML画像データををHTMLで簡単に...
-
table で画像をピッタリとくっ...
-
画像の横に画像を配置したいです。
-
機種依存文字、m2(平方メート...
-
画像リンクの周りに線が出ます
-
画像をリンクさせると紫の枠が...
-
オンマウスで離れた画像が変わる。
-
UDP通信を使うチャットプログラ...
-
画像をクリックして元に戻すには
-
1箇所に複数画像を別々に配置は...
-
システム開発会社のホームページ
-
floatさせたdtの内容が多い場合...
-
inputタグでサーバにデータを送...
-
jqureryスライドショーが上手く...
-
ホームページで画像を横に並べ...
おすすめ情報