CodePen

HTML

            
              <h1>Don't Overthink It Grids <em>(while we wait for flexbox)</em></h1>

<div class="demo-one">
   <div class="main">
     <div class="module">
       <h3>2/3</h3>
				<p>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.</p>	
     </div>
   </div>
   <div class="sidebar">
     <div class="module">
     		<h3>1/3</h3>
				<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies</p>	
     </div>
   </div>
</div>

<div class="demo-two">
   <div class="main ">
     <div class="module">
     		<h3>2/3 (Opt-in Outside Padding)</h3>
				<p>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.</p>	
     </div>
   </div>
   <div class="sidebar">
     <div class="module">
     		<h3>1/3</h3>
				<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam.</p>	
     </div>
   </div>
</div>

<div class="demo-three">
   <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
   <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
  <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
  <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
  <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
  <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
  <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
  <div>
     <div class="module">
     		<h3>1/8</h3>
     </div>
   </div>
</div>

<div class="demo-four">
   <div class="sidebar">
     <div class="module">
     		<h3>1/4</h3>
     </div>
   </div>
   <div class="main">
     <div class="module">
     		<h3>1/2</h3>
     </div>
   </div>
  <div class="sidebar">
     <div class="module">
     		<h3>1/4</h3>
     </div>
   </div>
</div>
            
          
!

↑ Insert the most common viewport meta tag

CSS

            
              * {
  @include box-sizing(border-box);
}

$pad: 20px;

.grid {
  background: white;
  margin: 0 0 $pad 0;
  
  &:after {
    /* Or @extend clearfix */
    content: "";
    display: table;
    clear: both;
  }
}

.col {
	float: left;
  padding-right: $pad;
  &:last-of-type {
  	padding-right: 0;
  }
}
.col-2-3 {
	width: 66.66%;
}
.col-1-3 {
	width: 33.33%;
}
.col-1-2 {
	width: 50%;
}
.col-1-4 {
	width: 25%;
}
.col-1-8 {
	width: 12.5%;
}

.module {
  padding: $pad;
  background: #eee;
}

/* Opt-in outside padding */
.grid-pad {
  padding: $pad 0 $pad $pad;
  .col:last-of-type {
    padding-right: $pad;
  }
}

body {
	padding: 10px 50px 200px;
  background: url(http://subtlepatterns.com/patterns/dark_wall_@2X.png);
  background-size: 300px 300px;
}
h1 {
  color: white;
  em {
  	color: #666;
    font-size: 16px;
  }
}

/* Semantic grid stuff */

.demo-one {
  @extend .grid;
  .main {
    @extend .col, .col-2-3;
  }
  .sidebar {
    @extend .col, .col-1-3;
  }
}

.demo-two {
  @extend .grid, .grid-pad;
  .main {
    @extend .col, .col-2-3;
  }
  .sidebar {
    @extend .col, .col-1-3;
  }
}

.demo-three {
  @extend .grid, .grid-pad;
  > div {
    @extend .col, .col-1-8;
  }
}

.demo-four {
  @extend .grid, .grid-pad;
  .main {
    @extend .col, .col-1-2;
  }
  .sidebar {
    @extend .col, .col-1-4;
  }  

}
            
          
!
? ?
? ?
Must be a valid URL.
+ add another resource
via CSS Lint

JS

            
              
            
          
!
Must be a valid URL.
+ add another resource
via JS Hint
Loading ..................