Mason

Component ID

2657012

Component name

Mason

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

2484

Component created

Component changed

Component body

Provides Mason integration to create a perfect gapless grid of elements.
This is not Masonry, or Isotope or Gridalicious. Mason fills in those ugly gaps, and creates a perfectly filled space.

The module provides a Views style plugin to return results as a Mason grid.

Installation

Install the module as usual, more info can be found on:
http://drupal.org/documentation/install/modules-themes/modules-7

Usage / Configuration

  • Visit admin/structure/mason to build a Mason grid.
  • Visit admin/structure/views, and create a new page or block with Mason style.
  • Use the provided sample to begin with, be sure to read its README.txt.

Requirements

  • Blazy (>= 8.x-1.0-alpha3)
  • Views module.
  • Mason library:
    • Download Mason archive from https://github.com/DrewDahlman/Mason
    • Extract it as is, rename "Mason-master" to "mason", so the assets are available at:
      /libraries/mason/dist/mason.min.js

How does it work?

Mason works by flowing a grid of floated elements as a normal CSS layout, then measuring the dimensions of the blocks and total grid area. It then detects where gaps are and fills them.

It uses fillers to fill in gaps. Fillers are elements that you can define or it will reuse elements within the grid. If fillers are ugly, use Promoted option with proper calculation and most likely a couple of trials and errors. Be sure the amount of visible mason boxes are matching the amount of Promoted items.

Tips

  • The key is: "floated elements as a normal CSS layout".
  • Do not rely on random sizes, use proper calculation, or a simple math.
  • Having hard time with trial and errors? Try using Fillers option at Views UI to automatically fill empty gaps, especially for small devices. Be sure designated items are available for fillers.