Skip to content Skip to sidebar Skip to footer

Equal Height For Two Divs

I have 2 divs (6 columns each). In the div on the left is an image, in the div on the right is some quote. I want my right div's height to be the same as height of image. Here is

Solution 1:

You can do this using jQuery

Just add the class same-height to the DIV´s you want to have the same height

jQUERY

jQuery(document).ready(function($) { //noconflict wrappervar heights = $(".same-height").map(function() {
        return $(this).height();
    }).get(),
    maxHeight = Math.max.apply(null, heights);
    $(".same-height").height(maxHeight);
});

Solution 2:

You can make the container of both divs a flexbox, which will automatically apply equal heights to the child elements.

Try this:

.row { display: flex; }

Revised Codepen

By making .row a flex container, the children (.image and .quote) become flex items, and share equal height by default. See here for more details: https://stackoverflow.com/a/33815389/3597276

Solution 3:

use jQuery or plain Java Script. Just take the height of the desired element and set it to the one you need to edit. $( ".col-lg-6 quote" ).height($( ".col-lg-6 image" ).height())

Hope it helps.

Solution 4:

Simply:

var heightImgDiv = $('.ImgDiv').height();
    $('.Div').height(heightImgDiv );
div {
    background: red;
    float: left;
    width: 250px;
    margin: 010px010px;
}

img {
  display: block;
}
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><divclass="ImgDiv"><imgsrc="https://fallbacks.carbonads.com/nosvn/fallbacks/4cd1acdff7348a672d30bb3326800d80.jpeg"/></div><divclass="Div"></div>

Solution 5:

A similar question has been answered here

For your convenience I will write the answer here also.

Flexbox

With flexbox it's a single declaration:

.row {
  display: flex; /* equal height of the children */
}

.col {
  flex: 1; /* additionally, equal width */padding: 1em;
  border: solid;
}
<divclass="row"><divclass="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div><divclass="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad omnis quae expedita ipsum nobis praesentium velit animi minus amet perspiciatis laboriosam similique debitis iste ratione nemo ea at corporis aliquam.</div></div>

Table layout

If you still need to support IE 8 or 9, then you have to use table layout:

.row {
  display: table;
}

.col {
  display: table-cell;
  width: 50%; /* depends on the number of columns */padding: 1em;
  border: solid;
}
<divclass="row"><divclass="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div><divclass="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad omnis quae expedita ipsum nobis praesentium velit animi minus amet perspiciatis laboriosam similique debitis iste ratione nemo ea at corporis aliquam.</div></div>

Post a Comment for "Equal Height For Two Divs"