css animationでスライドショーを実装し、スマホ(実機)で確認した際にリンクがクリックできませんでした。
実装は以下の通りです。
<section class="mainView"> <div> <ul id="slide"> <li class="fvImg01"> <a href="/aaa.html"> <img src="/img/img_mainView01.jpg" alt="aaa"> </a> </li> <li class="fvImg02"> <img src="/img/img_mainView02.jpg" alt="bbb"> </li> <li class="fvImg03"> <a href="/ccc.html"> <img src="/img/img_mainView03.jpg" alt="ccc> </a> </li> <li class="fvImg04"> <a href="/ddd.html"> <img src="/img/img_mainView04.jpg" alt="ddd> </a> </li> <li class="fvImg05"> <a href="/eee.html"> <img src="/img/img_mainView05.jpg" alt="eee"> </a> </li> </ul> </div> </section>
css
1#slide { 2 width: 100%; 3 height: 390px; 4 position: relative; 5 overflow: hidden; 6} 7 8#slide li { 9 position: absolute; 10 top: 0; 11 width: 100%; 12 height: auto; 13 opacity: 0; 14 pointer-events: none; 15 -webkit-animation: fvFade 35s linear infinite; 16 animation: fvFade 35s linear infinite; 17} 18 19#slide li.fvImg01 { 20 -webkit-animation-delay: 0s; 21 animation-delay: 0s; 22} 23 24#slide li.fvImg02 { 25 -webkit-animation-delay: 7s; 26 animation-delay: 7s; 27} 28 29#slide li.fvImg03 { 30 -webkit-animation-delay: 14s; 31 animation-delay: 14s; 32} 33 34#slide li.fvImg04 { 35 -webkit-animation-delay: 21s; 36 animation-delay: 21s; 37} 38 39#slide li.fvImg05 { 40 -webkit-animation-delay: 28s; 41 animation-delay: 28s; 42} 43 44#slide li img { 45 -o-object-fit: cover; 46 object-fit: cover; 47 width: 100%; 48 height: 390px; 49} 50#slide .fvImgSp{ 51 display: none; 52} 53@-webkit-keyframes fvFade { 54 0% { 55 opacity: 0; 56 pointer-events: none; 57 } 58 10% { 59 opacity: 1; 60 transition: opacity 1s; 61 pointer-events: auto; 62 } 63 15% { 64 opacity: 1; 65 transition: opacity 1s; 66 pointer-events: auto; 67 } 68 25% { 69 opacity: 0; 70 pointer-events: none; 71 } 72 100% { 73 opacity: 0; 74 pointer-events: none; 75 } 76} 77 78@keyframes fvFade { 79 0% { 80 opacity: 0; 81 pointer-events: none; 82 } 83 10% { 84 opacity: 1; 85 transition: opacity 1s; 86 pointer-events: auto; 87 } 88 15% { 89 opacity: 1; 90 transition: opacity 1s; 91 pointer-events: auto; 92 } 93 25% { 94 opacity: 0; 95 pointer-events: none; 96 } 97 100% { 98 opacity: 0; 99 pointer-events: none; 100 } 101} 102 103@media screen and (max-width: 1300px) { 104 #slide li { 105 top: 0; 106 width: auto; 107 } 108} 109 110@media screen and (max-width: 1080px) { 111 #slide li img { 112 height: 340px; 113 } 114} 115 116@media screen and (max-width: 991px) { 117 #slide { 118 width: 100%; 119 height: 270px; 120 } 121 #slide li img { 122 -o-object-fit: cover; 123 object-fit: cover; 124 width: 100%; 125 height: 270px; 126 } 127} 128 129@media screen and (max-width: 540px) { 130 #slide { 131 height: 190px; 132 } 133 #slide li img { 134 height: 190px; 135 } 136} 137 138@media screen and (max-width: 480px) { 139 #slide { 140 height: 140px; 141 } 142 #slide li img { 143 height: 140px; 144 } 145}
keyframesで指定しているpointer-eventsプロパティが影響しているのでは?と思い、外してみたのですが、
こちらを外した場合、PCもクリックできなくなり、スマホ(実機)についてもクリックできない状態でした。
※以下サイトを参考にしています。
https://weblasts.com/?p=760
システムの中に組み込まれているデザインのため、なるべくJSを使わずに実装したく、
css animationでのスライドショーを採用し、上記サイトを参考にしています。
分かる方いらっしゃいましたら、教えていただけると幸いです。
どうぞよろしくお願いいたします。
あなたの回答
tips
プレビュー