[id^="docs-xy"].docs-component .docs-code-live {
@include foundation-xy-grid-classes;
- .grid {
+ .grid-x,
+ .grid-y {
font-size: 12px;
- margin-bottom: 10px;
line-height: 2rem;
margin-bottom: 1.5rem;
}
+ .grid-y .grid-x {
+ margin-bottom: 0;
+ }
+
.cell {
&:nth-child(odd) {
background: #eee;
## Gutters
The defining feature of the XY grid is the ability to use margin AND padding grids in harmony.
-To define a grid type, simple set `.margin-gutters` or `.padding-gutters` on the grid.
+To define a grid type, simple set `.grid-margin-x` or `.grid-padding-x` on the grid.
<div class="docs-codepen-container">
<a class="codepen-logo-link" href="https://codepen.io/ZURBFoundation/pen/owvqYp?editors=1000" target="_blank"><img src="{{root}}assets/img/logos/edit-in-browser.svg" class="" height="" width="" alt="edit on codepen button"></a>
</div>
```html_example
-<div class="grid-x margin-gutters">
+<div class="grid-x grid-margin-x">
<div class="medium-6 large-4 cell">12/6/4 cells</div>
<div class="medium-6 large-8 cell">12/6/8 cells</div>
</div>
-<div class="grid-x padding-gutters">
+<div class="grid-x grid-padding-x">
<div class="medium-6 large-4 cell">12/6/4 cells</div>
<div class="medium-6 large-8 cell">12/6/8 cells</div>
</div>
If the class `.auto` or `.[size]-auto` is added to the cell, it will take up the remaining space.
```html_example
-<div class="grid-x margin-gutters">
+<div class="grid-x grid-margin-x">
<div class="small-4 cell">4 cells</div>
<div class="auto cell">Whatever's left!</div>
</div>
Multiple expanding cells will share the leftover space equally.
```html_example
-<div class="grid-x margin-gutters">
+<div class="grid-x grid-margin-x">
<div class="small-4 cell">4 cells</div>
<div class="auto cell">Whatever's left!</div>
<div class="auto cell">Whatever's left!</div>
A cell can also be made to *shrink*, by adding the `.shrink` or `.[size]-shrink` class. This means it will only take up the space its contents need.
```html_example
-<div class="grid-x margin-gutters">
+<div class="grid-x grid-margin-x">
<div class="shrink cell">Shrink!</div>
<div class="auto cell">Expand!</div>
</div>
## Collapse Cells
-The `.[size]-[margin-type]-collapse` class lets you remove cell gutters.
+The `.[size]-[gutter-type]-collapse` class lets you remove cell gutters.
There are times when you won't want each media query to be collapsed. In this case, use the media query size you want and collapse and add that to your grid element. Example shows gutters at small and no gutters on medium and up.
```html_example
-<div class="grid-x margin-gutters medium-margin-collapse">
+<div class="grid-x grid-margin-x medium-margin-collapse">
<div class="small-6 cell">
Gutters at small no gutters at medium.
</div>
Offsets work by applying `margin-left` (or `margin-top` for a vertical grid) to a grid.
```html_example
-<div class="grid-x margin-gutters">
+<div class="grid-x grid-margin-x">
<div class="small-4 large-offset-2 cell">Offset 2 on large</div>
<div class="small-4 cell">4 cells</div>
</div>
## Vertical Grids
The XY grid also supports vertical grids. Simply apply `.grid-y` instead of `.grid-x`.
-The internal cells will shift automatically to provide spacing vertically rather than horizontally
+The internal cells will shift automatically to provide spacing vertically rather than horizontally.
+
+You can also apply margin or padding with `.grid-margin-y` and `.grid-padding-y` to apply spacing to the top and bottom of cells.
<div class="callout">
<p>Please note for vertical grids to work, the grid needs a height. You can also use [grid frame](#grid-frame) to create a 100 vertical height grid (or 100% height if nested).</p>
<div class="grid-y medium-grid-frame">
<div class="cell shrink header cell-block-container">
<h1>Grid Frame Header</h1>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-4">
A medium 4 cell
</div>
</div>
</div>
<div class="cell auto cell-block-container">
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-4 medium-cell-block-y">
<h2>Independent scrolling sidebar</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer lacus odio, accumsan id ullamcorper eget, varius nec erat. Nulla facilisi. Donec dui felis, euismod nec finibus vitae, dapibus quis arcu. Maecenas tempor et ipsum quis venenatis. Ut posuere sed augue sit amet efficitur. Sed imperdiet, justo id tempus rhoncus, est est viverra turpis, non vulputate magna lectus et nisl. Pellentesque ultrices porttitor vehicula. Ut aliquet efficitur ligula, a consectetur felis. Proin tristique ut augue nec luctus. Curabitur a sapien pretium, auctor elit a, efficitur erat. Donec tincidunt dui vel velit bibendum euismod. Cras vitae nibh dui. Aliquam erat volutpat. Etiam sit amet arcu a erat efficitur facilisis. Ut viverra dapibus turpis, et ornare justo. Integer in dui cursus, dignissim tortor a, hendrerit risus.</p>
<h2>Margin Block Grid</h2>
<p>small 2, medium 4, large 6</p>
- <div class="grid-x margin-gutters small-up-2 medium-up-4 large-up-6">
+ <div class="grid-x grid-margin-x small-up-2 medium-up-4 large-up-6">
<div class="cell"><div class="demo">cell</div></div>
<div class="cell"><div class="demo">cell</div></div>
<div class="cell"><div class="demo">cell</div></div>
<h2>Padding Block Grid</h2>
<p>small 1, medium 3, large 5</p>
- <div class="grid-x padding-gutters small-up-1 medium-up-3 large-up-5">
+ <div class="grid-x grid-padding-x small-up-1 medium-up-3 large-up-5">
<div class="cell"><div class="demo">cell</div></div>
<div class="cell"><div class="demo">cell</div></div>
<div class="cell"><div class="demo">cell</div></div>
<h2>Margin Grid Collapse</h2>
<p>Gutters should collapse on large.</p>
- <div class="grid-x margin-gutters large-margin-collapse">
+ <div class="grid-x grid-margin-x large-margin-collapse">
<div class="cell medium-12"><div class="demo">12</div></div>
<div class="cell medium-11"><div class="demo">11</div></div>
<div class="cell medium-1"><div class="demo">1</div></div>
<h2>Padding Grid Collapse</h2>
<p>Gutters should collapse on medium.</p>
- <div class="grid-x padding-gutters medium-padding-collapse">
+ <div class="grid-x grid-padding-x medium-padding-collapse">
<div class="cell medium-12"><div class="demo">12</div></div>
<div class="cell medium-11"><div class="demo">11</div></div>
<div class="cell medium-1"><div class="demo">1</div></div>
<div class="grid-y medium-grid-frame">
<div class="cell shrink header cell-block-container">
<h1>Grid Frame Header</h1>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-4">
A medium 4 cell
</div>
</div>
</div>
<div class="cell auto cell-block-container">
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-4 medium-cell-block-y">
<h2>Independent scrolling sidebar</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer lacus odio, accumsan id ullamcorper eget, varius nec erat. Nulla facilisi. Donec dui felis, euismod nec finibus vitae, dapibus quis arcu. Maecenas tempor et ipsum quis venenatis. Ut posuere sed augue sit amet efficitur. Sed imperdiet, justo id tempus rhoncus, est est viverra turpis, non vulputate magna lectus et nisl. Pellentesque ultrices porttitor vehicula. Ut aliquet efficitur ligula, a consectetur felis. Proin tristique ut augue nec luctus. Curabitur a sapien pretium, auctor elit a, efficitur erat. Donec tincidunt dui vel velit bibendum euismod. Cras vitae nibh dui. Aliquam erat volutpat. Etiam sit amet arcu a erat efficitur facilisis. Ut viverra dapibus turpis, et ornare justo. Integer in dui cursus, dignissim tortor a, hendrerit risus.</p>
<h2>Sizing Classes</h2>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell medium-12"><div class="demo">12</div></div>
<div class="cell medium-11"><div class="demo">11</div></div>
<div class="cell medium-1"><div class="demo">1</div></div>
<h2>Nesting</h2>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell medium-6">
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell medium-9"><div class="demo">9 nested</div></div>
<div class="cell medium-3"><div class="demo">3 nested</div></div>
</div>
<h2>Auto and Shrink</h2>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell medium-shrink"><div class="demo">Shrink on medium</div></div>
<div class="cell medium-auto"><div class="demo">Auto on medium</div></div>
</div>
<h2>Collapse</h2>
- <div class="grid-x margin-gutters large-margin-collapse">
+ <div class="grid-x grid-margin-x large-margin-collapse">
<div class="cell medium-12"><div class="demo">12</div></div>
<div class="cell medium-11"><div class="demo">11</div></div>
<div class="cell medium-1"><div class="demo">1</div></div>
<h2>Offset</h2>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell medium-3 medium-offset-2"><div class="demo">3</div></div>
<div class="cell medium-4"><div class="demo">4</div></div>
</div>
<h2>Margin Grid Offset</h2>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-1"><div class="demo">1</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-2"><div class="demo">2</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-3"><div class="demo">3</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-4"><div class="demo">4</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-5"><div class="demo">5</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-6"><div class="demo">6</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-7"><div class="demo">7</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-8"><div class="demo">8</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-9"><div class="demo">95</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-10"><div class="demo">10</div></div>
</div>
- <div class="grid-x margin-gutters">
+ <div class="grid-x grid-margin-x">
<div class="cell small-1 small-offset-11"><div class="demo">11</div></div>
</div>
<h2>Padding Grid Offset</h2>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-1"><div class="demo">1</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-2"><div class="demo">2</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-3"><div class="demo">3</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-4"><div class="demo">4</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-5"><div class="demo">5</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-6"><div class="demo">6</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-7"><div class="demo">7</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-8"><div class="demo">8</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-9"><div class="demo">95</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-10"><div class="demo">10</div></div>
</div>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell small-1 small-offset-11"><div class="demo">11</div></div>
</div>
<h2>Sizing Classes</h2>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-12"><div class="demo">12</div></div>
<div class="cell medium-11"><div class="demo">11</div></div>
<div class="cell medium-1"><div class="demo">1</div></div>
<h2>Nesting</h2>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-6">
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-9"><div class="demo">9 nested</div></div>
<div class="cell medium-3"><div class="demo">3 nested</div></div>
</div>
<h2>Auto and Shrink</h2>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-shrink"><div class="demo">Shrink on medium</div></div>
<div class="cell medium-auto"><div class="demo">Auto on medium</div></div>
</div>
<h2>Collapse</h2>
- <div class="grid-x padding-gutters large-padding-collapse">
+ <div class="grid-x grid-padding-x large-padding-collapse">
<div class="cell medium-12"><div class="demo">12</div></div>
<div class="cell medium-11"><div class="demo">11</div></div>
<div class="cell medium-1"><div class="demo">1</div></div>
<h2>Offset</h2>
- <div class="grid-x padding-gutters">
+ <div class="grid-x grid-padding-x">
<div class="cell medium-3 medium-offset-2"><div class="demo">3</div></div>
<div class="cell medium-4"><div class="demo">4</div></div>
</div>
-6<!doctype html>
+<!doctype html>
<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
<html class="no-js" lang="en" dir="ltr">
<head>
<h2>Margin Grid</h2>
- <div class="grid-y margin-gutters" style="height: 800px;">
+ <div class="grid-y grid-margin-y" style="height: 800px;">
<div class="cell auto medium-3 large-1"><div class="demo">auto/3/1</div></div>
<div class="cell auto medium-3 large-2"><div class="demo">auto/3/2</div></div>
<div class="cell auto medium-3 large-4"><div class="demo">auto/3/4</div></div>
<h2>Padding Grid</h2>
- <div class="grid-y grid-frame padding-gutters" style="height: 800px;">
+ <div class="grid-y grid-frame grid-padding-y" style="height: 800px;">
<div class="cell auto medium-3 large-1"><div class="demo">auto/3/1</div></div>
<div class="cell auto medium-3 large-2"><div class="demo">auto/3/2</div></div>
<div class="cell auto medium-3 large-4"><div class="demo">auto/3/4</div></div>