Result
画像をクリックするとGIFアニメが再生される、みたいなやつです。
マウスホバーで再生というお手軽な方法もあるけど、クリック再生はこれはこれで利用シーンがあるんじゃないかなと。
方法はこの手のトリックではお馴染みのinputを利用する形となります。
css
label.clicktogif {/*再生ボタン*/ background: url('image.png') DimGrey no-repeat center center; display: block; float: left; } label.clicktogif:hover, label.clicktogif:focus-within {/*再生ボタン、マウスホバー用*/ background: url('hover.png') DarkSlateGrey no-repeat center center; display: block; float: left; } .clicktogif img {display: block;} .clicktogif input[type=checkbox] {/*全体をlabelで包括してクリッカブルにし、チェックボックス自体は外へ飛ばす*/ position: absolute; left: -100vw; } .clicktogif input[type=checkbox] + img {/*アニメーションのgifは非表示にしておく*/ opacity: 0; } .clicktogif input[type=checkbox]:checked + img {/*チェックが入ったら表示させる*/ opacity: 1; }
内容は割とシンプルです。
html
<label class="clicktogif" title="click to show gif"> <input type="checkbox"> <img src="animation.gif"> </label>
画像とinput要素をlabelで包括します。