I'm using a <picture> tag (along with an <img> and <source> tag) to show WebP images with a fallback of showing the png/jpg version if the browser doesn't support WebP.
Up until now I've been able to just style the <img> tag inside the <picture>, and ignore styling the <picture> itself. However, I just ran into a weird case.
I have a flexbox with the <picture> and a text <div>, where the <div> has max-width: 60%; and the <img> has max-width: 40%;. The browser limits the <img> to that width ... but not the <picture>, which inexplicably grows to 600px.
Now, I can put a max-width on the picture to fix this, but I'm trying to understand:
A) when does a <picture> tag decide to become bigger than its child <img> tag (when no differently-sized <source> tags are used)?
B) is it best practice to duplicate styles on <img> and <picture>, or am I doing something wrong here?
CodePudding user response:
Is your html like this?
<div>
<picture>
<img />
</picture>
<div>
some text
</div>
</div>
If this is the case, you probably need to set the max-width to the "picture" instead of the "img".
