We will see how to center content based on the height of a near element.
Compatibility: IE8+, all other modern browsers.
HTML
<div class="content">
<div class="position-container">
<div class="thumb">
<img src="http://lorempixel.com/400/200/">
</div>
<div class="details">
<p class="banner-title">text 1</p>
<p class="banner-text">content content content content content content content content content content content content content content</p>
<button class="btn">button</button>
</div>
</div>
</div>
CSS
.content * {
box-sizing: border-box;
}
.content .position-container {
display: table;
}
.content .details {
display: table-cell;
vertical-align: middle;
width: 33.333333%;
padding: 30px;
font-size: 17px;
text-align: center;
}
.content .thumb {
width: 100%;
}
.content .thumb img {
width: 100%;
}
Link to JSFiddle
The main points are the 3 .thumb
, .details
and .position-container
containers:
The .position-container
must have display: table
.
The .details
must have the real width set width: ....
and display: table-cell
, vertical-align: middle
.
The .thumb
must have width: 100%
if you want that it will take all the remaining space and it will be influenced by the .details
width.
The image (if you have an image) inside .thumb
should have width: 100%
, but it is not necessary if you have correct proportions.