--- title: 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.

HTML

{{#markdown}} ```html
...
...
``` {{/markdown}}

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]({{relative absolute 'dist/docs/components/pricing_tables.html'}}). ### HTML {{#markdown}} ```html
``` {{/markdown}} ### Rendered HTML
--- ## Using the Javascript Before you can use Equalizer you'll want to verify that jQuery and `foundation.js` are available on your page. You can refer to the [Javascript documentation](../javascript.html) on setting that up. Just add `foundation.equalizer.js` AFTER the `foundation.js` file. Your markup should look something like this: {{> examples_equalizer_javascript}} Required Foundation Library: `foundation.equalizer.js` ### Optional Javascript Configuration #### JS {{#markdown}} ```js $(document).foundation({ equalizer : { // Specify if Equalizer should make elements equal height once they become stacked. equalize_on_stack: false } }); ``` {{/markdown}} --- ## Callbacks There are two ways to bind to callbacks in your equalizers.

Deprecation Notice

Previous versions of the equalizer plugin emitted un-namespaced `before-height-change` and `after-height-change` events, however, these have been replaced by the namespaced `before-height-change.fndtn.equalizer` and `after-height-change.fndtn.equalizer` events. The un-namespaced events will be fully deprecated when Foundation 5.4 is released.

Callback Function

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

Events

{{#markdown}} ```js $(document).on('before-height-change.fndtn.equalizer', function(){ // do something before the height changes }); $(document).on('after-height-change.fndtn.equalizer', function(){ // do something after the height changes }); ``` {{/markdown}}
### Adding New Content After Page Load If you add new content after the page has been loaded, you will need to reinitialize the Foundation JavaScript by running the following: {{#markdown}} ```javascript $(document).foundation(); ``` {{/markdown}} Reflow will make Foundation check the DOM for any elements and re-apply any listeners to them. {{#markdown}} ```javascript $(document).foundation('equalizer', 'reflow'); ``` {{/markdown}}