/Simple-Grid

A basic responsive grid for winners. This project is based on Chris Coyier's post on grids http://css-tricks.com/dont-overthink-it-grids/

Primary LanguageHTML

Simple Grid

Intro

Simple Grid is a basic lightweight grid, not a CSS framework. There are no styles for buttons, tables, typography etc. etc. Simple Grid comes with two different types of grids. There is a grid for content, which looks like <div class="col-1-3"></div> and a grid for layouts, which looks like <div class="col-4-12"></div>. Simple Grid is also built for responsive layouts. With fluid columns, the grid will resize to adjust to the browser resolution. To accommodate for mobile and tablet devices, the grid will essentially stack all columns, one above another, when viewed on smaller screens.

Instructions

Before starting with anything please make sure to include this snippet of code in your <head> tag so that the grids will be responsive on mobile devices: <meta name="viewport" content="width=device-width, initial-scale=1" >

In terms of use, Simple Grid is basically just like every other grid. Starting out, you need to wrap your grid in a div class named grid. If you want a 20px padding around your grid, add the class grid-pad to the div wrapper. Next, all you have to do is decide what size you want your grid to be and add the appropiate classes. For example, if you want a grid with a left sidebar and main content area you would do:

<div class="grid">
  <div class="col-3-12">
  </div>
  <div class="col-9-12">
  </div>
</div>
If you have a page and would like four columns of content, you would do:
<div class="grid">
  <div class="col-1-4">
  </div>
  <div class="col-1-4">
  </div>
  <div class="col-1-4">
  </div>
  <div class="col-1-4">
  </div>
</div>
The first column of content in your grid will always be floated left. If you would like to float a column to the right, all you have to do is add the class push-right.

Push-Classes

To push a column to the right, you can use the push-X-X classes:

<div class="grid">
  <div class="col-1-3 push-1-3">
  </div>
  <div class="col-1-3 ">
  </div>
</div>

Mobile

If you don't want to stack all columns on mobile and tablet you can simply add a extra class to each column:

<div class="grid">
  <div class="col-1-3 mobile-col-1-2">
  </div>
  <div class="col-1-3 mobile-col-1-2">
  </div>
  <div class="col-1-3 hide-on-mobile">
  </div>
</div>
To hide a element (column, div, a, etc.) on mobile and tablets you can add the class hide-on-mobile to it.

Preview

To see the grid in action jump on over to the Simple Grid example page.

Copyright & License

Copyright (C) 2013 Dallas Bass - Released under the MIT License.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.