KNACSS/sass/02-grids.scss
2014-05-07 11:39:59 +02:00

253 lines
3.3 KiB
SCSS

@import "00-config";
/* ---------------------------------- */
/* ==classic grids */
/* ---------------------------------- */
/**
* Grids inspired from SUIT
* Source: https://github.com/suitcss/suit
*/
/**
* Overall container of grids
*/
.grid {
overflow: hidden;
}
/**
* Global styles for direct child
* e.g. `.grid3`
* 1. Gutter value
*/
.grid > * {
display: block;
padding: 0;
margin-left: -$gutter;
text-align: left;
}
/**
* Global styles for each "cell"
* 1. Gutter value
*/
.grid > * > * {
display: inline-block;
padding-left: $gutter;
margin-left: 0;
vertical-align: top;
}
/**
* Whitespace fixing for modern browsers including IE9+
*/
:root .grid {
font-size: 0;
}
/**
* 1. Rem fallback for Opera Mini
*/
:root .grid > * > * {
font-size: $base-font-size;
font-size: ($base-font-size / 10px) * 1rem;
}
/* Opera hack */
.opera:-o-prefocus,
.grid > * {
word-spacing: -0.43em;
}
.grid2 > * {
width: 50%;
}
.grid3 > * {
width: 33.333%;
}
.grid4 > * {
width: 25%;
}
.grid5 > * {
width: 20%;
}
.grid6 > * {
width: 16.667%;
}
.grid8 > * {
width: 12.5%;
}
.grid10 > * {
width: 10%;
}
.grid12 > * {
width: 8.333%;
}
/**
* Unequal grids
* (1-2, 2-1, 1-3 and 3-1) for 2 blocks
*/
.grid2-1 > *:first-child,
.grid1-2 > * + * {
width: 66.666%;
}
.grid1-2 > *:first-child,
.grid2-1 > * + * {
width: 33.333%;
}
.grid1-3 > *:first-child,
.grid3-1 > * + * {
width: 25%;
}
.grid3-1 > *:first-child,
.grid1-3 > * + * {
width: 75%;
}
/**
* Responsive-o-matic
*/
@media (max-width: $large-screen) {
.grid5 > *,
.grid6 > *,
.grid8 > *,
.grid10 > *,
.grid12 > * {
width: 33.333%;
}
}
@media (max-width: $small-screen) {
.grid3 > *,
.grid4 > *,
.grid5 > *,
.grid6 > *,
.grid8 > *,
.grid10 > *,
.grid12 > * {
width: 50%;
}
}
@media (max-width: $tiny-screen) {
.grid > * > * {
width: 100% !important,
}
}
/* ---------------------------------- */
/* ==autogrids */
/* .. to automatically justify blocs */
/* ---------------------------------- */
/**
* Container of autogrids
* Demo : http://codepen.io/raphaelgoetter/pen/Kqehf
*/
[class*="autogrid"] {
text-align: justify;
&:after {
content: "";
display: inline-block;
width: 100%;
}
> * {
display: inline-block;
vertical-align: top;
text-align: left;
}
}
/**
* Whitespace fixing for modern browsers including IE9+
*/
:root [class*="autogrid"] {
font-size: 0;
}
/**
* Rem fallback for Opera Mini
*/
:root [class*="autogrid"] > * {
font-size: $base-font-size; /* 1 */
font-size: ($base-font-size / 10px) * 1rem;
}
/**
* Opera hack
*/
[class*="autogrid"]:-o-prefocus {
word-spacing: -0.43em;
}
.autogrid2 > * {
width: 49%;
}
.autogrid3 > * {
width: 32%;
}
.autogrid4 > * {
width: 23.6%;
}
.autogrid5 > * {
width: 19%;
}
.autogrid6 > * {
width: 15%;
}
.autogrid8 > * {
width: 10.8%;
}
.autogrid10 > * {
width: 9%;
}
.autogrid12 > * {
width: 6.4%;
}
@media (max-width: $large-screen) {
.autogrid5 > *,
.autogrid6 > *,
.autogrid8 > *,
.autogrid10 > *,
.autogrid12 > * {
width: 32%;
}
}
@media (max-width: $small-screen) {
.autogrid5 > *,
.autogrid6 > *,
.autogrid8 > *,
.autogrid10 > *,
.autogrid12 > * {
width: 49%;
}
}
@media (max-width: $tiny-screen) {
[class*="autogrid"] > * {
width: 100%
}
}