Skip to content

Instantly share code, notes, and snippets.

@maddesigns
Created January 4, 2017 16:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maddesigns/9eafc2e1dd23870a73657c833dc3f798 to your computer and use it in GitHub Desktop.
Save maddesigns/9eafc2e1dd23870a73657c833dc3f798 to your computer and use it in GitHub Desktop.
$gridgap: 30px;
.bs-grid {
box-sizing: border-box;
display: grid;
grid-gap: $gridgap;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
// grid-template-columns:
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)))
// calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12)));
grid-template-rows: auto;
[class*="col"] {
grid-column: auto / span 1;
background-color: rgba(10,10,10,0.3);
color: #fff;
padding: 1rem;
text-align: center;
}
}
// .bs-grid1 {
// display: grid;
// grid-template-columns: repeat(12, 1fr);
// @for $i from 1 through 12 {
// .col#{$i} {
// grid-column: 1 / span $i;
// background-color: rgba(10,10,10,0.3);
// color: #fff;
// padding-left: $gridgap/2;
// padding-right: $gridgap/2;
// text-align: center;
// // prevent overflow
// // max-width: 100%;
// // overflow: hidden;
// }
// }
// }
$gridgap: 30px;
$columns: 12;
.bs-grid1 {
display: grid;
grid-template-columns: repeat($columns, 1fr);
}
[class*="col-"] {
padding-left: $gridgap/2;
padding-right: $gridgap/2;
box-shadow: inset 0 0 0 1px black;
background-color: rgba(10,10,10,0.3);
color: #fff;
text-align: center;
> span {
display: none;
}
}
@for $i from 1 through $columns {
.col-xs-#{$i} {
grid-column: auto / span $i;
}
}
@include breakpoint($medium) {
@for $i from 1 through $columns {
.col-md-#{$i} {
grid-column: auto / span $i;
}
}
}
@include breakpoint($large) {
@for $i from 1 through $columns {
.col-lg-#{$i} {
grid-column: auto / span $i;
}
}
}
.xs {
display: block !important;
@include breakpoint($medium) {
display: none !important;
}
}
.md {
@include breakpoint($medium) {
display: block !important;
}
@include breakpoint($large) {
display: none !important;
}
}
.lg {
@include breakpoint($large) {
display: block !important;
}
}
.bs-grid2 {
// demo
margin: 2rem 0;
//\demo
@include breakpoint(600px) {
display: grid;
grid-gap: $gridgap;
grid-template-columns: repeat(12, calc(100%/12 - (#{$gridgap} - (#{$gridgap}/12))));
grid-template-areas: "header header header header header header header header header header header header ";
}
> * {
background-color: rgba(10,10,10,0.3);
color: #fff;
padding: 2rem;
}
header {
grid-area: header;
}
footer {
grid-column-start: 1;
grid-column-end: 13;
grid-row-start: 3;
grid-row-end: 4;
}
main {
grid-column: 1 / span 8;
grid-row: 2 / span 1;
}
aside {
grid-area: 2 / 9 / 3 / 13;
}
}
.bs-grid3 {
@include breakpoint(600px) {
display: grid;
grid-template-columns: 10% 15% 20% 25% 30%;
// grid lines demo
background-image: linear-gradient(
to right,
rgba(10,10,10,0.2) 0%,
rgba(10,10,10,0.0) 0.1%,
rgba(10,10,10,0.0) 10%,
rgba(10,10,10,0.2) 10%,
rgba(10,10,10,0.0) 10.1%,
rgba(10,10,10,0.0) 25%,
rgba(10,10,10,0.2) 25%,
rgba(10,10,10,0.0) 25.1%,
rgba(10,10,10,0.0) 45%,
rgba(10,10,10,0.2) 45%,
rgba(10,10,10,0.0) 45.1%,
rgba(10,10,10,0.0) 70%,
rgba(10,10,10,0.2) 70%,
rgba(10,10,10,0.0) 70.1%,
rgba(10,10,10,0.0) 99.9%,
rgba(10,10,10,0.2) 100%
);
background-repeat: repeat-y;
}
> * {
//background-color: rgba(10,10,10,0.3);
color: #fff;
padding: 2rem;
}
// demo-styling
&.demo-styling {
margin: 2rem 0;
> * {
color: #222;
padding: 0.5rem;
}
}
.headline {
grid-column: 2 / span 3;
grid-row: 1 / span 1;
align-self: center;
line-height: 1.2;
padding-top: 1em;
padding-bottom: 1em;
position: relative;
z-index: 1;
&:before {
content: '';
display: block;
height: 1em;
margin-bottom: 1em;
width: 100%;
background-color: #000;
margin-left: -17%; // guessed
}
}
.image-wrapper {
grid-column: 4 / span 2;
grid-row: 1 / span 1;
// demo
background-color: #bebebe;
background-clip: content-box;
min-height: 300px;
}
.text-block {
grid-column: 2 / span 3;
}
.image-teaser {
grid-column: 5 / span 1;
// @include breakpoint($xlarge) {
// grid-column: 5 / span 1;
// }
// demo
background-color: #bebebe;
background-clip: content-box;
}
.ad {
background-color: #bebebe;
background-clip: content-box;
padding: 0.5em;
}
h1 {
font-size: 2rem;
@include breakpoint($large) {
font-size: 4rem;
}
}
}
[class*="grid__"] {
background-color: rgba(10,10,10,0.3);
color: #fff;
padding: 25px;
font-size: 1em;
}
.grid {
display: grid;
grid-template-columns: 0.25fr 1em 0.75fr;
grid-template-rows: auto 1em auto 1em auto 1em auto;
&__header {
grid-column-start: 1;
grid-column-end: 4;
grid-row-start: 1;
grid-row-end: 2;
}
&__footer {
grid-column-start: 1;
grid-column-end: 4;
grid-row-start: 7;
grid-row-end: 8;
}
&__sidebar {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 3;
grid-row-end: 6;
}
&__content {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 3;
grid-row-end: 4;
// demo
min-height: 300px;
}
&__extra {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 5;
grid-row-end: 6;
}
}
.grid3 {
@media (min-width: 750px) {
display: grid;
grid-gap: 12px;
grid-template-columns: calc(100%/3*2) calc(100%/3*1 - 12px); // 2fr 1fr;
}
> * {
background-color: rgba(10,10,10,0.3);
color: #fff;
padding: 2rem;
}
header {
grid-column: 1 / 3;
grid-row: 1 / 2;
}
footer {
grid-column: 1 / 3;
grid-row: 3 / 4;
}
main {
grid-column: 1 / 2;
grid-row: 2 / 3;
}
aside {
grid-column: 2 / 3;
grid-row: 2 / 3;
}
}
.grid4 {
display: grid;
grid-gap: 12px;
@media (min-width: 750px) {
grid-template-columns: 2fr 1fr;
}
> * {
background-color: rgba(10,10,10,0.3);
color: #fff;
padding: 2rem;
}
&__header {
order: 0;
}
&__footer {
order: 2;
}
&__sidebar {
order: 1;
}
&__content {
order: 2;
// demo
min-height: 300px;
}
&__extra {
order: 2;
}
}
.module {
@media (min-width: 750px) {
display: grid;
grid-gap: 12px;
grid-template-columns: (100%/3*1) calc(100%/3*2 - 12px);
&__image {
grid-column: 1 / span 1;
grid-column-start: 1;
grid-column-end: 2;
grid-row: 1 / span 2;
grid-row-start: 1;
grid-row-end: 3;
min-height: 180px;
}
&__heading {
grid-column: 2 / span 1;
grid-row: 1 / span 1;
}
&__info {
grid-column: 2 / span 1;
grid-row: 2 / span 1;
align-self: end;
}
&__buttonbar {
grid-column: 1 / span 2;
grid-row: 3 / span 1;
}
}
&__image {
background-color: #aaa;
> img {
// width: 100%;
// height: 100%;
// object-fit: cover;
width: 100%;
&:before {
content: 'image could not be loaded';
}
}
}
&__kicker {
display: block;
}
&__headline {
display: block;
}
&__info {
margin-bottom: 0;
}
}
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 12px;
}
.box {
background-color: #444;
color: #fff;
padding: 1em;
font-size: 150%;
}
.a {
grid-column: 1 / span 2;
grid-row: 1 / span 1;
}
.b {
grid-column: 3 / span 1;
grid-row: 1 / span 2;
}
.c {
grid-column: 1 / span 1;
grid-row: 2 / span 1;
}
.d {
grid-column: 2 / span 1;
grid-row: 2 / span 1;
}
//
.grid-container {
margin: 2rem;
}
.item {
background-color: #444;
color: #fff;
padding: 1em;
font-size: 150%;
}
.item1 {grid-area: item1;}
.item2 {grid-area: item2;}
.item3 {grid-area: item3;}
.item4 {grid-area: item4;}
.item5 {grid-area: item5;}
.item6 {grid-area: item6;}
.item7 {grid-area: item7;}
.item8 {grid-area: item8;}
.grid-container {
display: grid;
grid-template-columns: repeat(7, 120px);
grid-template-rows: repeat(7, 80px);
grid-gap: 10px;
grid-template-areas:
". item1 . . . . ."
"item7 item1 item6 item6 item6 item6 ."
"item7 item1 item6 item6 item6 item6 ."
"item7 item4 item4 item5 item5 item5 item5"
"item7 item4 item4 item2 item2 item3 ."
"item8 item4 item4 item2 item2 item3 ."
". item4 item4 . . item3 ."
;
}
// @media (min-width: 550px) {
// .newwrapper {
// display: grid;
// grid-template-columns: 61.9% 38.1%;
// }
// .newmainheader {
// grid-column: 1 / 3; grid-row: 1 / 2;
// }
// .newcontent {
// grid-column: 1 / 2; grid-row: 2 / 3;
// }
// .newaside {
// grid-column: 2 / 3; grid-row: 2 / 3;
// }
// .newmainfooter {
// grid-column: 1 / 3; grid-row: 3 / 4;
// }
// }
.newwrapper {
display: grid;
grid-gap: 1em;
grid-template-columns: 61.9% 38.1%;
grid-template-areas:
"header header"
"content sidebar"
"footer footer";
> * {
background-color: #444;
color: #fff;
padding: 1em;
font-size: 150%;
}
}
.newmainheader {
grid-area: header;
}
.newcontent {
grid-area: content;
}
.newpanel {
grid-area: sidebar;
}
.newmainfooter {
grid-area: footer;
}
{{!--
<div class="newwrapper">
<div class="newmainheader">.mainheader</div>
<div class="newcontent">.content</div>
<div class="newpanel">.panel</div>
<div class="newmainfooter">.mainfooter</div>
</div>
--}}
{{!--
<div class="grid-container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
<div class="item item4">4</div>
<div class="item item5">5</div>
<div class="item item6">6</div>
<div class="item item7">7</div>
<div class="item item8">8</div>
</div>
--}}
{{!-- <div class="wrapper">
<div class="box a">.a</div>
<div class="box b">.b</div>
<div class="box c">.c</div>
<div class="box d">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae ipsam accusamus nihil est laudantium hic.</div>
</div>
--}}
{{!--
<div class="bs-grid">
<div class="col1">col 1</div>
<div class="col2">col 2</div>
<div class="col3">col 3</div>
<div class="col4">col 4</div>
<div class="col5">col 5</div>
<div class="col6">col 6</div>
<div class="col7">col 7</div>
<div class="col8">col 8</div>
<div class="col9">col 9</div>
<div class="col10">col 10</div>
<div class="col11">col 11</div>
<div class="col12">col 12</div>
</div>
--}}
<div class="bs-grid1">
<div class="col-xs-12 col-md-6 col-lg-9"><span class="xs">.col-xs-12</span> <span class="md">.col-md-6</span> <span class="lg">.col-lg-9</span></div>
<div class="col-xs-12 col-md-6 col-lg-3"><span class="xs">.col-xs-12</span> <span class="md">.col-md-6</span> <span class="lg">.col-lg-3</span></div>
</div>
{{!-- <div class="bs-grid2">
<header>header</header>
<main>main</main>
<aside>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</aside>
<footer>footer</footer>
</div>
--}}
{{!-- <div class="bs-grid3">
<div class="col1">col 1</div>
<div class="col2">col 2</div>
<div class="col3">col 3</div>
<div class="col4">col 4</div>
<div class="col5">col 5</div>
</div> --}}
{{!-- <article class="bs-grid3 demo-styling">
<header class="headline">
<h1>Lorem ipsum dolor sit amet, ut labore et dolore magna aliqua.</h1>
</header>
<div class="image-wrapper">
<img src="" alt="">
</div>
<div class="text-block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="image-teaser">
<img src="" alt="ad" class="ad">
</div>
<div class="text-block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<div class="text-block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</article> --}}
{{!--
<div class="grid3">
<header>header</header>
<main>main</main>
<aside>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</aside>
<footer>footer</footer>
</div> --}}
{{!-- <div class="grid">
<div class="grid__header">Header</div>
<div class="grid__sidebar">Sidebar</div>
<div class="grid__content">Main Content</div>
<div class="grid__extra">Extra Content</div>
<div class="grid__footer">Footer</div>
</div> --}}
{{!-- <div class="grid4">
<div class="grid4__header">Header</div>
<div class="grid4__content">Main Content</div>
<div class="grid4__extra">Extra Content</div>
<div class="grid4__sidebar">Sidebar</div>
<div class="grid4__footer">Footer</div>
</div> --}}
{{!--
<div class="module">
<h2 class="module__heading">
<span class="module__kicker">kicker</span>
<span class="module__headline">headline</span>
</h2>
<div class="module__image">
<img src="https://source.unsplash.com/random/320x180" alt="">
</div>
<p class="module__info">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,</p>
<div class="module__buttonbar">
<a class="module__btn" href="">link text</a>
</div>
</div>
--}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment