他の記事でちょいちょい書いてるけど探しやすくするために書く。
使用例
<picture>
<source srcset="https://placehold.jp/800x1200.png" media="(max-width: 800px)">
<img src="https://placehold.jp/980x560.png" alt="" />
</picture>mediaのバリエーションを追加したければsourceを増やせばいい。
cssの@mediaと同じように考えたらいい。
sourceがまったくない、imgだけが入ってる状態でも問題なく表示される。
用途
幅指定ができるからレスポンシブデザインで組む際の画像切り替えをhtml上で作れる。
PC/SPの切り替えをできるようになるのってほんと素晴らしい。
これまではcss上でbackground-imageの切り替えで対処してた。WPとか管理画面上で画像差し替えをする場合、cssファイルに干渉はできないんでhtml上に<style>を用意してそこに挿入する必要があった。もしくはjsでパスを変更するとかしてた。なかなかめんどくさかったんで、本当に楽になった。みんな使おう。
詳細・応用・注意点など

IE対策
黎明期にはhtml5.jsとかで補填を頑張ってたけど、もう完全に見放されてるんじゃないのってレベルで最近のhtml事情はieを突き放してる気がする。自分としてもそうしたいのだけど閲覧者を選べないのでどうしようもないですね。
<picture>ピンポイントで動作するようになるjsがあるんで、IEを切れない人はこれを使いましょう。

<head>に入れたらOK。しょうがないと思うけどレスポンスはちょっと遅い感じがする。

コメント