ggs-rails
A collection of SASS mixins for easy implementation of the Golden Grid System.
Installation
Gemfile
Add ggs-rails
to the :assets
group of your application.
group :assets do
gem 'ggs-rails'
end
Upgrading
Users of 0.x upgrading to 1.x should note that there were two breaking changes in this release.
-
@include ggs-wrapper
now expects a full css selector, not just a class name. Previouse use of@include ggs-wrapper('wrapper')
should be updated to@include ggs-wrapper('.wrapper')
-
@include ggs-margin-height
now provides a single line of margin on both the top and bottom of the element, not just on the top.
Usage
Variables
These variables are set by default, you can override them before importing ggs.
-
$ggs-line
: Your base line-height. Defaults to 24 -
$ggs-font-size
: Your base font size. Defaults to 16 -
$ggs-8-column-breakpoint
: Width to switch from 4 columns to 8 columns. Defaults to 45em -
$ggs-16-column-breakpoint
: Width to switch from 8 columns to 16 columns. Defaults to 117em
Functions
ggs-column($multiplier, $out_of: 18)
: Returns a percentage that
represents the width of $multiplier
columns on the page. Pass the
$out_of
parameter in the case where an element is contained in a block
that does not span the entire width of the browser window.
ggs-lineheight($multiplier)
: Returns an em
value for line-height
times $multiplier
.
Mixins
For setting width and margins
ggs-width($num_columns: 1, $out_of: 18)
: Sets element width
to
proper percentage.
ggs-margin-width($num_columns_left: 1, $num_columns_right: 1)
: Sets
margin-left
and margin-right
to the appropriate number of columns
ggs-margin-left($num_columns: 1)
and ggs-margin-right($num_columns: 1)
. Self explanatory.
ggs-margin-height($top_multipler: 1, $bottom_multiplier: 1)
: Sets
margin-top
and margin-bottom
to the appropriate multplier of
line-height
ggs-margin-top($multiplier: 1)
and ggs-margin-bottom($multipler: 1)
.
Self explanatory.
For easy media queries
These mixins take a block that will serve as the body of the media query
ggs-4-columns-max
: @media screen and (max-width: $ggs-8-column-breakpoint)
ggs-8-columns
: @media screen and (min-width: $ggs-8-column-breakpoint)
ggs-8-columns-max
: @media screen and (max-width: $ggs-16-column-breakpoint)
ggs-16-columns
: @media screen and (min-width: $ggs-16-column-breakpoint)
ggs-media-width($min-width)
: @media screen and (min-width: $min-width)
ggs-media-width-max($max-width)
: @media screen and (max-width: $max-width)
ggs-media-width-range($min-width, $max-width)
: @media screen and (min-width: $min-width) and (max-width: $max-width)