-bd
This content is not available in your language yet.
Lismでは、border系の指定が少し特殊になっています。
全方向用の-bd
クラスと、特定の方向だけにボーダーを表示するための.-bd\:{side}
クラスがあります。
いずれも、細かなボーダースタイルは --bdc
, --bdw
, --bds
の3つの変数で管理します。
:where(.-bd,[class*='-bd:']) { --bds: solid; --bdw: 1px; --bdc: currentColor; --bd var(--bdw) var(--bds) var(--bdc);}.-bd { border-style: var(--bds); border-width: var(--bdw); border-color: var(--bdc);}.-bd\:l { border-left: var(--bd) }.-bd\:r { border-right: var(--bd) }.-bd\:t { border-top: var(--bd) }.-bd\:b { border-bottom: var(--bd) }// ...
これに合わせて、コンポーネントでも bd
, bdc
, bdw
, bds
がそれぞれ指定できるようになっており、bdc
, bdw
, bds
はCSS変数が出力されるようになっています。
また、bdw
はブレイクポイント指定も可能です。
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.
<Box bd bdc='red' bds='dashed' p='20'> <Dummy length='s'/></Box><Box bd='l' bdc='blue' bdw='0.4em' p='20'> <Dummy length='s'/></Box>
一方向だけのボーダー指定をしたい場合、.-bd
の派生クラスを使います。
<Box bd='l' px='10'>left</Box><Box bd='r' px='10'>right</Box><Box bd='t' p='10'>top</Box><Box bd='b' p='10'>bottom</Box>
<Box bd='is' p='10'>inline-start</Box><Box bd='ie' p='10'>inline-end</Box><Box bd='bs' p='10'>block-start</Box><Box bd='be' p='10'>block-end</Box>
コンポーネントでは、bd
の値を,
区切りで複数指定することで複数のクラスを出力できます。
,
区切りで複数指定<Box bd='is,b' bdc='red' p='10'>inline-start, bottom</Box>
.-bd\
クラスが border-style
border-width
border-color
を分割指定していることにより、以下のようなボーダーを出力することもできます。
bdw
,bds
,bdc
それぞれの方向指定border
<Box bd bdw='0 0 1px .5em' bds='dashed solid' bdc='var(--purple) var(--blue)' p='20'> border</Box>
bdwをブレイクポイントで切り替える
Section titled “bdwをブレイクポイントで切り替える”bdw
は、ブレイクポイント指定に対応しています。
bd
の例<Box bd bdw={['1px','3px','6px']} p='20'>border</Box>
Box
Box
Box
Box
<Flex fxd={['column','row']} bd bdc='blue'> <Box fx='1' bd bdw={['0 0 1px 0','0 1px 0 0']} bdc='inherit' p='20'> Box </Box> <Box fx='1' bd bdw={['0 0 1px 0','0 1px 0 0']} bdc='inherit' p='20'> Box </Box> <Box fx='1' bd bdw={['0 0 1px 0','0 1px 0 0']} bdc='inherit' p='20'> Box </Box> <Box fx='1' p='20'> Box </Box></Flex>
任意のborder
をインライン出力する方法
Section titled “任意のborderをインライン出力する方法”bd
に直接値を指定することももちろん可能です。
bd
の例<Box bd='solid 1px #555' p='10'>border</Box>