Sass version !

This commit is contained in:
Raphael Goetter 2014-05-04 15:48:00 +02:00
parent d0add0508c
commit c2ee11f407
16 changed files with 1404 additions and 1 deletions

View file

@ -1,6 +1,6 @@
{
"name": "KNACSS",
"version": "3.0.0",
"version": "3.0.1",
"homepage": "http://www.knacss.com/",
"authors": [
"Raphaël GOETTER, Alsacreations"

76
sass/00-config.scss Normal file
View file

@ -0,0 +1,76 @@
// Config file : variables, mixins, ...
// booleans
$enable-ie678 : true; // "true" to activate IE6/IE7/IE8 support
$enable-styling : true; // "true" to design basic elements like code, mark, blockquotes, etc.
$enable-gmaps : true; // if google maps is used
$enable-skip-links : true; // "true" to design skip links for accessibility concerns
$enable-hyphens : true; // activate automatic hyphens on small screens
$enable-helpers-width : true; // decide whether or not you need width helpers
$enable-helpers-spacing : true; // decide whether or not you need spacing helpers
// font sizes
$base-font-size : 14px; // if "14px" then 1em = 14px
$line-height : 1.5; // equiv line-height 1.5
$h1-size : 3.2rem; // equiv "32px"
$h2-size : 2.8rem; // equiv "28px"
$h3-size : 2.4rem; // equiv "24px"
$h4-size : 2.0rem; // equiv "20px"
$h5-size : 1.8rem; // equiv "18px"
$h6-size : 1.6rem; // equiv "16px"
// font stacks
$font-stack-common : Helvetica, Arial, sans-serif; // common font
$font-stack-monospace : Consolas, 'DejaVu Sans Mono', Courier, monospace; // monospace font
$font-stack-universal : FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; // universal stack
// font colors
$base-color : #000; // text color on body
$base-color-link : #333; // primary links color;
$base-color-link-hover : #000; // primary hovered/focused links color;
// backgrounds
$base-background : #fff; // body background color
// spacings
$tiny-value : 0.5em; // tiny value for margins / paddings
$small-value : 1em; // small value for margins / paddings
$medium-value : 2em; // medium value for margins / paddings
$large-value : 4em; // large value for margins / paddings
$extra-large-value : 6em; // extra large value for margins / paddings
$ultra-large-value : 10em; // ultra large value for margins / paddings
// breakpoints
$tiny-screen : 320px; // tiny screens media query
$small-screen : 480px; // small screens media query
$medium-screen : 768px; // small screens media query
$large-screen : 1024px; // large screens media query
$extra-large-screen : 1280px; // extra large screens media query
$ultra-large-screen : 1600px; // ultra large screens media query
// misc
$gutter : 20px; // gutter value (%, px, em, rem) for grid layouts
// Sass mixins : don't touch or you'll be banned ;)
// px to em/rem
@mixin rem($size) {
@if unitless($size) {
font-size: ($size * 1rem) / 1rem * $base-font-size;
font-size: $size * 1rem;
}
@else {
@warn "Please make sure `$size` is unitless."
}
}
@mixin em($size) {
@if unitless($size) {
$bf: $base-font-size / 1px;
font-size: $size / $bf * 1em;
}
@else {
@warn "Please make sure `$size` is unitless."
}
}

373
sass/01-base.scss Normal file
View file

@ -0,0 +1,373 @@
@import "00-config";
/*!
* www.KNACSS.com V3.0.0 (2014-05) @author: Raphael Goetter, Alsacreations (with help from Hugo Giraudel)
* Licence WTFPL http://www.wtfpl.net/
*/
/* ----------------------------- */
/* == soft reset */
/* ----------------------------- */
/* switching box model for all elements */
* {
box-sizing: border-box;
}
/* soft reset */
html,
body {
margin: 0;
padding: 0;
}
ul,
ol {
padding-left: 2em;
}
ul.unstyled {
list-style: none;
}
img {
height: auto;
vertical-align: middle;
border: 0;
}
audio,
canvas,
video {
display: inline-block;
}
svg:not(:root) {
overflow: hidden;
}
/* ----------------------------- */
/* == typography */
/* ----------------------------- */
/* base font-size corresponds to "10px" and is adapted to rem unit */
html {
font-size: 62.5%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
}
body {
background-color: $base-background;
color: $base-color;
font-family: $font-stack-common;
font-size: ($base-font-size / 10px) + em;
line-height: $line-height;
}
/* font-sizing for content */
p,
.p-like,
ul,
ol,
dl,
blockquote,
pre,
td,
th,
label,
textarea,
caption,
details,
figure,
hgroup {
margin-top: 0.75em;
margin-bottom: 0;
line-height: $line-height;
}
h1, .h1-like {
font-size: $h1-size;
}
h2, .h2-like {
font-size: $h2-size;
}
h3, .h3-like {
font-size: $h3-size;
}
h4, .h4-like {
font-size: $h4-size;
}
h5, .h5-like {
font-size: $h5-size;
}
h6, .h6-like {
font-size: $h6-size;
}
/* alternate font-sizing */
.smaller {
@include em($base-font-size / 1px - 4);
}
.small {
@include em($base-font-size / 1px - 2);
}
.big {
@include em($base-font-size / 1px + 2);
}
.bigger {
@include em($base-font-size / 1px + 4);
}
.biggest {
@include em($base-font-size / 1px + 6);
}
code,
pre,
samp,
kbd {
white-space: pre-line; /* IE fix */
white-space: pre-wrap;
font-family: $font-stack-monospace;
line-height: normal;
}
em,
.em,
address,
cite,
dfn,
i,
var {
font-style: italic;
}
.no-em {
font-style: normal;
}
strong,
.strong {
font-weight: bold;
}
.no-strong {
font-weight: normal;
}
small,
sub,
sup {
font-size: smaller;
}
/* ----------------------------- */
/* == hiding content */
/* ----------------------------- */
.visually-hidden {
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
overflow: hidden;
height: 1px; width: 1px;
}
body > script {
display: none !important;
}
@media print {
.no-print {
display: none;
}
}
@media (max-width: $small-screen) {
.no-small-screen {
display: none;
}
}
@media (min-width: $large-screen) {
.no-large-screen {
display: none;
}
}
/* ----------------------------- */
/* == browsers consistency */
/* ----------------------------- */
/* avoid top margins on first content element */
p, .p-like, ul, ol, dl,
blockquote, pre,
h1, h2, h3, h4, h5, h6 {
&:first-child {
margin-top: 0;
}
}
/* avoid margins on nested elements */
li p,
li .p-like,
li ul,
li ol {
margin-top: 0;
margin-bottom: 0;
}
/* max values */
img, table, td, blockquote, code, pre, textarea, input, video {
max-width: 100%;
}
/* margin-bottom on tables */
table { margin-bottom: $medium-value; }
/* ----------------------------- */
/* ==layout and modules */
/* ----------------------------- */
/* float layout */
/* module, gains superpower "BFC" Block Formating Context */
.mod {
overflow: hidden;
}
/* blocks that needs to be placed under floats */
.clear,
.line,
.row {
clear: both;
}
/* blocks that must contain floats */
.clearfix,
.line {
&:after {
content: "";
display: table;
clear: both;
}
}
/* table layout */
.row {
display: table;
table-layout: fixed;
width: 100%;
}
.row > *,
.col {
display: table-cell;
vertical-align: top;
}
/* inline-block */
.inbl {
display: inline-block;
vertical-align: top;
}
/* alignments (blocks and inline) */
/* ------------------------------ */
/* left (or starting) elements */
.left,
.start {
float: left;
}
img.left,
img.start {
margin-right: $small-value;
}
/* right (or ending) elements */
.right,
.end {
float: right;
}
img.right,
img.end {
margin-left: $small-value;
}
img.left, img.right,
img.start, img.end {
margin-bottom: $tiny-value;
}
.center { margin-left: auto; margin-right: auto; }
.txtleft { text-align: left; }
.txtright { text-align: right; }
.txtcenter { text-align: center; }
// width helpers boolean
@if $enable-helpers-width == true {
/* blocks widths (percentage and pixels) */
.w10 { width: 10%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w33 { width: 33.3333%; }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w66 { width: 66.6666%; }
.w70 { width: 70%; }
.w75 { width: 75%; }
.w80 { width: 80%; }
.w90 { width: 90%; }
.w100 { width: 100%; }
.w50p { width: 50px; }
.w100p { width: 100px; }
.w150p { width: 150px; }
.w200p { width: 200px; }
.w300p { width: 300px; }
.w400p { width: 400px; }
.w500p { width: 500px; }
.w600p { width: 600px; }
.w700p { width: 700px; }
.w800p { width: 800px; }
.w960p { width: 960px; }
.mw960p { max-width: 960px; }
.w1140p { width: 1140px; }
.mw1140p { max-width: 1140px; }
.wauto { width: auto; }
}
// spacing helpers boolean
@if $enable-helpers-spacing == true {
/* spacing helpers
p,m = padding,margin
a,t,r,b,l = all,top,right,bottom,left
s,m,l,n = small, medium, large, none
*/
.man { margin: 0; }
.pan { padding: 0; }
.mas { margin: $small-value; }
.mam { margin: $medium-value; }
.mal { margin: $large-value; }
.pas { padding: $small-value; }
.pam { padding: $medium-value; }
.pal { padding: $large-value; }
.mtn { margin-top: 0; }
.mts { margin-top: $small-value; }
.mtm { margin-top: $medium-value; }
.mtl { margin-top: $large-value; }
.mrn { margin-right: 0; }
.mrs { margin-right: $small-value; }
.mrm { margin-right: $medium-value; }
.mrl { margin-right: $large-value; }
.mbn { margin-bottom: 0; }
.mbs { margin-bottom: $small-value; }
.mbm { margin-bottom: $medium-value; }
.mbl { margin-bottom: $large-value; }
.mln { margin-left: 0; }
.mls { margin-left: $small-value; }
.mlm { margin-left: $medium-value; }
.mll { margin-left: $large-value; }
.ptn { padding-top: 0; }
.pts { padding-top: $small-value; }
.ptm { padding-top: $medium-value; }
.ptl { padding-top: $large-value; }
.prn { padding-right: 0; }
.prs { padding-right: $small-value; }
.prm { padding-right: $medium-value; }
.prl { padding-right: $large-value; }
.pbn { padding-bottom: 0; }
.pbs { padding-bottom: $small-value; }
.pbm { padding-bottom: $medium-value; }
.pbl { padding-bottom: $large-value; }
.pln { padding-left: 0; }
.pls { padding-left: $small-value; }
.plm { padding-left: $medium-value; }
.pll { padding-left: $large-value; }
}

137
sass/02-grids.scss Normal file
View file

@ -0,0 +1,137 @@
@import "00-config";
/* ---------------------------------- */
/* ==classic grids */
/* .. use it when gutter size matters */
/* ---------------------------------- */
/* grids inspired from SUIT https://github.com/suitcss/suit */
.grid { /* overall container of grids */
overflow: hidden;
}
.grid > * { /* global styles for direct child ex. .grid3 */
display: block;
padding: 0;
margin-left: -$gutter; /* gutter value */
text-align: left;
}
.grid > * > * { /* global styles for each "cell" */
display: inline-block;
padding-left: $gutter; /* gutter value */
margin-left: 0;
vertical-align: top;
}
/* whitespace fixing for modern browsers including IE9+ */
:root .grid {
font-size: 0;
}
:root .grid > * > * {
font-size: $base-font-size; /* fallback for Opera Mini */
font-size: ($base-font-size / 10px) + rem;
}
/* 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%; }
/* Responsiv-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 */
/* ---------------------------------- */
/* Demo : http://codepen.io/raphaelgoetter/pen/Kqehf */
[class*="autogrid"] { /* container of autogrids */
text-align: justify;
}
[class*="autogrid"]:after {
content: "";
display: inline-block;
width: 100%;
}
[class*="autogrid"] > * {
display: inline-block;
vertical-align: top;
text-align: left;
}
/* whitespace fixing for modern browsers including IE9+ */
:root [class*="autogrid"] {
font-size: 0;
}
:root [class*="autogrid"] > * {
font-size: $base-font-size; /* fallback for Opera Mini */
font-size: ($base-font-size / 10px) + rem;
}
/* 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%}
}

35
sass/03-tables.scss Normal file
View file

@ -0,0 +1,35 @@
@import "00-config";
/* ----------------------------- */
/* ==tables */
/* ----------------------------- */
table,
.table {
width: 100%;
max-width : 100%;
table-layout: fixed;
border-collapse: collapse;
vertical-align: top;
border: 1px solid #ccc;
}
.table {
display: table;
}
table#recaptcha_table,
table.table-auto {
table-layout:auto;
}
caption {
padding: $small-value;
color: #555;
font-style: italic;
}
td,
th {
padding: 0.3em 0.8em;
border: 1px #aaa dotted;
vertical-align: top;
min-width: $medium-value;
cursor: default;
text-align: left;
}

82
sass/04-forms.scss Normal file
View file

@ -0,0 +1,82 @@
@import "00-config";
/* ----------------------------- */
/* ==forms */
/* ----------------------------- */
/* thanks to HTML5boilerplate,
* github.com/nathansmith/formalize
* and www.sitepen.com
*/
/* buttons */
.btn {
display: inline-block;
}
/* forms items */
form,
fieldset {
border: none;
}
input,
button,
select,
label,
.btn {
vertical-align: middle;
font-family: inherit;
font-size: inherit;
}
label {
display: inline-block;
vertical-align: middle;
cursor: pointer;
}
legend {
border: 0;
white-space: normal;
}
textarea {
min-height: 5em;
vertical-align: top;
font-family: inherit;
font-size: inherit;
resize: vertical;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer;
-webkit-appearance: button; /* clickable input types in iOS */
}
input[type="search"] {
-webkit-appearance: textfield;
}
/* if select styling bugs on WebKit */
/* select { -webkit-appearance: none; } */
/* 'x' appears on right of search input when text is entered. This removes it */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
display: none;
}
::-webkit-input-placeholder {
color: #777;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
color: #777;
}
/* Removes inner padding and border in FF3+ */
button::-moz-focus-inner,
input[type='button']::-moz-focus-inner,
input[type='reset']::-moz-focus-inner,
input[type='submit']::-moz-focus-inner {
border: 0;
padding: 0;
}

139
sass/05-icons.scss Normal file
View file

@ -0,0 +1,139 @@
@import "00-config";
/* ----------------------------- */
/* ==icons and bullets */
/* ----------------------------- */
.icon {display: inline-block;}
.icon:before,
.icon.after:after {
content: "";
display: inline-block;
vertical-align: middle;
position: relative; top: -0.1em;
margin: 0 0.3em 0 0;
font: 1.4em/1 sans-serif;
color: #000;
text-shadow: 1px 1px 0 rgba(0,0,0,.1);
speak: none;
}
@media (min-device-width: $small-screen) {
.icon:before,
.icon.after:after {
font: 1em/0.6 sans-serif;
-webkit-transform: rotateZ(0.05deg);
}
}
.icon.after:after {
margin: 0 0 0 8px;
}
.icon.after:before {
content: "" !important
}
.icon-rate:before,
.icon-rate.after:after {
content: "\2605";
}
.icon-unrate:before,
.icon-unrate.after:after{
content: "\2606";
}
.icon-check:before,
.icon-check.after:after{
content: "\2713";
}
.icon-uncheck:before,
.icon-uncheck.after:after{
content: "\2717";
}
.icon-cloud:before,
.icon-cloud.after:after {
content: "\2601";
}
.icon-dl:before,
.icon-dl.after:after {
content: "\21E3";
font-weight: bold;
}
.icon-cross:before,
.icon-cross.after:after {
content: "\2716";
font-weight: bold;
}
.icon-arrow1:before,
.icon-arrow1.after:after {
content: "\2192";
position: relative;
top: -0.15em;
}
.icon-arrow2:before,
.icon-arrow2.after:after {
content: "\279E";
}
.icon-arrow3:before,
.icon-arrow3.after:after {
content: "\279A";
}
.icon-bracket1:before,
.icon-bracket1.after:after {
content: "\2039";
font-weight: bold;
font-size: 1.6em;
position: relative;
top: -0.15em;
}
.icon-bracket2:before,
.icon-bracket2.after:after {
content: "\203A";
font-weight: bold;
font-size: 1.6em;
position: relative;
top: -0.15em;
}
.icon-up:before,
.icon-up.after:after {
content: "\25B2";
}
.icon-down:before,
.icon-down.after:after {
content: "\25BC";
}
.icon-bull:before,
.icon-bull.after:after {
content: "\2022";
font-size: 1.2em;
top: -0.05em;
}
.icon-bull2:before,
.icon-bull2.after:after {
content: "\25E6";
top: -0.05em;
}
.icon-bull3:before,
.icon-bull3.after:after{
content: "\2023";
font-size: 1.6em;
top: -0.05em;
}
.icon-nav:before,
.icon-nav.after:after {
content: "\2261";
font-weight: bold;
}
.icon-losange:before,
.icon-losange.after:after {
content: "\25C6";
}
.icon-asteri:before,
.icon-asteri.after:after {
content: "\2731";
font-weight: bold;
}
.icon-mail:before,
.icon-mail.after:after {
content: "\2709";
font-size: 1.6em;
top: -.05em;
}

181
sass/06-rwd.scss Normal file
View file

@ -0,0 +1,181 @@
@import "00-config";
/* ----------------------------- */
/* ==desktop and HD devices */
/* ----------------------------- */
@media (min-width: $small-screen) {
/* here go rules for big resources and big screens like: background-images, font-faces, etc. */
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
/* Style adjustments for retina devices */
}
/* ---------------------------------- */
/* ==Responsive large / small / tiny */
/* ---------------------------------- */
@media (min-width: $large-screen) {
/* layouts for large screens */
.large-hidden { display: none !important; }
.large-visible { display: block !important; }
.large-no-float {float: none; }
.large-inbl {
display: inline-block;
float: none;
vertical-align: top;
}
.large-row {
display: table;
table-layout: fixed;
width: 100% !important;
}
.large-col {
display: table-cell;
vertical-align: top;
}
/* widths for large screens */
.large-w25 { width: 25% !important; }
.large-w33 { width: 33.3333% !important; }
.large-w50 { width: 50% !important; }
.large-w66 { width: 66.6666% !important; }
.large-w75 { width: 75% !important; }
.large-w100,
.large-wauto {
display: block !important;
float: none !important;
clear: none !important;
width: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
border: 0;
}
/* margins for large screens */
.large-man { margin: 0 !important; }
}
@media (max-width: $small-screen) {
/* quick reset in small resolution and less */
.w600p,
.w700p,
.w800p,
.w960p,
.mw960p {
width: auto;
float: none;
}
/* layouts for small screens */
.small-hidden { display: none !important; }
.small-visible { display: block !important; }
.small-no-float {float: none; }
.small-inbl {
display: inline-block;
float: none;
vertical-align: top;
}
.small-row {
display: table !important;
table-layout: fixed !important;
width: 100% !important;
}
.small-col {
display: table-cell !important;
vertical-align: top !important;
}
/* widths for small screens */
.small-w25 { width: 25% !important; }
.small-w33 { width: 33.3333% !important; }
.small-w50 { width: 50% !important; }
.small-w66 { width: 66.6666% !important; }
.small-w75 { width: 75% !important; }
.small-w100,
.small-wauto {
display: block !important;
float: none !important;
clear: none !important;
width: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
border: 0;
}
/* margins for small screens */
.small-man { margin: 0 !important; }
.small-pan { padding: 0 !important; }
}
@media (max-width: $tiny-screen) {
/* quick tiny resolution reset */
.mod,
.col,
fieldset {
display: block !important;
float: none !important;
clear: none !important;
width: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
border: 0;
}
.w300p,
.w400p,
.w500p {
width: auto;
float: none;
}
.row {
display: block !important;
width: 100% !important;
}
/* layouts for tiny screens */
.tiny-hidden { display: none !important; }
.tiny-visible { display: block !important; }
.tiny-no-float {float: none;}
.tiny-inbl {
display: inline-block;
float: none;
vertical-align: top;
}
.tiny-row {
display: table !important;
table-layout: fixed !important;
width: 100% !important;
}
.tiny-col {
display: table-cell !important;
vertical-align: top !important;
}
th,
td {
display: block !important;
width: auto !important;
text-align: left !important;
}
thead { display: none; }
/* widths for tiny screens */
.tiny-w25 { width: 25% !important; }
.tiny-w33 { width: 33.3333% !important; }
.tiny-w50 { width: 50% !important; }
.tiny-w66 { width: 66.6666% !important; }
.tiny-w75 { width: 75% !important; }
.tiny-w100,
.tiny-wauto {
display: block !important;
float: none !important;
clear: none !important;
width: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
border: 0;
}
/* margins for tiny screens */
.tiny-man { margin: 0 !important; }
.tiny-pan { padding: 0 !important; }
}

24
sass/07-flexbox.scss Normal file
View file

@ -0,0 +1,24 @@
@import "00-config";
/* flexbox layout
Tutorial: http://knacss.com/demos/tutoriel.html#flex */
.flex {
display : flex;
}
.flex-h {
flex-direction: row;
}
.flex-v {
flex-direction: column;
}
.flex-fluid {
flex: 1;
}
.flex-start {
order : -1;
}
.flex-mid {
order : 1;
}
.flex-end {
order : 42;
}

70
sass/08-print.scss Normal file
View file

@ -0,0 +1,70 @@
@import "00-config";
/* quick print reset */
@media print {
* {
background: transparent !important;
box-shadow: none !important;
text-shadow: none !important;
}
body {
width: auto !important;
margin: auto !important;
font-family: serif;
font-size: 12pt;
background-color: #fff !important;
color: #333 !important;
}
p,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
ul,
ol {
color: #000 !important;
margin: auto !important;
}
.print {
display: block; /* displaying .print elements */
}
img {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}
p,
blockquote {
orphans: 3; /* no orphans */
widows: 3; /* no widows */
}
blockquote,
ul,
ol {
page-break-inside: avoid; /* no breaks inside these elements */
}
h1 {
page-break-before: always; /* page break before main headers */
}
h1,
h2,
h3,
caption {
page-break-after: avoid; /* no breaks after these elements */
}
a {
color: #000 !important;
text-decoration: underline !important;
}
a[href]:after {
content: " (" attr(href) ")"; /* displaying URLs */
}
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
}

35
sass/09-booleans.scss Normal file
View file

@ -0,0 +1,35 @@
@import "00-config";
/* ----------------------------- */
/* ==booleans */
/* ----------------------------- */
// skip-links boolean
@if $enable-skip-links == true {
/* styling skip links */
.skip-links {
position: absolute;
a {
position: absolute;
left: -7000px;
padding: 0.5em;
background: black;
color: white;
text-decoration: none;
&:focus {
position: static;
}
}
}
}
// hyphens boolean
@if $enable-hyphens == true {
@media (max-width: $small-screen) {
/* you shall not pass */
div, textarea, table, td, th, code, pre, samp {
word-wrap: break-word;
hyphens: auto;
}
}
}

19
sass/10-gmaps.scss Normal file
View file

@ -0,0 +1,19 @@
@import "00-config";
/* ----------------------------- */
/* ==gmaps support */
/* ----------------------------- */
// google maps boolean
@if $enable-gmaps == true {
/* Google Gmap3 bug fix on images */
.gm-style img {
height: 100%;
}
:not(.gm-style) img {
height: auto;
}
.gm-style img,
.gmnoscreen img,
.gmnoprint img {
max-width: none !important;
}
}

102
sass/11-ie.scss Normal file
View file

@ -0,0 +1,102 @@
@import "00-config";
/* ----------------------------- */
/* ==IE6, IE7, IE8 support */
/* ----------------------------- */
// IE6, 7, 8 support boolean
@if $enable-ie678 == true {
$bf: $base-font-size / 1px;
/* IE678 support */
.ie678 h1, .ie678 .h1-like {
$val: $h1-size / 1rem;
$em : $val * 10 / $bf;
font-size: $em +0em;
}
.ie678 h2, .ie678 .h2-like {
$val: $h2-size / 1rem;
$em : $val * 10 / $bf;
font-size: $em +0em;
}
.ie678 h3, .ie678 .h3-like {
$val: $h3-size / 1rem;
$em : $val * 10 / $bf;
font-size: $em +0em;
}
.ie678 h4, .ie678 .h4-like {
$val: $h4-size / 1rem;
$em : $val * 10 / $bf;
font-size: $em +0em;
}
.ie678 h5, .ie678 .h5-like {
$val: $h5-size / 1rem;
$em : $val * 10 / $bf;
font-size: $em +0em;
}
.ie678 h6, .ie678 .h6-like {
$val: $h6-size / 1rem;
$em : $val * 10 / $bf;
font-size: $em +0em;
}
.ie678 img {
width: auto; /* @bugfix for IE8 */
}
.ie678 .gm-style img {
height: 100%;
}
/* hasLayout for IE6/IE7 */
.clearfix,
.line,
.mod,
.row,
.col {
*zoom: 1;
}
/* inline-block and table-cell for IE6/IE7 */
/* warning: .col needs width on IE6/IE7 */
.btn,
.col,
.inbl {
*display: inline;
*zoom: 1;
}
.visually-hidden {
*clip: rect(1px 1px 1px 1px);
}
/* IE8 grid hack */
.ie8 .grid > *,
.ie8 [class*="autogrid"] > * {
letter-spacing: -0.31em;
text-rendering: optimizespeed;
}
.ie8 .grid > * > *,
.ie8 [class*="autogrid"] > * > *{
letter-spacing: normal;
word-spacing: normal;
text-rendering: auto;
}
/* IE7 grid hack */
.grid > * > *,
[class*="autogrid"] > * > *{
*display: inline;
*zoom: 1;
}
/* forms */
input[type="checkbox"],
input[type="radio"] {
padding: 0; /* Corrects excess space around these inputs in IE8/9 */
}
textarea {
overflow: auto; /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */
}
/* Active box-sizing for IE6/IE7 */
/* @source https://github.com/Schepp/box-sizing-polyfill */
/*
.ie67 * {
behavior: url(/lib/box-sizing-polyfill/boxsizing.htc);
}
*/
}

104
sass/12-styling.scss Normal file
View file

@ -0,0 +1,104 @@
@import "00-config";
/* ----------------------------- */
/* ==minor stylings */
/* ----------------------------- */
// Styling boolean
@if $enable-styling == true {
/* styling elements */
code, kbd, mark {
border-radius: 2px;
}
kbd {
padding: 0 2px;
border: 1px solid #999;
}
code {
padding: 2px 4px;
background: rgba(0,0,0,0.04);
color: #b11;
}
pre code {
padding: none;
background: none;
color: inherit;
border-radius: 0;
}
mark {
padding:2px 4px;
background: #ff0;
}
sup,
sub {
vertical-align: 0;
position: relative;
}
sup {
bottom: 1ex;
}
sub {
top: 0.5ex;
}
blockquote {
margin-left: 0;
padding-left: 1em;
border-left: 4px solid rgba(0,0,0,0.15);
font-style: italic;
}
q {
font-style: normal;
}
q,
.q {
quotes: "“\00a0" "\00a0”";
}
q:lang(fr),
.q:lang(fr) {
quotes: "«\00a0" "\00a0»";
}
hr {
display: block;
clear: both;
height: 1px;
margin: 1em 0 2em;
padding: 0;
border: 0;
color: #ccc;
background-color: #ccc;
}
/* alternate tables */
.alternate { border: 0; }
.alternate tbody {
border: 1px solid #ccc;
}
.alternate thead tr > * + * {
border-left: 0;
}
.alternate tbody tr > * + * {
border-left: 1px solid #ccc;
}
/* alternate-vert tables */
.alternate-vert {
border: 0;
border-right: 1px solid #ccc;
}
.alternate-vert tr > :first-child {
border-bottom: 0;
}
.alternate-vert tr > * + * {
border-top: 1px solid #ccc;
}
/* striped tables */
.striped tbody tr:nth-child(odd) {
background: #eee;
background: rgba(0, 0, 0, .05);
}
/* striped-vert tables */
.striped-vert tr > :first-child {
background: #eee;
background: rgba(0, 0, 0, .05);
}
}

BIN
sass/knacksass.zip Normal file

Binary file not shown.

26
sass/knacss.scss Normal file
View file

@ -0,0 +1,26 @@
// Sass config file
@import "00-config";
// Sass base styles
@import "01-base";
// Sass files : chose the ones you need
@import "02-grids";
@import "03-tables";
@import "04-forms";
@import "05-icons";
@import "06-rwd";
@import "07-flexbox";
@import "08-print";
@import "09-booleans";
@import "10-gmaps";
@import "11-ie";
@import "12-styling";
/* ----------------------------- */
/* ==own stylesheet */
/* ----------------------------- */
/* Here should go your own CSS styles */
/* You can also link them with a Sass @import */
/* @import "my-styles"; */