Below I have two versions of a simple flex
container:
- The first one contains an
img
. - The second one contains a
div
.
Both the img
and div
have exactly the same styles, which includes max-width: 100%
.
For some reason, the behaviour of this percentage max-width
style is inconsistent.
Why does the percentage max-width
style behave differently on the img
compared to the div
?
Side note: the same happens when I use display: grid
instead of display: flex
.
.wrapper {
width: 300px;
border: 1px solid;
}
.container {
display: flex;
}
.img {
width: 600px;
max-width: 100%;
height: 100px;
background-color: lightGrey;
}
<div class="wrapper">
<h2>img</h2>
<div class="container">
<div class="content">
<img class="img" />
</div>
</div>
<h2>div</h2>
<div class="container">
<div class="content">
<div class="img"></div>
</div>
</div>
</div>
I understand I can make the div
behave like the img
by adding this style:
.content {
min-width: 0;
}
However I am keen to understand why the behaviour is inconsistent in the first place.