Skip to content

Instantly share code, notes, and snippets.

@Rolograaf
Created April 27, 2014 15:53
Show Gist options
  • Save Rolograaf/11349038 to your computer and use it in GitHub Desktop.
Save Rolograaf/11349038 to your computer and use it in GitHub Desktop.
Holy Grail Layout with Flexbox example
body {
font: 24px Helvetica;
background: #999999;
}
#main {
min-height: 800px;
margin: 0px;
padding: 0px;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row;
flex-flow: row;
}
#main > article {
margin: 4px;
padding: 5px;
border: 1px solid #cccc33;
border-radius: 7pt;
background: #dddd88;
-webkit-flex: 3 1 60%;
flex: 3 1 60%;
-webkit-order: 2;
order: 2;
}
#main > nav {
margin: 4px;
padding: 5px;
border: 1px solid #8888bb;
border-radius: 7pt;
background: #ccccff;
-webkit-flex: 1 6 20%;
flex: 1 6 20%;
-webkit-order: 1;
order: 1;
}
#main > aside {
margin: 4px;
padding: 5px;
border: 1px solid #8888bb;
border-radius: 7pt;
background: #ccccff;
-webkit-flex: 1 6 20%;
flex: 1 6 20%;
-webkit-order: 3;
order: 3;
}
header, footer {
display: block;
margin: 4px;
padding: 5px;
min-height: 100px;
border: 1px solid #eebb55;
border-radius: 7pt;
background: #ffeebb;
}
/* Too narrow to support three columns */
@media all and (max-width: 640px) {
#main, #page {
-webkit-flex-flow: column;
flex-flow: column;
flex-direction: column;
}
#main > article, #main > nav, #main > aside {
/* Return them to document order */
-webkit-order: 0;
order: 0;
}
#main > nav, #main > aside, header, footer {
min-height: 50px;
max-height: 50px;
}
article p {
font: 12px Helvetica;
}
}
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Holy Grail Layout with Flexbox example" />
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<header>header</header>
<div id='main'>
<article>article<p>make this wider or smaller</p></article>
<nav>nav</nav>
<aside>aside</aside>
</div>
<footer>footer</footer>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment