Simple Grid Mixin

This is the SASS mixin I use regularly for creating basic responsive grid layouts.

@mixin grid-setup($gutterX, $gutterY, $placement) {
    margin-left: - $gutterX / 2;
    margin-right: - $gutterX / 2;
    &:after {
        display: table;
        content: "";
        clear: both;
    } 
    & > * {
        padding: ($gutterY / 2) ($gutterX / 2);
        @if $placement == "float" {
            float: left;
        } @else if $placement == "inline" {
            display: inline-block;
        }
    }
}

@mixin grid-break($fraction){
    width: $fraction * 100%;
}

... and then apply the mixins like this:

.grid {
    @include grid-setup(1em, 1em, inline);
}
.grid__block {
    @include grid-break(1/2);
}


Example result:

BLOCK 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. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.

BLOCK 2

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.

BLOCK 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.

BLOCK 4

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.

BLOCK 5

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.