|
1 |
| -# Postcss Easing Gradients |
| 1 | +# PostCSS Easing Gradients |
2 | 2 | PostCSS plugin to create smooth linear-gradients that approximate easing functions.
|
3 | 3 |
|
4 |
| -The syntax is `<type>-gradient([ <direction>,]? <start-color>, <stop-color>)` where |
5 |
| -* `type` is one of the supported gradient types |
| 4 | +The syntax is `<gradient-type>([ <direction>,]? <start-color>, <stop-color>)` where |
| 5 | +* `gradient-type` is one of the supported gradient types |
6 | 6 | * `direction` shares syntax with `linear-gradient` and is optional
|
7 | 7 | * `start-color` and `stop-color` are css colors in any format
|
8 | 8 |
|
9 |
| -## Supported gradient types |
| 9 | +*Note that it's exactly two colors and it doesn't support custom color stop locations.* |
| 10 | + |
| 11 | +## Supported Gradient Types |
10 | 12 | ```
|
11 |
| -ease-in-sine |
12 |
| -ease-out-sine |
13 |
| -ease-in-out-sine |
14 |
| -ease-in-quad |
15 |
| -ease-out-quad |
16 |
| -ease-in-out-quad |
17 |
| -scrim |
| 13 | +ease-in-sine-gradient |
| 14 | +ease-out-sine-gradient |
| 15 | +ease-in-out-sine-gradient |
| 16 | +ease-in-quad-gradient |
| 17 | +ease-out-quad-gradient |
| 18 | +ease-in-out-quad-gradient |
| 19 | +scrim-gradient |
18 | 20 | ```
|
19 |
| -Note: Scrim is a custom easing inspired by Material Design text protection scrims |
| 21 | +*Scrim is a custom easing inspired by Material Design text protection scrims* |
| 22 | + |
| 23 | +## Options |
| 24 | +* `precision: 0.1` is the default value and creates ~17 color stops. The demo uses 0.15 which creates ~11 color stops. I wouldn't recommending using anything above 0.2 as banding becomes very obvious. |
| 25 | +* `alphaDecimals: 3` is the default number of decimals for alpha values and I wouldn't recommend changing it. Increase it for greater precision. |
20 | 26 |
|
21 | 27 | ## Examples
|
22 | 28 | ```
|
23 |
| -#pcss |
24 |
| -scrim-gradient(black, transparent) |
| 29 | +scrim-gradient(black, transparent); |
25 | 30 |
|
26 |
| -ease-in-out-quad-gradient(to bottom left, #bada55, olive) |
| 31 | +ease-in-out-quad-gradient(to bottom left, #bada55, olive); |
27 | 32 |
|
28 |
| -ease-in-sine-gradient(23deg, hsla(300, 80%, 50%, .7), rgb(120, 140, 255)) |
| 33 | +ease-in-sine-gradient(23deg, hsla(300, 80%, 50%, .7), rgb(120, 140, 255)); |
29 | 34 | ```
|
30 | 35 | becomes
|
31 | 36 | ```
|
32 |
| -#css |
33 |
| -linear-gradient(hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.86) 8.52%, hsla(0, 0%, 0%, 0.72) 17.53%, hsla(0, 0%, 0%, 0.58) 27.19%, hsla(0, 0%, 0%, 0.46) 36.28%, hsla(0, 0%, 0%, 0.36) 44.56%, hsla(0, 0%, 0%, 0.28) 51.97%, hsla(0, 0%, 0%, 0.21) 59.18%, hsla(0, 0%, 0%, 0.15) 66.33%, hsla(0, 0%, 0%, 0.1) 73.39%, hsla(0, 0%, 0%, 0.06) 80.36%, hsla(0, 0%, 0%, 0.03) 87.18%, hsla(0, 0%, 0%, 0.01) 93.73%, hsla(0, 0%, 0%, 0) 100%) |
| 37 | +linear-gradient(hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.86) 8.52%, hsla(0, 0%, 0%, 0.72) 17.53%, hsla(0, 0%, 0%, 0.58) 27.19%, hsla(0, 0%, 0%, 0.46) 36.28%, hsla(0, 0%, 0%, 0.36) 44.56%, hsla(0, 0%, 0%, 0.28) 51.97%, hsla(0, 0%, 0%, 0.21) 59.18%, hsla(0, 0%, 0%, 0.15) 66.33%, hsla(0, 0%, 0%, 0.1) 73.39%, hsla(0, 0%, 0%, 0.06) 80.36%, hsla(0, 0%, 0%, 0.03) 87.18%, hsla(0, 0%, 0%, 0.01) 93.73%, hsla(0, 0%, 0%, 0) 100%); |
34 | 38 |
|
35 |
| -linear-gradient(to bottom left, hsl(74, 64%, 59%) 0%, hsl(74, 64%, 59%) 6.667%, hsl(74, 62%, 58%) 13.333%, hsl(73, 60%, 57%) 20%, hsl(72, 57%, 55%) 26.667%, hsl(71, 54%, 52%) 33.333%, hsl(70, 53%, 48%) 40%, hsl(68, 58%, 44%) 46.667%, hsl(66, 64%, 40%) 53.333%, hsl(65, 70%, 36%) 60%, hsl(63, 77%, 33%) 66.667%, hsl(62, 84%, 30%) 73.333%, hsl(61, 90%, 28%) 80%, hsl(61, 95%, 26%) 86.667%, hsl(60, 98%, 25%) 93.333%, hsl(60, 100%, 25%) 100%) |
| 39 | +linear-gradient(to bottom left, hsl(74.4, 64.3%, 59.4%) 0, hsl(74.2, 63.2%, 58.8%) 9.7%, hsl(73.5, 60.7%, 57.1%) 18.3%, hsl(72.6, 57.5%, 54.9%) 25.7%, hsl(71.5, 54.2%, 52.3%) 32.2%, hsl(70.4, 52.1%, 49.6%) 37.9%, hsl(69.2, 55.1%, 46.7%) 43.1%, hsl(67.9, 58.7%, 43.7%) 47.9%, hsl(66.7, 62.8%, 40.6%) 52.4%, hsl(65.4, 67.6%, 37.7%) 57.2%, hsl(64.2, 72.9%, 34.8%) 62.4%, hsl(63, 79%, 32%) 68.2%, hsl(61.9, 85.5%, 29.5%) 74.7%, hsl(60.9, 92.3%, 27.3%) 82.2%, hsl(60.2, 97.8%, 25.7%) 90.9%, olive 100%); |
36 | 40 |
|
37 |
| -linear-gradient(23deg, hsla(300, 80%, 50%, 0.7) 0%, hsla(300, 80%, 50%, 0.7) 6.667%, hsla(299, 80%, 50%, 0.71) 13.333%, hsla(298, 80%, 51%, 0.71) 20%, hsla(297, 81%, 52%, 0.73) 26.667%, hsla(295, 81%, 54%, 0.74) 33.333%, hsla(292, 82%, 55%, 0.76) 40%, hsla(289, 82%, 57%, 0.78) 46.667%, hsla(285, 83%, 59%, 0.8) 53.333%, hsla(280, 85%, 61%, 0.82) 60%, hsla(275, 86%, 64%, 0.85) 66.667%, hsla(268, 88%, 66%, 0.88) 73.333%, hsla(261, 90%, 69%, 0.91) 80%, hsla(252, 93%, 72%, 0.94) 86.667%, hsla(242, 96%, 75%, 0.97) 93.333%, hsla(231, 100%, 74%, 1) 100%) |
| 41 | +linear-gradient(23deg, hsla(300, 80%, 50%, 0.7) 0, hsla(299.1, 80.2%, 50.6%, 0.703) 9.7%, hsla(296.8, 80.7%, 52.1%, 0.713) 18.9%, hsla(293.3, 81.6%, 54.3%, 0.727) 27.4%, hsla(289.1, 82.6%, 56.7%, 0.745) 35.2%, hsla(284.3, 83.7%, 59.2%, 0.764) 42.5%, hsla(279.2, 85%, 61.7%, 0.786) 49.3%, hsla(274, 86.4%, 64%, 0.808) 55.7%, hsla(268.5, 87.8%, 66.2%, 0.831) 61.8%, hsla(263, 89.4%, 68.2%, 0.854) 67.7%, hsla(257.4, 91%, 70.1%, 0.878) 73.4%, hsla(251.8, 92.7%, 71.8%, 0.902) 78.9%, hsla(246.2, 94.4%, 73.4%, 0.927) 84.3%, hsla(240.6, 96.2%, 74.9%, 0.951) 89.6%, hsla(235.4, 98.3%, 74.3%, 0.976) 94.9%, rgb(120,140,255) 100%); |
38 | 42 | ```
|
39 | 43 |
|
40 | 44 | ## Demo
|
41 |
| -You can try it out by running `npm install` and `gulp` in the demo folder. |
| 45 | +You can try it out by running `npm install` and `gulp` in the demo folder. |
42 | 46 |
|
43 |
| -This is how the scrim-gradient looks: |
| 47 | +This is how the scrim-gradient looks: |
44 | 48 |
|
45 | 49 | 
|
0 commit comments