123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- $body-width: $page-width - $page-margin-inside - $page-margin-outside;
- $body-height: $page-height - $page-margin-top - $page-margin-bottom;
- $col-width: ($body-width - (($col-number - 1) * $col-gutter)) / $col-number;
- $row-height: ($body-height - (($row-number - 1) * $row-gutter)) / $row-number;
- $col-gutter-width: $col-width + $col-gutter;
- $row-gutter-height: $row-height + $row-gutter;
- /* x classes */
- // .create-x-classes($i:0) when($i < $col-number) {
- // .x#{i}{
- // left: ($i * $col-width) + ($i * $col-gutter);
- // }
- // .create-x-classes($i + 1);
- // }
- // .create-x-classes();
- @for $i from 0 through $col-number - 1{
- .x#{$i}{
- left: ($i * $col-width) + ($i * $col-gutter);
- }
- }
- /* y classes */
- // .create-y-classes($i:0) when($i < $row-number) {
- // .y#{i}{
- // top: ($i * $row-height) + ($i * $row-gutter);
- // }
- // .create-y-classes($i + 1);
- // }
- // .create-y-classes();
- @for $i from 0 through $row-number - 1 {
- .y#{$i}{
- top: ($i * $row-height) + ($i * $row-gutter);
- }
- }
- /* width classes */
- // .create-w-classes($i:1) when($i <= $col-number) {
- // .w#{i}{
- // width: ($col-width * $i) + ($col-gutter * ($i - 1));
- // }
- // .create-w-classes($i + 1);
- // }
- // .create-w-classes();
- @for $i from 1 through $col-number {
- .w#{$i}{
- width: ($col-width * $i) + ($col-gutter * ($i - 1));
- }
- }
- /* height classes */
- // .create-h-classes($i:1) when($i <= $row-number) {
- // .h#{i}{
- // height: ($row-height * $i) + ($row-gutter * ($i - 1));
- // }
- // .create-h-classes($i + 1);
- // }
- // .create-h-classes();
- @for $i from 1 through $row-number {
- .h#{$i}{
- height: ($row-height * $i) + ($row-gutter * ($i - 1));
- }
- }
- // .create-grid-classes($prop: left, $class-name: x, $max-size: 100, $i: 0, $offset: 0, $odd: true) when ($offset <= $max-size) {
- // .#{class-name}#{i} {
- // #{prop}: $offset;
- // };
- //
- // & when ($odd) {
- // .create-grid-classes($prop, $class-name, $max-size, $i + 1, $offset + $col-width, false)
- // };
- //
- // & when not ($odd) {
- // .create-grid-classes($prop, $class-name, $max-size, $i + 1, $offset + $col-gutter, true)
- // };
- // }
- @mixin create-grid-classes($prop: left, $class-name: x, $max-size: 100, $i: 0, $offset: 0, $odd: true){
- $i:0;
- .#{$class-name}#{$i} {
- #{$prop}: $offset;
- };
- @while $offset<=$max-size {
- @if $odd{
- $offset:$offset+$col-width;
- $odd:false;
- }@else{
- $offset:$offset+$col-gutter;
- $odd:true;
- }
- .#{$class-name}#{$i} {
- #{$prop}: $offset;
- };
- $i: $i+1;
- }
- }
- html:not(.facing) .paper:nth-child(odd) .l-1,
- html.facing .paper:nth-child(even) .l-1 { left: -( $page-margin-inside + 14pt); }
- html:not(.facing) .paper:nth-child(even) .l-1,
- html.facing .paper:nth-child(odd) .l-1 { left: -( $page-margin-outside + 14pt); }
- // .create-grid-classes(left, l, $body-width);
- @include create-grid-classes(left, l, $body-width);
- html:not(.facing) .paper:nth-child(odd) .r-1,
- html.facing .paper:nth-child(even) .r-1 { right: -( $page-margin-outside + 14pt); }
- html:not(.facing) .paper:nth-child(even) .r-1,
- html.facing .paper:nth-child(odd) .r-1 { right: -( $page-margin-inside + 14pt); }
- // .create-grid-classes(right, r, $body-width);
- @include create-grid-classes(right, r, $body-width);
- .t-1 { top: -( $page-margin-top + 14pt); }
- // .create-grid-classes(top, t, $body-height);
- @include create-grid-classes(top, t, $body-height);
- .b-1 { bottom: -( $page-margin-bottom + 14pt); }
- // .create-grid-classes(bottom, b, $body-height);
- @include create-grid-classes(bottom, b, $body-height);
- .grid .body {
- outline: 1px solid $grid-color;
- background-attachment: local;
- background-size: 100% $row-gutter-height,
- $col-gutter-width 100%,
- 100% $row-gutter-height,
- $col-gutter-width 100%,
- 100% 12pt;
- background-position: -1px -1px,
- -1px -1px,
- -($col-gutter + 0) -($row-gutter + 0),
- -($col-gutter + 0) -($row-gutter + 0),
- 0 -1px;
- background-image: -webkit-linear-gradient(top, $grid-color 1px, transparent 1px),
- -webkit-linear-gradient(left, $grid-color 1px, transparent 1px),
- -webkit-linear-gradient(top, $grid-color 1px, transparent 1px),
- -webkit-linear-gradient(left, $grid-color 1px, transparent 1px),
- -webkit-linear-gradient(top, $baseline-grid-color 1px, transparent 1px);
- background-image: -moz-linear-gradient(top, $grid-color 1px, transparent 1px),
- -moz-linear-gradient(left, $grid-color 1px, transparent 1px),
- -moz-linear-gradient(top, $grid-color 1px, transparent 1px),
- -moz-linear-gradient(left, $grid-color 1px, transparent 1px),
- -moz-linear-gradient(top, $baseline-grid-color 1px, transparent 1px);
- background-image: -ms-linear-gradient(top, $grid-color 1px, transparent 1px),
- -ms-linear-gradient(left, $grid-color 1px, transparent 1px),
- -ms-linear-gradient(top, $grid-color 1px, transparent 1px),
- -ms-linear-gradient(left, $grid-color 1px, transparent 1px),
- -ms-linear-gradient(top, $baseline-grid-color 1px, transparent 1px);
- background-image: -o-linear-gradient(top, $grid-color 1px, transparent 1px),
- -o-linear-gradient(left, $grid-color 1px, transparent 1px),
- -o-linear-gradient(top, $grid-color 1px, transparent 1px),
- -o-linear-gradient(left, $grid-color 1px, transparent 1px),
- -o-linear-gradient(top, $baseline-grid-color 1px, transparent 1px);
- background-image: linear-gradient(to bottom, $grid-color 1px, transparent 1px),
- linear-gradient(to right, $grid-color 1px, transparent 1px),
- linear-gradient(to bottom, $grid-color 1px, transparent 1px),
- linear-gradient(to right, $grid-color 1px, transparent 1px),
- linear-gradient(to bottom, $baseline-grid-color 1px, transparent 1px);
- }
|