I am doing a preview of the message, both its text and image, as a background with some filters.
The problem is that I want to have the whole div not 1300px, but only 650px.
However, this way I will not be able to use display: flexand will not have a div with img of the same height as a div with text.
Is there any possible way to solve this problem only with css (without js)?
Here is the code: http://codepen.io/anon/pen/RGwOgN?editors=1111
.post {
width: 650px;
padding: 25px 25px;
z-index: 10;
position: relative;
color: white;
}
.flex-row {
display: flex;
width: 1300px;
}
.back-img {
width: 650px;
background-size: cover;
position: relative;
z-index: 0;
left: -650px;
filter: blur(3px);
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-o-filter: blur(3px);
-ms-filter: blur(3px);
filter: url(#blur);
overflow: hidden;
}
<div class="flex-row">
<div class="post">
<h1>Lorem ipsum</h1>
<h2>text here</h2>
<p class="lead">text hete</p>
</div>
<div class="back-img" style="background-image: linear-gradient(
rgba(0, 0, 0, 0.3),
rgba(0, 0, 0, 0.3)
),url(http://unsplash.com/photos/g-AklIvI1aI/download)">
<div></div>
</div>
</div>
Run codeHide resultSo, as you can see, it works fine, but only if the parent ( flex-row) is set to * 2, since otherwise the size of the children will be reduced.