Equalizer

Equalizer is a great way to create equal height content on your page.

Panel 1

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.

Panel 2

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Panel 3

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

Basic

You can create an equal height container using a few data attributes. Apply the data-equalizer attribute to a parent container. Then apply the data-equalizer-watch attribute to each element you'd like to have an equal height. The height of data-equalizer-watch attribute will be equal to that of the tallest element.

NOTE: If items with equal height become stacked their heights will reset. This will ensure that unneccessary whitespace isn't introduced.

HTML

<div class="row" data-equalizer> <div class="large-6 columns panel" data-equalizer-watch> ... </div> <div class="large-6 columns panel" data-equalizer-watch> ... </div> </div>

Rendered HTML

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Advanced

Perhaps you need to create items that are positioned at the bottom of your input. For example Sign Up buttons on some pricing tables.

HTML

<div class="row" data-equalizer> <div class="large-6 columns"> <ul class="pricing-table" data-equalizer-watch> ... <li class="cta-button"><a class="button" href="#">Buy Now</a></li> </ul> </div> <div class="large-6 columns"> <ul class="pricing-table" data-equalizer-watch> ... <li class="cta-button"><a class="button" href="#">Buy Now</a></li> </ul> </div>

Rendered HTML

  • Standard
  • $99.99
  • 1 Database
  • 5GB Storage
  • 20 Users
  • Buy Now

  • Cadillac
  • $999.99
  • ∞ Databases
  • ∞ Storage
  • ∞ Users
  • SSL Support
  • 24/7 Support
  • Buy Now


Callbacks

There are two ways to bind to callbacks in your equalizers.

Callback Function

$(document).foundation({ equalizer: { before_height_change: function(){ // do something before the height changes }, after_height_change: function(){ // do something after the height changes } } });

Events

$(document).on('before-height-change', function(){ // do something before the height changes }); $(document).on('after-height-change', function(){ // do something after the height changes });

Using the Javascript

Before you can use Interchange you'll want to verify that jQuery and foundation.js are available on your page. You can refer to the Javascript documentation on setting that up.

Just add foundation.interchange.js AFTER the foundation.js file. Your markup should look something like this:

<body> ... <script src="js/vendor/jquery.js"></script> <script src="js/foundation/foundation.js"></script> <script src="js/foundation/foundation.equalizer.js"></script> <!-- Other JS plugins can be included here --> <script> $(document).foundation(); </script> </body>

Required Foundation Library: foundation.equalizer.js

Stay on top of what’s happening in responsive design.

Sign up to receive monthly Responsive Reading highlights. Read Last Month's Edition ยป