Commit edb066e
authored
Interpolate gradients using OKLCH by default (#14708)
This PR updates all of our gradient utilities to interpolate using OKLCH
by default instead of sRGB. This results in a smoother transition
between colors that preserves saturation throughout the gradient, rather
than hitting the dreaded dull gray zone in between your color stops.
Here are a few examples comparing sRGB (top) to OKLCH (bottom):
<img width="736" alt="image"
src="https://github.com/user-attachments/assets/57a158b6-a3a2-4eda-813e-1b596c7d4b3a">
We only apply a default interpolation mode when _not_ using arbitrary
values with the gradient utility.
Simplified but clear:
```css
.bg-linear-to-r {
background-image: linear-gradient(to right in oklch, var(--gradient-color-stops));
}
.bg-linear-[to_right] {
background-image: linear-gradient(to right, var(--gradient-color-stops));
}
.bg-linear-[to_right_in_hsl] {
background-image: linear-gradient(to right in hsl, var(--gradient-color-stops));
}
```
---------
Co-authored-by: Adam Wathan <[email protected]>1 parent 72c30d4 commit edb066e
File tree
4 files changed
+50
-43
lines changed- packages/tailwindcss
- src
- tests
4 files changed
+50
-43
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9557 | 9557 | | |
9558 | 9558 | | |
9559 | 9559 | | |
9560 | | - | |
9561 | | - | |
| 9560 | + | |
| 9561 | + | |
9562 | 9562 | | |
9563 | 9563 | | |
9564 | 9564 | | |
| |||
9572 | 9572 | | |
9573 | 9573 | | |
9574 | 9574 | | |
9575 | | - | |
| 9575 | + | |
9576 | 9576 | | |
9577 | 9577 | | |
9578 | 9578 | | |
9579 | 9579 | | |
9580 | | - | |
| 9580 | + | |
9581 | 9581 | | |
9582 | 9582 | | |
9583 | 9583 | | |
9584 | 9584 | | |
9585 | | - | |
| 9585 | + | |
9586 | 9586 | | |
9587 | 9587 | | |
9588 | 9588 | | |
9589 | 9589 | | |
9590 | | - | |
| 9590 | + | |
9591 | 9591 | | |
9592 | 9592 | | |
9593 | 9593 | | |
9594 | 9594 | | |
9595 | | - | |
| 9595 | + | |
9596 | 9596 | | |
9597 | 9597 | | |
9598 | 9598 | | |
9599 | 9599 | | |
9600 | | - | |
| 9600 | + | |
9601 | 9601 | | |
9602 | 9602 | | |
9603 | 9603 | | |
9604 | 9604 | | |
9605 | | - | |
| 9605 | + | |
9606 | 9606 | | |
9607 | 9607 | | |
9608 | 9608 | | |
9609 | 9609 | | |
9610 | | - | |
| 9610 | + | |
9611 | 9611 | | |
9612 | 9612 | | |
9613 | 9613 | | |
9614 | 9614 | | |
9615 | | - | |
9616 | | - | |
| 9615 | + | |
| 9616 | + | |
9617 | 9617 | | |
9618 | 9618 | | |
9619 | 9619 | | |
| |||
9632 | 9632 | | |
9633 | 9633 | | |
9634 | 9634 | | |
9635 | | - | |
| 9635 | + | |
9636 | 9636 | | |
9637 | 9637 | | |
9638 | 9638 | | |
9639 | 9639 | | |
9640 | | - | |
| 9640 | + | |
9641 | 9641 | | |
9642 | 9642 | | |
9643 | 9643 | | |
9644 | 9644 | | |
9645 | | - | |
| 9645 | + | |
9646 | 9646 | | |
9647 | 9647 | | |
9648 | 9648 | | |
9649 | 9649 | | |
9650 | | - | |
| 9650 | + | |
9651 | 9651 | | |
9652 | 9652 | | |
9653 | 9653 | | |
9654 | 9654 | | |
9655 | | - | |
| 9655 | + | |
9656 | 9656 | | |
9657 | 9657 | | |
9658 | 9658 | | |
9659 | 9659 | | |
9660 | | - | |
| 9660 | + | |
9661 | 9661 | | |
9662 | 9662 | | |
9663 | 9663 | | |
9664 | 9664 | | |
9665 | | - | |
| 9665 | + | |
9666 | 9666 | | |
9667 | 9667 | | |
9668 | 9668 | | |
9669 | 9669 | | |
9670 | | - | |
| 9670 | + | |
9671 | 9671 | | |
9672 | 9672 | | |
9673 | 9673 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2516 | 2516 | | |
2517 | 2517 | | |
2518 | 2518 | | |
2519 | | - | |
| 2519 | + | |
2520 | 2520 | | |
2521 | 2521 | | |
2522 | 2522 | | |
2523 | 2523 | | |
2524 | | - | |
| 2524 | + | |
2525 | 2525 | | |
2526 | 2526 | | |
2527 | 2527 | | |
| |||
2558 | 2558 | | |
2559 | 2559 | | |
2560 | 2560 | | |
2561 | | - | |
2562 | | - | |
| 2561 | + | |
| 2562 | + | |
2563 | 2563 | | |
2564 | 2564 | | |
2565 | 2565 | | |
| |||
2569 | 2569 | | |
2570 | 2570 | | |
2571 | 2571 | | |
2572 | | - | |
| 2572 | + | |
2573 | 2573 | | |
2574 | 2574 | | |
2575 | 2575 | | |
| |||
2587 | 2587 | | |
2588 | 2588 | | |
2589 | 2589 | | |
2590 | | - | |
| 2590 | + | |
2591 | 2591 | | |
2592 | 2592 | | |
2593 | 2593 | | |
| |||
2598 | 2598 | | |
2599 | 2599 | | |
2600 | 2600 | | |
2601 | | - | |
| 2601 | + | |
2602 | 2602 | | |
2603 | 2603 | | |
2604 | 2604 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
38 | 42 | | |
39 | | - | |
40 | 43 | | |
41 | 44 | | |
42 | | - | |
| 45 | + | |
43 | 46 | | |
44 | 47 | | |
45 | 48 | | |
46 | | - | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
50 | 53 | | |
51 | 54 | | |
52 | 55 | | |
53 | | - | |
54 | | - | |
| 56 | + | |
| 57 | + | |
55 | 58 | | |
56 | 59 | | |
57 | 60 | | |
58 | 61 | | |
59 | | - | |
| 62 | + | |
60 | 63 | | |
61 | 64 | | |
62 | 65 | | |
63 | | - | |
| 66 | + | |
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
| |||
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
91 | | - | |
| 94 | + | |
92 | 95 | | |
93 | 96 | | |
94 | 97 | | |
95 | 98 | | |
96 | 99 | | |
97 | | - | |
| 100 | + | |
98 | 101 | | |
99 | 102 | | |
100 | 103 | | |
| |||
109 | 112 | | |
110 | 113 | | |
111 | 114 | | |
112 | | - | |
| 115 | + | |
113 | 116 | | |
114 | 117 | | |
115 | 118 | | |
116 | 119 | | |
117 | 120 | | |
118 | | - | |
| 121 | + | |
119 | 122 | | |
120 | 123 | | |
121 | 124 | | |
122 | 125 | | |
123 | | - | |
124 | | - | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
125 | 131 | | |
126 | 132 | | |
127 | 133 | | |
| |||
142 | 148 | | |
143 | 149 | | |
144 | 150 | | |
145 | | - | |
| 151 | + | |
146 | 152 | | |
147 | 153 | | |
148 | 154 | | |
| |||
0 commit comments