bourbon 1.3.6 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/stylesheets/_bourbon.scss +6 -0
- data/app/assets/stylesheets/addons/_clearfix.scss +29 -0
- data/app/assets/stylesheets/css3/_background-image.scss +0 -14
- data/app/assets/stylesheets/css3/_border-image.scss +55 -6
- data/app/assets/stylesheets/css3/_border-radius.scss +4 -0
- data/app/assets/stylesheets/css3/_box-shadow.scss +0 -2
- data/app/assets/stylesheets/css3/_box-sizing.scss +0 -2
- data/app/assets/stylesheets/css3/_linear-gradient.scss +1 -1
- data/app/assets/stylesheets/css3/_radial-gradient.scss +11 -2
- data/app/assets/stylesheets/css3/_user-select.scss +6 -0
- data/app/assets/stylesheets/functions/_flex-grid.scss +35 -0
- data/app/assets/stylesheets/functions/_render-gradients.scss +14 -0
- data/lib/bourbon/generator.rb +1 -1
- data/lib/bourbon/version.rb +1 -1
- data/readme.md +2 -0
- metadata +10 -6
@@ -1,7 +1,11 @@
|
|
1
1
|
// Custom Functions
|
2
2
|
@import "functions/deprecated-webkit-gradient";
|
3
|
+
@import "functions/flex-grid";
|
3
4
|
@import "functions/grid-width";
|
5
|
+
@import "functions/linear-gradient";
|
4
6
|
@import "functions/modular-scale";
|
7
|
+
@import "functions/radial-gradient";
|
8
|
+
@import "functions/render-gradients";
|
5
9
|
@import "functions/tint-shade";
|
6
10
|
|
7
11
|
// CSS3 Mixins
|
@@ -20,9 +24,11 @@
|
|
20
24
|
@import "css3/radial-gradient";
|
21
25
|
@import "css3/transform";
|
22
26
|
@import "css3/transition";
|
27
|
+
@import "css3/user-select";
|
23
28
|
|
24
29
|
// Addons & other mixins
|
25
30
|
@import "addons/button";
|
31
|
+
@import "addons/clearfix";
|
26
32
|
@import "addons/font-family";
|
27
33
|
@import "addons/html5-input-types";
|
28
34
|
@import "addons/position";
|
@@ -0,0 +1,29 @@
|
|
1
|
+
// Micro clearfix provides an easy way to contain floats without adding additional markup
|
2
|
+
//
|
3
|
+
// Example usage:
|
4
|
+
//
|
5
|
+
// // Contain all floats within .wrapper
|
6
|
+
// .wrapper {
|
7
|
+
// @include clearfix;
|
8
|
+
// .content,
|
9
|
+
// .sidebar {
|
10
|
+
// float : left;
|
11
|
+
// }
|
12
|
+
// }
|
13
|
+
|
14
|
+
@mixin clearfix {
|
15
|
+
zoom: 1;
|
16
|
+
|
17
|
+
&:before,
|
18
|
+
&:after {
|
19
|
+
content: "";
|
20
|
+
display: table;
|
21
|
+
}
|
22
|
+
|
23
|
+
&:after {
|
24
|
+
clear: both;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
// Acknowledgements
|
29
|
+
// Micro clearfix: [Nicolas Gallagher](http://nicolasgallagher.com/micro-clearfix-hack/)
|
@@ -2,8 +2,6 @@
|
|
2
2
|
// Background-image property for adding multiple background images with
|
3
3
|
// gradients, or for stringing multiple gradients together.
|
4
4
|
//************************************************************************//
|
5
|
-
@import "../functions/linear-gradient";
|
6
|
-
@import "../functions/radial-gradient";
|
7
5
|
|
8
6
|
@mixin background-image(
|
9
7
|
$image-1 , $image-2: false,
|
@@ -50,18 +48,6 @@
|
|
50
48
|
}
|
51
49
|
|
52
50
|
|
53
|
-
@function render-gradients($gradients, $gradient-type, $vendor: false) {
|
54
|
-
$vendor-gradients: false;
|
55
|
-
@if $vendor {
|
56
|
-
$vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient($gradients);
|
57
|
-
}
|
58
|
-
|
59
|
-
@else if $vendor == false {
|
60
|
-
$vendor-gradients: "#{$gradient-type}-gradient(#{$gradients})";
|
61
|
-
$vendor-gradients: unquote($vendor-gradients);
|
62
|
-
}
|
63
|
-
@return $vendor-gradients;
|
64
|
-
}
|
65
51
|
|
66
52
|
//Examples:
|
67
53
|
//@include background-image(linear-gradient(top, orange, red));
|
@@ -1,7 +1,56 @@
|
|
1
|
-
@mixin border-image
|
2
|
-
-webkit-border-image: $
|
3
|
-
-moz-border-image: $
|
4
|
-
|
5
|
-
|
6
|
-
border-image: $image;
|
1
|
+
@mixin border-image($images) {
|
2
|
+
-webkit-border-image: border-add-prefix($images, webkit);
|
3
|
+
-moz-border-image: border-add-prefix($images, moz);
|
4
|
+
-o-border-image: border-add-prefix($images, o);
|
5
|
+
border-image: border-add-prefix($images);
|
7
6
|
}
|
7
|
+
|
8
|
+
@function border-add-prefix($images, $vendor: false) {
|
9
|
+
$border-image: ();
|
10
|
+
$images-type: type-of(nth($images, 1));
|
11
|
+
$first-var: nth(nth($images, 1), 1); // Get type of Gradient (Linear || radial)
|
12
|
+
|
13
|
+
// If input is a gradient
|
14
|
+
@if $images-type == string {
|
15
|
+
@if ($first-var == "linear") or ($first-var == "radial") {
|
16
|
+
@for $i from 2 through length($images) {
|
17
|
+
$gradient-type: nth($images, 1); // Get type of gradient (linear || radial)
|
18
|
+
$gradient-args: nth($images, $i); // Get actual gradient (red, blue)
|
19
|
+
$border-image: render-gradients($gradient-args, $gradient-type, $vendor);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
// If input is a URL
|
24
|
+
@else {
|
25
|
+
$border-image: $images;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
// If input is gradient or url + additional args
|
30
|
+
@else if $images-type == list {
|
31
|
+
@for $i from 1 through length($images) {
|
32
|
+
$type: type-of(nth($images, $i)); // Get type of variable - List or String
|
33
|
+
|
34
|
+
// If variable is a list - Gradient
|
35
|
+
@if $type == list {
|
36
|
+
$gradient-type: nth(nth($images, $i), 1); // Get type of gradient (linear || radial)
|
37
|
+
$gradient-args: nth(nth($images, $i), 2); // Get actual gradient (red, blue)
|
38
|
+
$border-image: render-gradients($gradient-args, $gradient-type, $vendor);
|
39
|
+
}
|
40
|
+
|
41
|
+
// If variable is a string - Image or number
|
42
|
+
@else if ($type == string) or ($type == number) {
|
43
|
+
$border-image: append($border-image, nth($images, $i));
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
@return $border-image;
|
48
|
+
}
|
49
|
+
|
50
|
+
//Examples:
|
51
|
+
// @include border-image(url("image.png"));
|
52
|
+
// @include border-image(url("image.png") 20 stretch);
|
53
|
+
// @include border-image(linear-gradient(45deg, orange, yellow));
|
54
|
+
// @include border-image(linear-gradient(45deg, orange, yellow) stretch);
|
55
|
+
// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);
|
56
|
+
// @include border-image(radial-gradient(top, cover, orange, yellow, orange));
|
@@ -9,6 +9,7 @@
|
|
9
9
|
@mixin border-top-left-radius($radii) {
|
10
10
|
-webkit-border-top-left-radius: $radii;
|
11
11
|
-moz-border-top-left-radius: $radii;
|
12
|
+
-moz-border-radius-topleft: $radii;
|
12
13
|
-ms-border-top-left-radius: $radii;
|
13
14
|
-o-border-top-left-radius: $radii;
|
14
15
|
border-top-left-radius: $radii;
|
@@ -17,6 +18,7 @@
|
|
17
18
|
@mixin border-top-right-radius($radii) {
|
18
19
|
-webkit-border-top-right-radius: $radii;
|
19
20
|
-moz-border-top-right-radius: $radii;
|
21
|
+
-moz-border-radius-topright: $radii;
|
20
22
|
-ms-border-top-right-radius: $radii;
|
21
23
|
-o-border-top-right-radius: $radii;
|
22
24
|
border-top-right-radius: $radii;
|
@@ -25,6 +27,7 @@
|
|
25
27
|
@mixin border-bottom-left-radius($radii) {
|
26
28
|
-webkit-border-bottom-left-radius: $radii;
|
27
29
|
-moz-border-bottom-left-radius: $radii;
|
30
|
+
-moz-border-radius-bottomleft: $radii;
|
28
31
|
-ms-border-bottom-left-radius: $radii;
|
29
32
|
-o-border-bottom-left-radius: $radii;
|
30
33
|
border-bottom-left-radius: $radii;
|
@@ -33,6 +36,7 @@
|
|
33
36
|
@mixin border-bottom-right-radius($radii) {
|
34
37
|
-webkit-border-bottom-right-radius: $radii;
|
35
38
|
-moz-border-bottom-right-radius: $radii;
|
39
|
+
-moz-border-radius-bottomright: $radii;
|
36
40
|
-ms-border-bottom-right-radius: $radii;
|
37
41
|
-o-border-bottom-right-radius: $radii;
|
38
42
|
border-bottom-right-radius: $radii;
|
@@ -4,11 +4,20 @@
|
|
4
4
|
$G3: false, $G4: false,
|
5
5
|
$G5: false, $G6: false,
|
6
6
|
$G7: false, $G8: false,
|
7
|
-
$G9: false, $G10: false
|
7
|
+
$G9: false, $G10: false,
|
8
|
+
$fallback: false) {
|
8
9
|
|
9
10
|
$full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
|
10
11
|
|
11
|
-
|
12
|
+
// Set $G1 as the default fallback color
|
13
|
+
$fallback-color: nth($G1, 1);
|
14
|
+
|
15
|
+
// If $fallback is a color use that color as the fallback color
|
16
|
+
@if (type-of($fallback) == color) or ($fallback == "transparent") {
|
17
|
+
$fallback-color: $fallback;
|
18
|
+
}
|
19
|
+
|
20
|
+
background-color: $fallback-color;
|
12
21
|
background-image: deprecated-webkit-gradient(radial, $full); // Safari <= 5.0
|
13
22
|
background-image: -webkit-radial-gradient($pos, $shape-size, $full);
|
14
23
|
background-image: -moz-radial-gradient($pos, $shape-size, $full);
|
@@ -0,0 +1,35 @@
|
|
1
|
+
// Flexible grid
|
2
|
+
@function flex-grid($columns, $container-columns: $fg-max-columns) {
|
3
|
+
$width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
|
4
|
+
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
|
5
|
+
@return percentage($width / $container-width);
|
6
|
+
}
|
7
|
+
|
8
|
+
// Flexible gutter
|
9
|
+
@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
|
10
|
+
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
|
11
|
+
@return percentage($gutter / $container-width);
|
12
|
+
}
|
13
|
+
|
14
|
+
// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function.
|
15
|
+
// This function takes the fluid grid equation (target / context = result) and uses columns to help define each.
|
16
|
+
//
|
17
|
+
// $fg-column: 60px; // Column Width
|
18
|
+
// $fg-gutter: 25px; // Gutter Width
|
19
|
+
// $fg-max-columns: 12; // Total Columns For Main Container
|
20
|
+
//
|
21
|
+
// div {
|
22
|
+
// width: flex-grid(4); // returns (315px / 1020px) = 30.882353%;
|
23
|
+
// margin-left: flex-gutter(); // returns (25px / 1020px) = 2.45098%;
|
24
|
+
//
|
25
|
+
// p {
|
26
|
+
// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
|
27
|
+
// float: left;
|
28
|
+
// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%;
|
29
|
+
// }
|
30
|
+
//
|
31
|
+
// blockquote {
|
32
|
+
// float: left;
|
33
|
+
// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
|
34
|
+
// }
|
35
|
+
// }
|
@@ -0,0 +1,14 @@
|
|
1
|
+
// User for linear and radial gradients within background-image or border-image properties
|
2
|
+
|
3
|
+
@function render-gradients($gradients, $gradient-type, $vendor: false) {
|
4
|
+
$vendor-gradients: false;
|
5
|
+
@if $vendor {
|
6
|
+
$vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient($gradients);
|
7
|
+
}
|
8
|
+
|
9
|
+
@else if $vendor == false {
|
10
|
+
$vendor-gradients: "#{$gradient-type}-gradient(#{$gradients})";
|
11
|
+
$vendor-gradients: unquote($vendor-gradients);
|
12
|
+
}
|
13
|
+
@return $vendor-gradients;
|
14
|
+
}
|
data/lib/bourbon/generator.rb
CHANGED
data/lib/bourbon/version.rb
CHANGED
data/readme.md
CHANGED
@@ -179,6 +179,7 @@ Bourbon aims to provide support for CSS3 properties that are not yet fully suppo
|
|
179
179
|
#Addons
|
180
180
|
--------------------------------
|
181
181
|
@ button(*args)
|
182
|
+
@ clearfix
|
182
183
|
@ position(*args)
|
183
184
|
|
184
185
|
#{$all-text-inputs}
|
@@ -197,6 +198,7 @@ Bourbon aims to provide support for CSS3 properties that are not yet fully suppo
|
|
197
198
|
* = quad, cubic, quart, quint, sine, expo, circ, back
|
198
199
|
|
199
200
|
|
201
|
+
|
200
202
|
## Help Out
|
201
203
|
|
202
204
|
Currently the project is a work in progress. Feel free to help out.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bourbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -19,11 +19,11 @@ authors:
|
|
19
19
|
autorequire:
|
20
20
|
bindir: bin
|
21
21
|
cert_chain: []
|
22
|
-
date: 2012-
|
22
|
+
date: 2012-02-20 00:00:00.000000000 Z
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|
25
25
|
name: sass
|
26
|
-
requirement: &
|
26
|
+
requirement: &70233260471540 !ruby/object:Gem::Requirement
|
27
27
|
none: false
|
28
28
|
requirements:
|
29
29
|
- - ! '>='
|
@@ -31,10 +31,10 @@ dependencies:
|
|
31
31
|
version: '3.1'
|
32
32
|
type: :runtime
|
33
33
|
prerelease: false
|
34
|
-
version_requirements: *
|
34
|
+
version_requirements: *70233260471540
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: aruba
|
37
|
-
requirement: &
|
37
|
+
requirement: &70233260470160 !ruby/object:Gem::Requirement
|
38
38
|
none: false
|
39
39
|
requirements:
|
40
40
|
- - ~>
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
version: '0.4'
|
43
43
|
type: :development
|
44
44
|
prerelease: false
|
45
|
-
version_requirements: *
|
45
|
+
version_requirements: *70233260470160
|
46
46
|
description: ! 'The purpose of Bourbon Vanilla Sass Mixins is to provide a comprehensive
|
47
47
|
framework of
|
48
48
|
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- Rakefile
|
72
72
|
- app/assets/stylesheets/_bourbon.scss
|
73
73
|
- app/assets/stylesheets/addons/_button.scss
|
74
|
+
- app/assets/stylesheets/addons/_clearfix.scss
|
74
75
|
- app/assets/stylesheets/addons/_font-family.scss
|
75
76
|
- app/assets/stylesheets/addons/_html5-input-types.scss
|
76
77
|
- app/assets/stylesheets/addons/_position.scss
|
@@ -90,11 +91,14 @@ files:
|
|
90
91
|
- app/assets/stylesheets/css3/_radial-gradient.scss
|
91
92
|
- app/assets/stylesheets/css3/_transform.scss
|
92
93
|
- app/assets/stylesheets/css3/_transition.scss
|
94
|
+
- app/assets/stylesheets/css3/_user-select.scss
|
93
95
|
- app/assets/stylesheets/functions/_deprecated-webkit-gradient.scss
|
96
|
+
- app/assets/stylesheets/functions/_flex-grid.scss
|
94
97
|
- app/assets/stylesheets/functions/_grid-width.scss
|
95
98
|
- app/assets/stylesheets/functions/_linear-gradient.scss
|
96
99
|
- app/assets/stylesheets/functions/_modular-scale.scss
|
97
100
|
- app/assets/stylesheets/functions/_radial-gradient.scss
|
101
|
+
- app/assets/stylesheets/functions/_render-gradients.scss
|
98
102
|
- app/assets/stylesheets/functions/_tint-shade.scss
|
99
103
|
- bin/bourbon
|
100
104
|
- bourbon.gemspec
|