--- title: CSS Value Functions description: "Yamada UI provides various functions that make CSS value functions more convenient." --- :::note Function arguments can reference tokens from the [theme](https://yamada-ui.com/docs/theming.md). ::: ## Calculation & Comparison Yamada UI provides functions that make CSS calculation and comparison functions more convenient. ### calc You can use CSS's [calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc) to reference and calculate tokens from the [theme](https://yamada-ui.com/docs/theming.md). ```tsx
Calc
``` ```tsx
Use interpolated token
``` :::warning If the token name is a number, such as the [spaces](https://yamada-ui.com/docs/theming/tokens/spaces.md) tokens in the [theme](https://yamada-ui.com/docs/theming.md), reference it using `{}` (see [interpolation](https://yamada-ui.com/docs/styling/interpolation.md)). ::: ### min Use CSS's [min](https://developer.mozilla.org/en-US/docs/Web/CSS/min) to set the smallest value from the given arguments. If there is only one argument, a second value of `"100%"` is set. ```tsx
Min
Omitted Min
``` ### max Use CSS's [max](https://developer.mozilla.org/en-US/docs/Web/CSS/max) to set the largest value from the given arguments. If there is only one argument, a second value of `"100%"` is set. ```tsx
Max
Omitted Max
``` ### clamp Use CSS's [clamp](https://developer.mozilla.org/en-US/docs/Web/CSS/clamp) to constrain a value between an upper and lower bound. If there are two arguments, a recommended value of `"100%"` is set. ```tsx
Clamp
Omitted Clamp
``` ## Color Yamada UI provides functions that easily mix colors together, lighten, and darken colors. ### mix Use CSS's [color-mix](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix) to mix colors together. You can specify two or three arguments. The [method](https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation-method) can be omitted, and the default is `in srgb`. ```tsx
"in srgb" + "red.500" + "blue.500"
``` You can change the ratio by specifying a percentage. ```tsx
"in lab" + "orange.500 80%" + "purple.500 20%"
``` :::warning Make sure the percentages add up to `100%`. ::: ### tint Use [mix](#mix) to lighten a color by mixing it with `#FFFFFF`. ```tsx
Tint color
``` ### shade Use [mix](#mix) to darken a color by mixing it with `#000000`. ```tsx
Shade color
``` ### transparentize Use [mix](#mix) to make a color transparent by mixing it with `transparent`. A shorthand notation like `bg="red.500 / 50"` is also available. ```tsx
Transparentize color
``` ### tone Use [mix](#mix) to create a color based on a specified color and tone. ```tsx preview {TONES.map((tone) => (
Tone {tone}
))}
``` ## Gradient Yamada UI provides functions that easily create gradients. To add a gradient, set functions and values to `bgGradient`. - `linear(, , )` - `radial(, )` You can also use other CSS gradient functions like `repeating-linear` or `conic`. Shortcuts are available for ``. ```ts { 'to-t': 'to top', 'to-tr': 'to top right', 'to-r': 'to right', 'to-br': 'to bottom right', 'to-b': 'to bottom', 'to-bl': 'to bottom left', 'to-l': 'to left', 'to-tl': 'to top left', } ``` ```tsx ``` ### Customize Colors You can use both theme [tokens](https://yamada-ui.com/docs/theming/tokens/colors.md) and [CSS color values](https://developer.mozilla.org/en-US/docs/Web/CSS/color). ```tsx ``` ### Text Gradient To add a gradient to text, set `bgGradient` and `bgClip` to `text`. ```tsx クリリンのことか……クリリンのことかーーーっ!!!!! ```