HPのトップ画像(画像1)で右から徐々に表示するというアニメーションを付けており、その画像内に小さい画像(画像2)を上に重ねて表示しております。
その際に下記のコードを使い画像1は右から。。。画像2は左から。。。というアニメーションをつけたく、コードを記載したのですが、画像2が表示されなくなってしまいました。
デベロッパーツールでみると確かに表示はされているのですが、透明になってしまい次の要素の裏(positionを指定しなかった場合の場所)に隠れてしまっています。
そもそも画像2でposition指定をしているので、そこのエラーかと思いpositionを0にしてみたりしましたが、なかなかうまくいきません。。。
どこが原因か教えていただけませんでしょうか?
よろしくお願いいたします。
HTML
1<div class="top-box"> 2 <div class="img-wrap_right"> 3 <div class="topimg_title2"> 4 <img src="common/images/top.png" alt="" > 5 </div> 6 </div> 7 <div class="img-wrap_left"> 8 <div class="topimg_txt"> 9 <img src="common/images/toptxt.png" alt="" > 10 </div> 11 </div> 12</div>
右から画像を表示する
※左からはtransform: translateX(100%);に変更しているだけです。
CSS
1.img-wrap_right { 2 position: relative; 3} 4 5.img-wrap_right:before { 6 background: #fff; 7 bottom: 0; 8 content: ''; 9 left: 0; 10 pointer-events: none; 11 position: absolute; 12 right: 0; 13 top: 0; 14 z-index: 1; 15} 16.img-ani2 .img-wrap_right:before { 17 animation: img-wrap_right 2s cubic-bezier(.4, 0, .2, 1) forwards; 18} 19@keyframes img-wrap_right { 20 100% { 21 transform: translateX(-100%); 22 } 23}
画像2CSS
CSS
1.topimg_txt img{ 2 width:63%; 3 4 justify-content: center; 5 align-items: center; 6 7 position: absolute; 8 top: 69%; 9 left: 0; 10}