You can't style the sources differently, but you can with img tags.
Could you achieve the same thing with media queries?
Also the picture element is less than ten years old.
According to caniuse, since March 2016 it works across the latest devices and major browser versions. So it depends if you have users with very old browsers or devices.
Could you achieve the same thing with media queries?
Not always. Suppose you wanted different sets of colors (per source) on mobile vs desktop where the screen/media size was irrelevant, you'd need a way to attach classes to individual source elements, but they don't accept classes.
it depends if you have users with very old browsers or devices
I was more mentioning that because of developers not always using the latest browser features.
We had an agency rebuild our website and discovered that they had both a mobile and desktop version of our entire product page in the dom that flipped via media queries. That was a huge issue for SEO and performance. I cant tell if they were just being lazy or didn’t know about grid templates. I’m guessing both, though I know most of it was vibe-coded. Fun stuff to clean up. At least they (over) leveraged picture elements
6 replies
tldr…
Don’t use this:
and:
You can't style the sources differently, but you can with img tags.
Also the picture element is less than ten years old.
Could you achieve the same thing with media queries?
According to caniuse, since March 2016 it works across the latest devices and major browser versions. So it depends if you have users with very old browsers or devices.
Not always. Suppose you wanted different sets of colors (per source) on mobile vs desktop where the screen/media size was irrelevant, you'd need a way to attach classes to individual source elements, but they don't accept classes.
I was more mentioning that because of developers not always using the latest browser features.
Thanks for the TLDR! That looks very clean and handy. I like how HTML is slowly evolving to do more of the simple stuff we need.
You accidentally replaced the
altwith anotherarc. I bet it’ll still work, to be honest. HTML parsing is so widely lax.We had an agency rebuild our website and discovered that they had both a mobile and desktop version of our entire product page in the dom that flipped via media queries. That was a huge issue for SEO and performance. I cant tell if they were just being lazy or didn’t know about grid templates. I’m guessing both, though I know most of it was vibe-coded. Fun stuff to clean up. At least they (over) leveraged picture elements