compass-core 1.0.0.alpha.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/VERSION +1 -0
  4. data/data/caniuse.json +1 -0
  5. data/data/caniuse_extras/css-placeholder.json +171 -0
  6. data/lib/compass-core.rb +1 -0
  7. data/lib/compass/browser_support.rb +62 -0
  8. data/lib/compass/configuration.rb +168 -0
  9. data/lib/compass/configuration/data.rb +178 -0
  10. data/lib/compass/configuration/defaults.rb +197 -0
  11. data/lib/compass/configuration/inheritance.rb +304 -0
  12. data/lib/compass/configuration/paths.rb +19 -0
  13. data/lib/compass/core.rb +64 -0
  14. data/lib/compass/core/caniuse.rb +282 -0
  15. data/lib/compass/core/sass_extensions.rb +10 -0
  16. data/lib/compass/core/sass_extensions/functions.rb +39 -0
  17. data/lib/compass/core/sass_extensions/functions/colors.rb +67 -0
  18. data/lib/compass/core/sass_extensions/functions/configuration.rb +162 -0
  19. data/lib/compass/core/sass_extensions/functions/constants.rb +74 -0
  20. data/lib/compass/core/sass_extensions/functions/cross_browser_support.rb +269 -0
  21. data/lib/compass/core/sass_extensions/functions/display.rb +32 -0
  22. data/lib/compass/core/sass_extensions/functions/enumerate.rb +7 -0
  23. data/lib/compass/core/sass_extensions/functions/env.rb +60 -0
  24. data/lib/compass/core/sass_extensions/functions/font_files.rb +41 -0
  25. data/lib/compass/core/sass_extensions/functions/gradient_support.rb +616 -0
  26. data/lib/compass/core/sass_extensions/functions/image_size.rb +117 -0
  27. data/lib/compass/core/sass_extensions/functions/inline_image.rb +64 -0
  28. data/lib/compass/core/sass_extensions/functions/lists.rb +101 -0
  29. data/lib/compass/core/sass_extensions/functions/math.rb +92 -0
  30. data/lib/compass/core/sass_extensions/functions/selectors.rb +64 -0
  31. data/lib/compass/core/sass_extensions/functions/urls.rb +297 -0
  32. data/lib/compass/core/sass_extensions/monkey_patches.rb +3 -0
  33. data/lib/compass/core/sass_extensions/monkey_patches/browser_support.rb +118 -0
  34. data/lib/compass/core/sass_extensions/monkey_patches/traversal.rb +23 -0
  35. data/lib/compass/core/version.rb +5 -0
  36. data/lib/compass/error.rb +5 -0
  37. data/stylesheets/_compass.scss +3 -0
  38. data/stylesheets/_lemonade.scss +38 -0
  39. data/stylesheets/compass/_configuration.scss +54 -0
  40. data/stylesheets/compass/_css3.scss +21 -0
  41. data/stylesheets/compass/_layout.scss +3 -0
  42. data/stylesheets/compass/_reset-legacy.scss +3 -0
  43. data/stylesheets/compass/_reset.scss +3 -0
  44. data/stylesheets/compass/_support.scss +441 -0
  45. data/stylesheets/compass/_typography.scss +4 -0
  46. data/stylesheets/compass/_utilities.scss +9 -0
  47. data/stylesheets/compass/css3/_animation.scss +122 -0
  48. data/stylesheets/compass/css3/_appearance.scss +17 -0
  49. data/stylesheets/compass/css3/_background-clip.scss +35 -0
  50. data/stylesheets/compass/css3/_background-origin.scss +37 -0
  51. data/stylesheets/compass/css3/_background-size.scss +19 -0
  52. data/stylesheets/compass/css3/_border-radius.scss +107 -0
  53. data/stylesheets/compass/css3/_box-shadow.scss +88 -0
  54. data/stylesheets/compass/css3/_box-sizing.scss +15 -0
  55. data/stylesheets/compass/css3/_box.scss +85 -0
  56. data/stylesheets/compass/css3/_columns.scss +210 -0
  57. data/stylesheets/compass/css3/_deprecated-support.scss +272 -0
  58. data/stylesheets/compass/css3/_filter.scss +50 -0
  59. data/stylesheets/compass/css3/_flexbox.scss +156 -0
  60. data/stylesheets/compass/css3/_font-face.scss +48 -0
  61. data/stylesheets/compass/css3/_hyphenation.scss +71 -0
  62. data/stylesheets/compass/css3/_images.scss +139 -0
  63. data/stylesheets/compass/css3/_inline-block.scss +31 -0
  64. data/stylesheets/compass/css3/_opacity.scss +23 -0
  65. data/stylesheets/compass/css3/_pie.scss +1 -0
  66. data/stylesheets/compass/css3/_regions.scss +27 -0
  67. data/stylesheets/compass/css3/_selection.scss +59 -0
  68. data/stylesheets/compass/css3/_shared.scss +5 -0
  69. data/stylesheets/compass/css3/_text-shadow.scss +82 -0
  70. data/stylesheets/compass/css3/_transform.scss +590 -0
  71. data/stylesheets/compass/css3/_transition.scss +171 -0
  72. data/stylesheets/compass/css3/_user-interface.scss +71 -0
  73. data/stylesheets/compass/layout/_grid-background.scss +178 -0
  74. data/stylesheets/compass/layout/_sticky-footer.scss +23 -0
  75. data/stylesheets/compass/layout/_stretching.scss +24 -0
  76. data/stylesheets/compass/reset/_utilities-legacy.scss +135 -0
  77. data/stylesheets/compass/reset/_utilities.scss +142 -0
  78. data/stylesheets/compass/typography/_links.scss +3 -0
  79. data/stylesheets/compass/typography/_lists.scss +4 -0
  80. data/stylesheets/compass/typography/_text.scss +4 -0
  81. data/stylesheets/compass/typography/_units.scss +152 -0
  82. data/stylesheets/compass/typography/_vertical_rhythm.scss +300 -0
  83. data/stylesheets/compass/typography/links/_hover-link.scss +5 -0
  84. data/stylesheets/compass/typography/links/_link-colors.scss +28 -0
  85. data/stylesheets/compass/typography/links/_unstyled-link.scss +7 -0
  86. data/stylesheets/compass/typography/lists/_bullets.scss +34 -0
  87. data/stylesheets/compass/typography/lists/_horizontal-list.scss +63 -0
  88. data/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -0
  89. data/stylesheets/compass/typography/lists/_inline-list.scss +47 -0
  90. data/stylesheets/compass/typography/text/_ellipsis.scss +25 -0
  91. data/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
  92. data/stylesheets/compass/typography/text/_nowrap.scss +2 -0
  93. data/stylesheets/compass/typography/text/_replacement.scss +68 -0
  94. data/stylesheets/compass/utilities/_color.scss +1 -0
  95. data/stylesheets/compass/utilities/_general.scss +6 -0
  96. data/stylesheets/compass/utilities/_links.scss +5 -0
  97. data/stylesheets/compass/utilities/_lists.scss +6 -0
  98. data/stylesheets/compass/utilities/_print.scss +17 -0
  99. data/stylesheets/compass/utilities/_sass.scss +2 -0
  100. data/stylesheets/compass/utilities/_sprites.scss +2 -0
  101. data/stylesheets/compass/utilities/_tables.scss +3 -0
  102. data/stylesheets/compass/utilities/_text.scss +5 -0
  103. data/stylesheets/compass/utilities/color/_brightness.scss +12 -0
  104. data/stylesheets/compass/utilities/color/_contrast.scss +52 -0
  105. data/stylesheets/compass/utilities/general/_clearfix.scss +44 -0
  106. data/stylesheets/compass/utilities/general/_float.scss +38 -0
  107. data/stylesheets/compass/utilities/general/_hacks.scss +65 -0
  108. data/stylesheets/compass/utilities/general/_min.scss +16 -0
  109. data/stylesheets/compass/utilities/general/_reset.scss +2 -0
  110. data/stylesheets/compass/utilities/general/_tabs.scss +1 -0
  111. data/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -0
  112. data/stylesheets/compass/utilities/links/_hover-link.scss +3 -0
  113. data/stylesheets/compass/utilities/links/_link-colors.scss +3 -0
  114. data/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -0
  115. data/stylesheets/compass/utilities/lists/_bullets.scss +3 -0
  116. data/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -0
  117. data/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -0
  118. data/stylesheets/compass/utilities/lists/_inline-list.scss +3 -0
  119. data/stylesheets/compass/utilities/sass/_lists.scss +16 -0
  120. data/stylesheets/compass/utilities/sass/_maps.scss +19 -0
  121. data/stylesheets/compass/utilities/sprites/_base.scss +92 -0
  122. data/stylesheets/compass/utilities/sprites/_sprite-img.scss +81 -0
  123. data/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -0
  124. data/stylesheets/compass/utilities/tables/_borders.scss +38 -0
  125. data/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -0
  126. data/stylesheets/compass/utilities/text/_ellipsis.scss +3 -0
  127. data/stylesheets/compass/utilities/text/_nowrap.scss +3 -0
  128. data/stylesheets/compass/utilities/text/_replacement.scss +3 -0
  129. data/templates/ellipsis/ellipsis.sass +9 -0
  130. data/templates/ellipsis/manifest.rb +27 -0
  131. data/templates/ellipsis/xml/ellipsis.xml +14 -0
  132. data/templates/extension/manifest.rb +26 -0
  133. data/templates/extension/stylesheets/main.sass +1 -0
  134. data/templates/extension/templates/project/manifest.rb +2 -0
  135. data/templates/extension/templates/project/screen.sass +2 -0
  136. data/templates/project/USAGE.markdown +32 -0
  137. data/templates/project/ie.sass +6 -0
  138. data/templates/project/manifest.rb +4 -0
  139. data/templates/project/print.sass +6 -0
  140. data/templates/project/screen.sass +7 -0
  141. metadata +241 -0
