A JavaScript polyfill for Flexbox
Flexibility is a polyfill for the Flexible Box Layout, commonly known as Flexbox. With Flexibility, you get to design beautiful, flexible layouts on the web without sacrificing the experience in older browsers.
Flexbox lays out, aligns, and distributes elements in a container, even when their size is unknown or dynamic. To better understand Flexbox, read Chris Coyierโs excellent Complete Guide to Flexbox.
To start using Flexbox in Internet Explorer 8 & 9 or any older browser, download the flexibility.js script and include it anywhere on your page.
<script src="flexibility.js"></script>
If youโre only targeting Internet Explorer 10 and lower, add a
-js-display: flex
declaration before any display: flex
declarations in your
CSS, or use PostCSS Flexibility to automate this during your build process.
.container {
-js-display: flex;
display: flex;
}
If youโre targeting other browsers, use the data-style
attribute to alert these browsers to your changes.
<div data-style="display: flex;"></div>
When youโre ready to polyfill flexbox with JavaScript, use the flexibility
method on the outermost element you would like to polyfill.
flexibility(document.documentElement);
The global flexibility
method contains child functions for use within your
own framework.
Argument: Element
Return flexbox related styles from an element.
Argument: Element
Return a list of flexbox details from a matching element or its descendants.
Argument: Details
Writes flexbox details back to their respective elements.
Argument: Array
Writes a list of flexbox details back to their respective elements.
To learn more about Flexibility, read the support section.
If you experience an issue, read the contributing section before creating an issue.