概要
picture_tagヘルパーがrailsで使えるようになった。(mainにマージされた) 既存のimage_tag, audio_tagと同様に、picture_tagを記述することでHTMLのpictureタグを生成できる。
用法
image_tagなどと同様に特に何も意識することなく使用できる。
# erb
<%= picture_tag "sample.png", alt: "An example image" %>
<!-- 生成されたHTML -->
<picture alt="An example image">
<img src="sample.png">
</picture>
image_tagでは、下記のようなHTMLが生成される。
# erb
<%= image_tag "sample.png", alt: "An example image" %>
<!-- 生成されたHTML -->
<img alt="An example image" src="sample.png">
詳細
pictureタグとimgタグの違いは何か?
記事によると、pictureタグを用いることで下記の恩恵を享受できる。
複数の画像のソースを指定することができるため、
- レスポンシブデザイン採用時に複数の画像サイズを指定可能
- ブラウザの対応状況によって、いくつかの拡張子や形式を用意可能
になることで、ページの読み込み速度の向上やユーザーエクスペリエンスの向上につながる。
複数の画像を指定する
# erb
<%= picture_tag("sample.webp", "sample.png") %>
# 生成されるタグ
<picture>
<source srcset="sample.webp">
<source srcset="sample.jpg">
<img src="sample.jpg">
</picture>
背景
元ネタは下記のgem.
GitHub - tomasc/picture_tag: Rails helper for tag integrated with Picturefill.
Rails helper for tag integrated with Picturefill. - tomasc/picture_tag
コメント