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
- Cadillac
- $999.99
- ∞ Databases
- ∞ Storage
- ∞ Users
- SSL Support
- 24/7 Support
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