There are 3 divas. The example in the figure. How can CSS use the height of blocks to end at the same level? UPD:
The result should be:
There are 3 divas. The example in the figure. How can CSS use the height of blocks to end at the same level? UPD:
The result should be:
Here is an example using table layout.
.one { border: 2px dotted red; width: 250px; } .two { border: 2px dotted blue; width: 250px; } .three { border: 2px dotted orange; width: 250px; }
<table> <tr> <td class="one"> orem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lobortis ornare blandit. Donec sapien risus, volutpat vel nulla ac, porta condimentum nunc. Vestibulum hendrerit ac enim at malesuada. Etiam a neque eros. Maecenas sagittis tellus nisl. Etiam posuere bibendum fringilla. Mauris tortor velit, s tortor velit,elit. nunc. Vestibulum hendrerit ac enim at malesuada. Etiam a neque eros. Maecenas sagittis tellus nisl. Etiam posuere bibendum fringilla. Mauris tortor velit, s tortor velit,elit. fringilla. Mauris tortor velit, sollicitudin id arcu ac, cursus imperdiet quam. Etiam bibendum diam fringilla magna condimentum, quis vestibulum elit cursus. Sed molestie ipsum et mi sollicitudin cursus. </td> <td class="two">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lobortis ornare blandit. Donec sapien risus, volutpat vel nulla ac, porta condimentum nunc. Vestibulum hendrerit ac enim at malesuada. Etiam a neque eros. Maecenas sagittis tellus nisl. Etiam posuere bibendum fringilla. Mauris tortor velit, sollicitudin id arcu ac, cursus imperdiet quam. Etiam bibendum diam fringilla magna condimentum, quis vestibulum elit cursus. Sed molestie ipsum et mi sollicitudin cursus.</td> <td class="three">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lobortis ornare blandit. Donec sapien risus, volutpat vel nulla ac, porta condimentum llicitudin id arcu ac, cursus imperdiet quam. Etiam bibendum diam fringilla magna condimentum, quis vestibulum elit cursus. Sed molestie ipsum et mi sollicitudin cursus.</td> </tr> </table>
If you do not really care about compatibility with old browsers, then I advise you to use flexible boxes ( more ). A great tool that solves many problems with layout, including yours. An example .
it is enough to set the parent display: table
and the child display: table-cell
. We must not forget that the margin
in the tables does not work.
.parent{ display: table; width: 100%; } .child { display: table-cell; background-color: tomato; width: 33.3333%; }
<div class="parent"> <div class="child">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi inventore similique deserunt dolor. Repellat suscipit, magni enim quo incidunt porro culpa nemo soluta, expedita aspernatur cumque quidem vitae, minima sequi! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi inventore similique deserunt dolor. Repellat suscipit, magni enim quo incidunt porro culpa nemo soluta, expedita aspernatur cumque quidem vitae, minima sequi!Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi inventore similique deserunt dolor. Repellat suscipit, magni enim quo incidunt porro culpa nemo soluta, expedita aspernatur cumque quidem vitae, minima sequi!</div> <div class="child">Ab sint autem porro delectus consectetur. Optio corporis consequatur eveniet, debitis iusto incidunt. Facilis veritatis voluptatibus quibusdam dolorem sed illo sit vero asperiores commodi. Suscipit, adipisci, veritatis. Nam, blanditiis, voluptate?</div> <div class="child">Provident aliquam, sunt, minus labore cum est quae in qui officiis impedit accusamus necessitatibus odit, amet harum delectus. Enim delectus, aspernatur quia nulla nam est quo dolore quisquam consectetur nisi. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, velit! Provident aliquam, sunt, minus labore cum est quae in qui officiis impedit accusamus necessitatibus odit, amet harum delectus. Enim delectus, aspernatur quia nulla nam est quo dolore quisquam consectetur nisi. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, velit!</div> </div>
JS will do?
// Назначьте всем div-ам одинаковый класс и передайте его в эту функцию. function alignmentByHeight(classname) { var divs = $("div ."+classname); var max = 0; for(var i=0; i<divs.length; i++) { max = Math.max(max, $(divs[i]).height()); } $(divs).css('min-height', max+'px'); }
And it is possible to make an option compatible with old browsers (without tables).
Here is an example on jsFiddle
Source: https://ru.stackoverflow.com/questions/236667/
All Articles