A jQuery plugin to make elements equal height. There are many plugins out there that do this, this one is ours.
-
Set the property
data-equal-height
on any element that is a parent of those you want to be equal, with a value that is the CSS selector of the elements that should be equal height<ul data-equal-height='li'> <li>Short<li> <li>Short<li> <li>Long, long, really long…<li> </ul>
-
Include and invoke the plugin
<script src='devfort.equal-height.js'></script> <script> $('[data-equal-height]').make_children_equal_height(); </script>
-
Revoke the plugin
<script> $('[data-equal-height]').make_children_disequal_height(); </script>
-
Optionally call the function again if the heights are likely to have changed (eg. if the browser is resized, the font is resized, etc.)
$('body').on( 'resize', $('[data-equal-height]').make_children_equal_height() );
-
Figures out height using
.height()
, ie all the elements matched by the selector should have the same margin and padding or things won't line up -
For
display: table
, setsheight
notmin-height
; this is possibly fragile, but at least allows you to get stuff done without adding shim elements
Initial version written by Mark Norman Francis at Art Discovery Ltd; subsequent work by James Aylett at NSFWCORP and then re-adopted by James and Norm at /dev/fort.