Skip to content

Instantly share code, notes, and snippets.

@zemd
Last active May 3, 2017 20:51
Show Gist options
  • Save zemd/4bf785e1db4a3875c51075f10728535f to your computer and use it in GitHub Desktop.
Save zemd/4bf785e1db4a3875c51075f10728535f to your computer and use it in GitHub Desktop.
Golden grid layout using CSS Grid Layout Module Level 1 source https://jsbin.com/ludapar
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css">
:root {
--grid-gutter-width: calc(24em / 16);
--grid-column-size: calc(100% / 18);
}
html,
body {
margin: 0;
padding: 0;
}
body {
background-color: skyblue;
}
.container {
display: grid;
grid-column-gap: var(--grid-gutter-width);
justify-items: stretch;
align-items: stretch;
justify-content: stretch;
margin: 0 var(--grid-column-size);
padding: 0 0.75rem;
background-color: yellow;
height: 700px;
}
.container div {
background-color: green;
}
.container {
grid-template-columns: repeat(4, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 5;
}
@media (min-width: 720px) {
.container {
grid-template-columns: repeat(8, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 9;
}
}
@media (min-width: 1872px) {
.container {
grid-template-columns: repeat(16, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 17;
}
}
</style>
</head>
<body>
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div class="wide">18</div>
<div>19</div>
<div>20</div>
</div>
<script id="jsbin-source-css" type="text/css">:root {
--grid-gutter-width: calc(24em / 16);
--grid-column-size: calc(100% / 18);
}
html,
body {
margin: 0;
padding: 0;
}
body {
background-color: skyblue;
}
.container {
display: grid;
grid-column-gap: var(--grid-gutter-width);
justify-items: stretch;
align-items: stretch;
justify-content: stretch;
margin: 0 var(--grid-column-size);
padding: 0 0.75rem;
background-color: yellow;
height: 700px;
}
.container div {
background-color: green;
}
.container {
grid-template-columns: repeat(4, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 5;
}
@media (min-width: 720px) {
.container {
grid-template-columns: repeat(8, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 9;
}
}
@media (min-width: 1872px) {
.container {
grid-template-columns: repeat(16, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 17;
}
}
</script>
</body>
</html>
:root {
--grid-gutter-width: calc(24em / 16);
--grid-column-size: calc(100% / 18);
}
html,
body {
margin: 0;
padding: 0;
}
body {
background-color: skyblue;
}
.container {
display: grid;
grid-column-gap: var(--grid-gutter-width);
justify-items: stretch;
align-items: stretch;
justify-content: stretch;
margin: 0 var(--grid-column-size);
padding: 0 0.75rem;
background-color: yellow;
height: 700px;
}
.container div {
background-color: green;
}
.container {
grid-template-columns: repeat(4, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 5;
}
@media (min-width: 720px) {
.container {
grid-template-columns: repeat(8, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 9;
}
}
@media (min-width: 1872px) {
.container {
grid-template-columns: repeat(16, 1fr);
}
.wide {
grid-column-start: 1;
grid-column-end: 17;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment