The Wookmark jQuery plugin

We have received several questions about how the grid layout on is created so we created this simple plugin. It lays out a series of elements in a dynamic column grid.

Mentioned by Web Appers, Design Shack, Web Design Ledger, SpeckyBoy, Queness, Web Resources Depot, HongKiat, DevSnippets, CodeVisually, How Design, Tympanus, David Walsh, JaxEnter and others.

How to use it

  1. Download the Javascript plugin file from the Github repository
  2. Include the file in your website (after your include of jQuery)

  3. Run it on your content

  4. Adjust the options (all optional, see GitHub for examples)

    • align - "left", "right", or "center"
    • autoResize - if "true", updates layout after browser is resized
    • resizeDelay - default is "50", time in miliseconds between browser resize and layout update
    • comparator - a custom sorting function
    • container - the width of this element is used to calculate the number of columns, defaults to "window". For example $('myContentGrid'). Container should also have the CSS property "position: relative".
    • direction - "left" or "right", whether to start in top left or top right corner
    • ignoreInactiveItems - if "true", inactive items will still be visible, which can be used to fade filtered items out
    • itemWidth - width of one grid item in pixels ("200") or percentage ("10%"), defaults to width of first item
    • fillEmptySpace - if "true", creates placeholder at bottom of each column to create an even layout. Placeholders elements have the class "wookmark-placeholder".
    • flexibleWidth - "true" or "false", adjusts item width to create optimal layout based on browser size
    • offset - vertical and horizontal distance between items, defaults to 2
    • onLayoutChanged - a function that gets called after every layout change
    • outerOffset - default is "0"

See examples (sorting, filtering, stamping, endless scroll, lightbox, API integration...) and contribute, Wookmark on github. Have fun.

Wookmark jQuery plugin example

A live example

Below are the current 20 most popular images on The Wookmark plugin detects the size of the window and automatically organizes the images into columns. Resize your browser to see the layout adjust. Note how the columns are approximately of equal height.