Reputation: 13614
The problem is, the images as a whole have to stretch to fit the window as it resizes.
Most of the images work fine but the last one has a different width and it just resizes to a huge size.
It has to be position absolute because there is a web canvas underneath.
I think I tried everything, all the flex-grow, flex-basis stuff. I don't get it.
As you can see in the example, the last image should fit heightwise with the others but I cant get it to fit.
.container img {
width: 100%;
}
.container {
width: 40%;
background: #777;
}
.container2 {
width: 12.5%;
background: #777;
}
.myflex {
display: flex;
position: absolute;
}
<div class="myflex">
<div class="container">
<img src="https://placehold.it/512x512/000088/ffffff" />
</div>
<div class="container">
<img src="https://placehold.it/512x512/000088/ffffff" />
</div>
<div class="container">
<img src="https://placehold.it/512x512/000088/ffffff" />
</div>
<div class="container2">
<img style="" src="https://placehold.it/64x512/000088/ffffff" />
</div>
</div>
Upvotes: 0
Views: 253
Reputation: 90
use this flexbox in one line
<!DOCTYPE html>
<html>
<head>
<style> body{margin:0;}
.flex-container {
-ms-box-orient: horizontal;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-around;
justify-content: space-around;
-webkit-flex-flow: row;
flex-flow: row;
-webkit-align-items: stretch;
align-items: stretch;
}
.flex-item:nth-of-type(1) { flex-grow: 1; }
.flex-item:nth-of-type(2) { flex-grow: 1; }
.flex-item:nth-of-type(3) { flex-grow: 2; }
.flex-item4:nth-of-type(4) { flex-grow: 1; }
.flex-item {
background-color: cornflowerblue;
width: 40%;
}
.flex-item 4{
background-color: cornflowerblue;
width: 10%;
margin: 10px;
}
.flex-item img{
width: 100%; height: 100%;
}.flex-item4 img{
width: 100%; height: 100%;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item"> <img src="https://placehold.it/512x512/000088/ffffff" /></div>
<div class="flex-item"> <img src="https://placehold.it/512x512/000088/ffffff" /></div>
<div class="flex-item"> <img src="https://placehold.it/512x512/000088/ffffff" /></div>
<div class="flex-item4"> <img style="" src="https://placehold.it/64x512/000088/ffffff" /></div>
</div>
</body>
</html>
Upvotes: 1
Reputation: 7614
If you want to give all time images the same height, simply add display: flex;
to your .container
and .container2
classes.
Here's a demo:
http://jsfiddle.net/huvogt3g/1/
Upvotes: 0