

Block wrapper with Desktop, Tablet, Mobile child options
Core Essentials – Responsive Picture Block turns several standard Image blocks into one semantic, front-end <picture> HTML element. It’s built for art direction: choose different crops, compositions, or formats for different breakpoints (e.g., a tight mobile crop, a wider desktop crop, or an AVIF/WebP source).
Why this matters:
<picture> vs <img srcset>
srcset is great for picking the right resolution of the same image. But when you need different content (crop/ratio/composition) at different viewport widths, you need art direction — that’s exactly what <picture> does by letting you swap entire sources via <source media="…">.
Editor-first UX
Authors see a single “Responsive Picture (Block)” wrapper, then insert one Image per breakpoint. The plugin mirrors the link /caption from the Desktop image. Per-image design controls (aspect ratio, object-fit, width/height) are respected. The block’s preview shows the native Desktop / Tablet / Mobile toolbar:
Perfect source ordering
Custom media queries are auto-sorted so the correct <source> wins (most specific first). Works with max-width, min-width, and range queries.
<picture>media per Tablet/Mobile/Custom (e.g., (max-width: 1200px))sizes override per source (advanced bandwidth tuning)srcset<picture> (Art Direction 101)When your layout needs different imagery across breakpoints (e.g., a vertical crop on phones and a wide landscape on desktops), you’re doing art direction. The <picture> element enables this by letting the browser choose an entire source based on media conditions (and even file type, like AVIF/WebP), not just a different width of the same file. The result is better design control and faster pages because each device downloads only the most appropriate asset for its layout saving you bandwidth as well as having compositions control.
(max-width: 1200px)) sizes="" for that source. <picture> with perfectly ordered <source> tags and a fallback <img>.ce/responsive-picture core/image blocks Front-end HTML output:
<picture>
<source media="(max-width: 767px)" srcset="…" sizes="…">
<source media="(max-width: 1024px)" srcset="…" sizes="…">
<!-- custom sources (auto-sorted) -->
<img src="…" srcset="…" sizes="…" alt="">
</picture>