I found most articles about aligning image or text to middle in block, I expect to align the whole text block in middle next to an image. Demo can be found below. If I narrow the width of screen, the image is placed in middle next to the text block, but if I widen the screen, there is space filled under text in block and text block cannot be aligned in middle next to the image.
Demo: http://jsfiddle.net/yckelvin/3grb2vb3/
Here is my expected output:
My code is below:
img.pimg {
max-width:50%;
display: block;
margin-left: auto;
margin-right: auto;
}
.product_row {
display: table;
width: 100%;
margin-bottom: 20px;
vertical-align: middle;
}
.product_img {
display:table-cell;
width: 40%;
vertical-align: middle;
}
.product_desc {
display:table-cell;
width: 50%;
overflow: visible;
background-color: #FDF990;
padding: 15px 20px 10px;
font-size: 1.2em;
color: #454545;
-webkit-box-shadow: 10px 10px 31px -9px rgba(204, 226, 242, 1);
-moz-box-shadow: 10px 10px 31px -9px rgba(204, 226, 242, 1);
box-shadow: 10px 10px 31px -9px rgba(204, 226, 242, 1);
border-radius: 20px 20px 20px 20px;
-moz-border-radius: 20px 20px 20px 20px;
-webkit-border-radius: 20px 20px 20px 20px;
border: 0px solid #000000;
}
HTML
<div id="products_info">
<div class="product_row">
<div class="product_img">
<img class="pimg" src="http://exmoorpet.com/wp-content/uploads/2012/08/cat.png">
</div>
<div class="product_desc">Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A Block_A </div>
</div>
<div class="product_row">
<div class="product_img">
<img class="pimg" src="http://exmoorpet.com/wp-content/uploads/2012/08/cat.png">
</div>
<div class="product_desc">Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B Block_B </div>
</div>
</div>