@@ -0,0 +1,171 @@
1
+ @import "compass/support";
2
+
3
+ // The the user threshold for transition support. Defaults to `$graceful-usage-threshold`
4
+ $transition-support-threshold: $graceful-usage-threshold !default;
5
+
6
+
7
+ // CSS Transitions
8
+ // Currently only works in Webkit.
9
+ //
10
+ // * expected in CSS3, FireFox 3.6/7 and Opera Presto 2.3
11
+ // * We'll be prepared.
12
+ //
13
+ // Including this submodule sets following defaults for the mixins:
14
+ //
15
+ // $default-transition-property : all
16
+ // $default-transition-duration : 1s
17
+ // $default-transition-function : false
18
+ // $default-transition-delay : false
19
+ //
20
+ // Override them if you like. Timing-function and delay are set to false for browser defaults (ease, 0s).
21
+
22
+ $default-transition-property: all !default;
23
+
24
+ $default-transition-duration: 1s !default;
25
+
26
+ $default-transition-function: null !default;
27
+
28
+ $default-transition-delay: null !default;
29
+
30
+ $transitionable-prefixed-values: transform, transform-origin !default;
31
+
32
+
33
+
34
+ // Checks if the value given is a unit of time.
35
+ @function is-time($value) {
36
+ @return if(type-of($value) == number, not not index(s ms, unit($value)), false);
37
+ }
38
+
39
+ // Returns `$property` with the given prefix if it is found in `$transitionable-prefixed-values`.
40
+ @function prefixed-for-transition($prefix, $property) {
41
+ @if not $prefix {
42
+ @return $property;
43
+ }
44
+ @if type-of($property) == list or type-of($property) == arglist {
45
+ $new-list: comma-list();
46
+ @each $v in $property {
47
+ $new-list: append($new-list, prefixed-for-transition($prefix, $v));
48
+ }
49
+ @return $new-list;
50
+ } @else {
51
+ @if index($transitionable-prefixed-values, $property) {
52
+ @return #{$prefix}-#{$property};
53
+ } @else {
54
+ @return $property;
55
+ }
56
+ }
57
+ }
58
+
59
+ // One or more properties to transition
60
+ //
61
+ // * for multiple, use a comma-delimited list
62
+ // * also accepts "all" or "none"
63
+
64
+ @mixin transition-property($properties...) {
65
+ $properties: set-arglist-default($properties, $default-transition-property);
66
+ @include with-each-prefix(css-transitions, $transition-support-threshold) {
67
+ $props: if($current-prefix, prefixed-for-transition($current-prefix, $properties), $properties);
68
+ @include prefix-prop(transition-property, $props);
69
+ }
70
+ }
71
+
72
+ // One or more durations in seconds
73
+ //
74
+ // * for multiple, use a comma-delimited list
75
+ // * these durations will affect the properties in the same list position
76
+
77
+ @mixin transition-duration($durations...) {
78
+ $durations: set-arglist-default($durations, $default-transition-duration);
79
+ @include prefixed-properties(css-transitions, $transition-support-threshold, (
80
+ transition-duration: $durations
81
+ ));
82
+ }
83
+
84
+ // One or more timing functions
85
+ //
86
+ // * [ ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(x1, y1, x2, y2)]
87
+ // * For multiple, use a comma-delimited list
88
+ // * These functions will effect the properties in the same list position
89
+
90
+ @mixin transition-timing-function($functions...) {
91
+ $functions: set-arglist-default($functions, $default-transition-function);
92
+ @include prefixed-properties(css-transitions, $transition-support-threshold, (
93
+ transition-timing-function: $functions
94
+ ));
95
+ }
96
+
97
+ // One or more transition-delays in seconds
98
+ //
99
+ // * for multiple, use a comma-delimited list
100
+ // * these delays will effect the properties in the same list position
101
+
102
+ @mixin transition-delay($delays...) {
103
+ $delays: set-arglist-default($delays, $default-transition-delay);
104
+ @include prefixed-properties(css-transitions, $transition-support-threshold, (
105
+ transition-delay: $delays
106
+ ));
107
+ }
108
+
109
+ // Transition all-in-one shorthand
110
+
111
+ @mixin single-transition(
112
+ $property: $default-transition-property,
113
+ $duration: $default-transition-duration,
114
+ $function: $default-transition-function,
115
+ $delay: $default-transition-delay
116
+ ) {
117
+ @include transition(compact($property $duration $function $delay));
118
+ }
119
+
120
+ @mixin transition($transitions...) {
121
+ $default: compact($default-transition-property $default-transition-duration $default-transition-function $default-transition-delay);
122
+ $transitions: set-arglist-default($transitions, $default);
123
+
124
+ @include with-each-prefix(css-transitions, $transition-support-threshold) {
125
+ $delays: ();
126
+ $transitions-without-delays: ();
127
+ $transitions-with-delays: ();
128
+ $has-delays: false;
129
+
130
+
131
+ // This block can be made considerably simpler at the point in time that
132
+ // we no longer need to deal with the differences in how delays are treated.
133
+ @each $transition in $transitions {
134
+ // Extract the values from the list
135
+ // (this would be cleaner if nth took a 3rd argument to provide a default value).
136
+ $property: nth($transition, 1);
137
+ $duration: if(length($transition) >= 2, nth($transition, 2), null);
138
+ $timing-function: if(length($transition) >= 3, nth($transition, 3), null);
139
+ $delay: if(length($transition) >= 4, nth($transition, 4), null);
140
+ $has-delays: $has-delays or $delay;
141
+
142
+ // If a delay is provided without a timing function
143
+ @if is-time($timing-function) and not $delay {
144
+ $delay: $timing-function;
145
+ $timing-function: null;
146
+ $has-delays: true;
147
+ }
148
+
149
+ @if $current-prefix == -webkit {
150
+ // Keep a list of delays in case one is specified
151
+ $delays: append($delays, if($delay, $delay, 0s));
152
+ $transitions-without-delays: append($transitions-without-delays,
153
+ prefixed-for-transition($current-prefix, $property) $duration $timing-function);
154
+ } @else {
155
+ $transitions-with-delays: append($transitions-with-delays,
156
+ prefixed-for-transition($current-prefix, $property) $duration $timing-function $delay);
157
+ }
158
+ }
159
+
160
+ @if $current-prefix == -webkit {
161
+ @include prefix-prop(transition, $transitions-without-delays);
162
+ @if $has-delays {
163
+ @include prefix-prop(transition-delay, $delays);
164
+ }
165
+ } @else if $current-prefix {
166
+ @include prefix-prop(transition, $transitions-with-delays);
167
+ } @else {
168
+ transition: $transitions-with-delays;
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,71 @@
1
+ // User Interface
2
+ // This file can be expanded to handle all the user interface properties as
3
+ // they become available in browsers:
4
+ // http://www.w3.org/TR/2000/WD-css3-userint-20000216
5
+
6
+ @import "compass/support";
7
+
8
+ // The prefixed support threshold for user-select.
9
+ // Defaults to the $graceful-usage-threshold.
10
+ $userselect-support-threshold: $graceful-usage-threshold !default;
11
+
12
+ // This property controls the selection model and granularity of an element.
13
+ //
14
+ // @param $select
15
+ // [ none | text | toggle | element | elements | all | inherit ]
16
+ @mixin user-select($select) {
17
+ $select: unquote($select);
18
+
19
+ @include with-each-prefix(user-select-none, $userselect-support-threshold) {
20
+ // old Firefox used a proprietary `-moz-none` value, starting with Firefox 21 `none` behaves like `-moz-none`
21
+ // @link https://developer.mozilla.org/en-US/docs/Web/CSS/user-select
22
+ @include prefix-prop(user-select, if($current-prefix == -moz and $select == 'none', -moz-none, $select));
23
+ }
24
+ }
25
+
26
+ // The prefixed support threshold for input-placeholder.
27
+ // Defaults to the $graceful-usage-threshold.
28
+ $input-placeholder-support-threshold: $graceful-usage-threshold !default;
29
+
30
+ // Style the html5 input placeholder in browsers that support it.
31
+ //
32
+ // The styles for the input placeholder are passed as mixin content
33
+ // and the selector comes from the mixin's context.
34
+ //
35
+ // For example:
36
+ //
37
+ // #{elements-of-type(text-input)} {
38
+ // @include input-placeholder {
39
+ // color: #bfbfbf;
40
+ // font-style: italic;
41
+ // }
42
+ // }
43
+ //
44
+ // if you want to apply the placeholder styles to all elements supporting
45
+ // the `input-placeholder` pseudo class (beware of performance impacts):
46
+ //
47
+ // * {
48
+ // @include input-placeholder {
49
+ // color: #bfbfbf;
50
+ // font-style: italic;
51
+ // }
52
+ // }
53
+ @mixin input-placeholder {
54
+ @include with-each-prefix(css-placeholder, $input-placeholder-support-threshold) {
55
+ @if $current-prefix == -webkit {
56
+ &::-webkit-input-placeholder { @content; }
57
+ }
58
+ @elseif $current-prefix == -moz {
59
+ // for Firefox 19 and below
60
+ @if support-legacy-browser("firefox", "4", "19", $threshold: $input-placeholder-support-threshold) {
61
+ &:-moz-placeholder { @content; }
62
+ }
63
+ // for Firefox 20 and above
64
+ &::-moz-placeholder { @content; }
65
+ }
66
+ @elseif $current-prefix == -ms {
67
+ &:-ms-input-placeholder { @content; }
68
+ }
69
+ }
70
+ // This is not standardized yet so no official selector is generated.
71
+ }
@@ -0,0 +1,178 @@
1
+ @import "compass/css3/images";
2
+ @import "compass/css3/background-size";
3
+
4
+ // Set the color of your columns
5
+ $grid-background-column-color : rgba(100, 100, 225, 0.25) !default;
6
+ // Set the color of your gutters
7
+ $grid-background-gutter-color : rgba(0, 0, 0, 0) !default;
8
+
9
+ // Set the total number of columns in your grid
10
+ $grid-background-total-columns : 24 !default;
11
+ // Set the width of your columns
12
+ $grid-background-column-width : 30px !default;
13
+ // Set the width of your gutters
14
+ $grid-background-gutter-width : 10px !default;
15
+ // Set the offset, if your columns are padded in from the container edge
16
+ $grid-background-offset : 0px !default;
17
+
18
+ // Set the color of your baseline
19
+ $grid-background-baseline-color : rgba(0, 0, 0, 0.5) !default;
20
+ // Set the height of your baseline grid
21
+ $grid-background-baseline-height : 1.5em !default;
22
+
23
+ // toggle your columns grids on and off
24
+ $show-column-grid-backgrounds : true !default;
25
+ // toggle your vertical grids on and off
26
+ $show-baseline-grid-backgrounds : true !default;
27
+ // toggle all your grids on and off
28
+ $show-grid-backgrounds : true !default;
29
+
30
+ // optionally force your grid-image to remain fluid
31
+ // no matter what units you used to declared your grid.
32
+ $grid-background-force-fluid : false !default;
33
+
34
+
35
+ // Create the gradient needed for baseline grids
36
+ @function get-baseline-gradient(
37
+ $color : $grid-background-baseline-color
38
+ ) {
39
+ $gradient: linear-gradient(bottom, $color 5%, rgba($color,0) 5%);
40
+ @return $gradient;
41
+ }
42
+
43
+ // Create the color-stops needed for horizontal grids
44
+ @function build-grid-background(
45
+ $total : $grid-background-total-columns,
46
+ $column : $grid-background-column-width,
47
+ $gutter : $grid-background-gutter-width,
48
+ $offset : $grid-background-offset,
49
+ $column-color : $grid-background-column-color,
50
+ $gutter-color : $grid-background-gutter-color
51
+ ) {
52
+ $grid: compact();
53
+ $grid: append($grid, $gutter-color $offset, comma);
54
+ @for $i from 0 to $total {
55
+
56
+ // $a represents the start of this column, initially equal to the offset
57
+ $a: $offset;
58
+ @if $i > 0 { $a: $a + (($column + $gutter) * $i); }
59
+
60
+ // $g represents the start of this gutter, equal to $a plus one column-width
61
+ $g: $a + $column;
62
+
63
+ // $z represents the end of a gutter, equal to $g plus one gutter-width
64
+ $z: $g + $gutter;
65
+
66
+ @if (unit($a) == "%") and ($i == ($total - 1)) {
67
+ $z: 100%;
68
+ }
69
+
70
+ // and we add this column/gutter pair to our grid
71
+ $grid: join($grid, ($column-color $a, $column-color $g, $gutter-color $g, $gutter-color $z));
72
+ }
73
+
74
+ @return $grid;
75
+ }
76
+
77
+ // Return the gradient needed for horizontal grids
78
+ @function get-column-gradient(
79
+ $total : $grid-background-total-columns,
80
+ $column : $grid-background-column-width,
81
+ $gutter : $grid-background-gutter-width,
82
+ $offset : $grid-background-offset,
83
+ $column-color : $grid-background-column-color,
84
+ $gutter-color : $grid-background-gutter-color,
85
+ $force-fluid : $grid-background-force-fluid
86
+ ) {
87
+ $grid: unquote("");
88
+
89
+ // don't force fluid grids when they are already fluid.
90
+ @if unit($column) == "%" { $force-fluid: false; }
91
+
92
+ @if $force-fluid {
93
+ $grid: get-column-fluid-grid($total,$column,$gutter,$offset,$column-color,$gutter-color);
94
+ } @else {
95
+ $grid: build-grid-background($total,$column,$gutter,$offset,$column-color,$gutter-color);
96
+ }
97
+
98
+ // return the horizontal grid as a gradient
99
+ $gradient: linear-gradient(left, $grid);
100
+ @return $gradient;
101
+ }
102
+
103
+ // Convert a grid from fixed units into percentages.
104
+ @function get-column-fluid-grid(
105
+ $total : $grid-background-total-columns,
106
+ $column : $grid-background-column-width,
107
+ $gutter : $grid-background-gutter-width,
108
+ $offset : $grid-background-offset,
109
+ $column-color : $grid-background-column-color,
110
+ $gutter-color : $grid-background-gutter-color
111
+ ) {
112
+ $context: ($column * $total) + ($gutter * ($total - 1) + ($offset * 2));
113
+ $offset: $offset / $context * 100%;
114
+ $column: $column / $context * 100%;
115
+ $gutter: $gutter / $context * 100%;
116
+
117
+ // return the horizontal grid as a set of color-stops
118
+ $grid: build-grid-background($total,$column,$gutter,$offset,$column-color,$gutter-color);
119
+ @return $grid;
120
+ }
121
+
122
+
123
+ // Add just the baseline grid to an element's background
124
+ @mixin baseline-grid-background(
125
+ $baseline : $grid-background-baseline-height,
126
+ $color : $grid-background-baseline-color
127
+ ) {
128
+ @if $show-grid-backgrounds and $show-baseline-grid-backgrounds {
129
+ @include background-image(get-baseline-gradient($color));
130
+ @include background-size(100% $baseline);
131
+ background-position: left top;
132
+ }
133
+ }
134
+
135
+ // Add just the horizontal grid to an element's background
136
+ @mixin column-grid-background(
137
+ $total : $grid-background-total-columns,
138
+ $column : $grid-background-column-width,
139
+ $gutter : $grid-background-gutter-width,
140
+ $offset : $grid-background-offset,
141
+ $column-color : $grid-background-column-color,
142
+ $gutter-color : $grid-background-gutter-color,
143
+ $force-fluid : $grid-background-force-fluid
144
+ ) {
145
+ @if $show-grid-backgrounds and $show-column-grid-backgrounds {
146
+ @include background-image(
147
+ get-column-gradient($total,$column,$gutter,$offset,$column-color,$gutter-color, $force-fluid)
148
+ );
149
+ background-position: left top;
150
+ }
151
+ }
152
+
153
+ // Add both horizontal and baseline grids to an element's background
154
+ @mixin grid-background(
155
+ $total : $grid-background-total-columns,
156
+ $column : $grid-background-column-width,
157
+ $gutter : $grid-background-gutter-width,
158
+ $baseline : $grid-background-baseline-height,
159
+ $offset : $grid-background-offset,
160
+ $column-color : $grid-background-column-color,
161
+ $gutter-color : $grid-background-gutter-color,
162
+ $baseline-color : $grid-background-baseline-color,
163
+ $force-fluid : $grid-background-force-fluid
164
+ ) {
165
+ @if $show-grid-backgrounds {
166
+ @if $show-baseline-grid-backgrounds and $show-column-grid-backgrounds {
167
+ @include background-image(
168
+ get-baseline-gradient($baseline-color),
169
+ get-column-gradient($total,$column,$gutter,$offset,$column-color,$gutter-color, $force-fluid)
170
+ );
171
+ @include background-size(100% $baseline, auto);
172
+ background-position: left top;
173
+ } @else {
174
+ @include baseline-grid-background($baseline, $baseline-color);
175
+ @include column-grid-background($total,$column,$gutter,$offset,$column-color,$gutter-color, $force-fluid);
176
+ }
177
+ }
178
+ }
@@ -0,0 +1,23 @@
1
+ // Based on a [blog post by Ryan Fait](http://ryanfait.com/resources/footer-stick-to-bottom-of-page/).
2
+ //
3
+ // Must be mixed into the top level of your stylesheet.
4
+ //
5
+ // Footer element must be outside of root wrapper element.
6
+ //
7
+ // Footer must be a fixed height.
8
+
9
+ @mixin sticky-footer($footer-height, $root-selector: unquote("#root"), $root-footer-selector: unquote("#root_footer"), $footer-selector: unquote("#footer")) {
10
+ html, body {
11
+ height: 100%; }
12
+ #{$root-selector} {
13
+ clear: both;
14
+ min-height: 100%;
15
+ height: auto !important;
16
+ height: 100%;
17
+ margin-bottom: -$footer-height;
18
+ #{$root-footer-selector} {
19
+ height: $footer-height; } }
20
+ #{$footer-selector} {
21
+ clear: both;
22
+ position: relative;
23
+ height: $footer-height; } }
@@ -0,0 +1,24 @@
1
+
2
+ // stretch element height to specified top and bottom position
3
+
4
+ @mixin stretch-y($offset-top:0, $offset-bottom:0) {
5
+ @include stretch($offset-top, false, $offset-bottom, false);
6
+ }
7
+
8
+
9
+ // stretch element width to specified left and right position
10
+
11
+ @mixin stretch-x($offset-left:0, $offset-right:0) {
12
+ @include stretch(false, $offset-right, false, $offset-left);
13
+ }
14
+
15
+
16
+ // shorthand to stretch element height and width
17
+
18
+ @mixin stretch($offset-top:0, $offset-right:0, $offset-bottom:0, $offset-left:0) {
19
+ position: absolute;
20
+ @if $offset-top { top: $offset-top; }
21
+ @if $offset-bottom { bottom: $offset-bottom; }
22
+ @if $offset-left { left: $offset-left; }
23
+ @if $offset-right { right: $offset-right; }
24
+ }