CSS値関数
Yamada UIは、CSS値関数をより便利にした様々な関数を提供しています。
関数の引数は、テーマのトークンを参照することができます。
計算・比較
Yamada UIは、CSSの計算・比較関数をより便利にした関数を提供しています。
calc
CSSのcalcを使用して、テーマのトークンを参照・計算することができます。
テーマのトークンを使用せず、CSSのcalc
同様に数値だけの計算も可能です。
編集可能な例
<Center w="calc(lg / 2)" bg="primary" p="md" rounded="md" color="white"> Calc </Center>
また、テーマのspacesのトークンのように数値がトークン名の場合は、$
(インターポレーション)を使用して参照します。
編集可能な例
<Center w="calc(2xs + $spaces.2)" bg="secondary" p="md" rounded="md" color="white" > Use "$" </Center>
min
CSSのminを使用して、渡された引数の中から最小の値を設定します。
引数が1つの場合は、2つ目に"100%"
が設定されます。
編集可能な例
<VStack> <Center w="min(100%, lg)" bg="primary" p="md" rounded="md" color="white"> Min </Center> <Center w="min(md)" bg="secondary" p="md" rounded="md" color="white"> Omitted Min </Center> </VStack>
max
CSSのmaxを使用して、渡された引数の中から最大の値を設定します。
引数が1つの場合は、2つ目に"100%"
が設定されます。
編集可能な例
<VStack> <Center w="max(100%, 2xs)" bg="primary" p="md" rounded="md" color="white"> Max </Center> <Center w="max(xs)" bg="secondary" p="md" rounded="md" color="white"> Omitted Max </Center> </VStack>
clamp
CSSのclampを使用して、値を上限と下限の間に制御します。
引数が2つの場合は、推奨値は"100%"
が設定されます。
編集可能な例
<VStack> <Center w="clamp(xs, 100%, sm)" bg="primary" p="md" rounded="md" color="white" > Clamp </Center> <Center w="clamp(xs, sm)" bg="secondary" p="md" rounded="md" color="white"> Omitted Clamp </Center> </VStack>
カラー
Yamada UIは、簡単に色と色を混ぜたり、色を明るく、暗くする関数を提供しています。
mix
CSSのcolor-mixを使用して、色同士を混合することができます。
引数は、2つまたは3つを指定することができます。メソッドは省略することができ、デフォルトはin srgb
です。
編集可能な例
<Center bg="mix(red.500, blue.500)" w="full" height="xs" p="md" rounded="md" color="white" > "in srgb" + "red.500" + "blue.500" </Center>
パーセンテージを指定することで、割合を変更できます。
編集可能な例
<Center bg="mix(in lab, orange.500 80%, purple.500 20%)" w="full" height="xs" p="md" rounded="md" color="white" > "in lab" + "orange.500 80%" + "purple.500 20%" </Center>
パーセンテージは、両方合わせて100%
になるようにします。
tint
mixを使用して、指定した色に#FFFFFF
を混ぜて、色を明るくすることができます。
編集可能な例
<Center bg="tint(purple.500, 50%)" w="full" height="xs" p="md" rounded="md" color="white" > Tint color </Center>
shade
mixを使用して、指定した色に#000000
を混ぜて、色を暗くすることができます。
編集可能な例
<Center bg="shade(yellow.500, 50%)" w="full" height="xs" p="md" rounded="md" color="white" > Shade color </Center>
transparentize
mixを使用して、指定した色にtransparent
を混ぜて、色を透明にすることができます。
編集可能な例
<Center bg="transparentize(red.500, 50%)" w="full" height="xs" p="md" rounded="md" color="white" > Transparentize color </Center>
tone
mixを使用して、指定した色とトーンに基づいて、色を作成することができます。
編集可能な例
<VStack> {TONES.map((tone) => ( <Center key={tone} bg={`tone(purple.500, ${tone})`} w="full" height="5xs" p="md" rounded="md" color="white" > <Text color={`tone(purple.500, ${tone})`} as="span" filter="invert(100%) grayscale(100%) contrast(100)" > Tone {tone} </Text> </Center> ))} </VStack>
グラデーション
Yamada UIは、簡単にグラデーションを作成する関数を提供しています。
グラデーションを追加するには、bgGradient
に関数と値を設定します。
linear(
, , ) radial(
, )
repeating-linear
やconic
など、他のCSSのグラデーション関数も使用することもできます。
には、ショートハンドも用意されています。
{'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',}
編集可能な例
<Box w="full" h="xs" bgGradient="linear(to-r, purple.500, blue.400)" />
色のカスタマイズ
APIは、色のトークンやCSSの色の値の両方を使用できます。
編集可能な例
<Box w="full" h="xs" bgGradient="linear(to-r, #59a9e1, #f37bdf)" />
グラデーションのトークン
グラデーションのトークンは、テーマに定義することができます。
import { ThemeTokens } from "@yamada-ui/react"export const gradients: ThemeTokens = {blue: "linear(to-r, #132293, #2375b4)",}
編集可能な例
<Box w="full" h="xs" bgGradient="blue" />
デフォルトのテーマには、グラデーションのトークンは定義されていません。グラデーションのトークンを使用する場合は、テーマをカスタマイズするをご覧ください。
テキストのグラデーション
テキストのグラデーションを追加するには、bgGradient
とbgClip
にtext
を設定します。
編集可能な例
<Heading size="2xl" bgGradient="linear(to-r, orange.400, red.500)" bgClip="text" isTruncated > クリリンのことか……クリリンのことかーーーっ!!!!! </Heading>
レスポンシブなグラデーション
bgGradient
にオブジェクトを渡すことでレスポンシブスタイルに対応します。
編集可能な例
<Box w="full" h="xs" bgGradient={{ base: "linear(to-tr, teal.300, yellow.400)", lg: "linear(to-t, blue.200, teal.500)", md: "linear(to-b, orange.100, purple.300)", }} />
レスポンシブスタイルをもっと学びたい場合は、こちらをご覧ください。
GitHubでこのページを編集する