枠線・角丸・影(-bd など)
枠線(-bd・-bd-t など)、線の種類・色・太さ(bds・bdc・bdw)、角丸(-bdrs)、影(-bxsh)のクラスをまとめて引けます。
箱のまわりに線を引く、角を丸くする、影を付ける。この3つを受け持つ Property Class(- で始まる、CSS の1つの性質を決めるクラス)をまとめたページです。線は -bd、角丸は -bdrs、影は -bxsh が中心になります。
どんなときに使う?#
- カードやボックスの外側に、うすい線を引きたいとき(
-bd) - 見出しの下だけ、左だけなど、1つの辺にだけ線を引きたいとき(
-bd-b・-bd-lなど) - ボタンや画像の角を丸くしたいとき(
-bdrs) - 箱を少し浮かせて見せたいとき(
-bxsh)
枠線を引く(-bd)#
-bd を付けると、4つの辺すべてに線が引かれます。bd は border(枠線)の略です。何も足さなければ、太さ 1px の実線で、色は区切り線の色(--divider)になります。
表示例
<div class="-bd -p:20">-bd だけを付けた箱</div>
線の見た目は、次の3つの CSS 変数(-- で始まる、あとから値を入れ替えられる入れ物)で決まります。
| 変数 | 決めること | 何もしないときの値 |
|---|---|---|
--bds |
線の種類(border-style) | solid(実線) |
--bdw |
線の太さ(border-width) | 1px |
--bdc |
線の色(border-color) | var(--divider) |
Lism の枠線は、ふつうの CSS の書き方と少し違います。線を「出す」のは -bd や -bd-t などのクラスで、種類・太さ・色は3つの変数で後から変えるしくみです。
線の種類・色・太さを変える#
種類と色には、決まった値のクラスがあります。太さにはクラスが無いので、style 属性で --bdw に値を入れます。
| Shorthand | 変えるもの | 用意されているクラスの値 |
|---|---|---|
bds |
--bds(線の種類) |
dashed(破線)・dotted(点)・double(二重線) |
bdc |
--bdc(線の色) |
brand・accent・divider・keycolor・inherit・transparent・current |
bdw |
--bdw(線の太さ) |
クラスは無し。ブレイクポイント用の -bdw_sm などはある |
-bdc:current は、その要素の文字の色(currentColor)と同じ色の線になります。-bdc:keycolor は --keycolor 変数の色を使います。
表示例
<div class="l--stack -g:20">
<div class="-bd -bds:dashed -p:20">-bds:dashed</div>
<div class="-bd -bds:dotted -bdc:brand -p:20">-bds:dotted と -bdc:brand</div>
<div class="-bd -bds:double -p:20" style="--bdw: 4px">-bds:double と太さ 4px</div>
<div class="-bd -bdc:current -c -fz:l -fw:bold -p:20" style="--c: var(--purple)">-bdc:current(文字と同じ紫の線)</div>
</div>
--bdc には、style="--bdc: var(--red)" のように色のトークン(色のトークン)も入れられます。
1つの辺にだけ線を引く(-bd-{side})#
-bd- のあとに向きを付けると、その辺にだけ線が引かれます。上下左右(top・right・bottom・left)の決まった向きのほかに、文字を書く向きに合わせて変わる「論理方向」も選べます。
| クラス | 線を引く場所 | 対応する CSS |
|---|---|---|
-bd-t |
上 | border-top |
-bd-r |
右 | border-right |
-bd-b |
下 | border-bottom |
-bd-l |
左 | border-left |
-bd-x |
行の向きの両端(横書きなら左右) | border-inline |
-bd-y |
行が積まれる向きの両端(横書きなら上下) | border-block |
-bd-s |
行の始まり側(横書きなら左) | border-inline-start |
-bd-e |
行の終わり側(横書きなら右) | border-inline-end |
-bd-bs |
ブロックの始まり側(横書きなら上) | border-block-start |
-bd-be |
ブロックの終わり側(横書きなら下) | border-block-end |
-bd:none |
線を消す | border: none |
表示例
<div class="l--stack -g:20">
<div class="-bd-t -px:10">-bd-t(上)</div>
<div class="-bd-b -px:10">-bd-b(下)</div>
<div class="-bd-s -px:10 -bgc:base-2" style="--bdw: 2px">-bd-s(行の始まり側)</div>
<div class="-bd-y -px:10 -bgc:base-2" style="--bdw: 2px">-bd-y(上下)</div>
</div>
-bd-{side} でも、太さ・種類・色は同じ3つの変数で変えられます。
辺ごとに違う線にする#
-bd を付けたうえで、--bdw・--bds・--bdc に辺ごとの値を空白で区切って入れると、辺ごとに違う線になります。並び順はふつうの CSS と同じ(上・右・下・左)です。
表示例
<div class="-bd -p:20" style="--bdw: 0 0 1px 0.5em; --bds: dashed solid; --bdc: var(--purple) var(--blue)">左が太く、下が点線</div>
上の例では、上と右の太さが 0 なので線は見えません。下は 1px、左は 0.5em になります。
画面の幅で太さを変える#
太さ(bdw)は、画面の幅で切り替えられます(画面の幅で切り替える(レスポンシブ))。-bdw_sm などのクラスと、--bdw_sm などの変数をセットで書きます。
表示例
<div class="-bd -bdw_sm -p:20" style="--bdw: 1px; --bdw_sm: 6px">せまいと 1px、広いと 6px</div>
この表示例は、スマートフォンでは 1px、広い画面(480px 以上)では 6px の線になります。
線の向きを切り替える#
太さの切り替えを使うと、線の向きも変えられます。せまい画面では縦に並べて上に線、広い画面では横に並べて左に線、という区切り方ができます。
表示例
<div class="l--flex -fxd:column -fxd_sm" style="--fxd_sm: row">
<div class="-px:20 -py:5">Box</div>
<div class="-px:20 -py:5 -bd-s -bd-bs -bdw_sm" style="--bdw: 1px 0; --bdw_sm: 0 1px">Box</div>
<div class="-px:20 -py:5 -bd-s -bd-bs -bdw_sm" style="--bdw: 1px 0; --bdw_sm: 0 1px">Box</div>
</div>
-bd-s と -bd-bs で、上と左の2辺に線を出せるようにしておきます。--bdw: 1px 0 は「上下 1px・左右 0」なので上の線だけが見え、--bdw_sm: 0 1px は「上下 0・左右 1px」なので左の線だけが見えます。
角を丸くする(-bdrs)#
-bdrs は border-radius(角の丸み)の略です。数字が大きいほど丸くなります。
| クラス | 丸みの大きさ |
|---|---|
-bdrs:0 |
0(角ばったまま) |
-bdrs:10 |
0.25rem |
-bdrs:20 |
0.375rem |
-bdrs:30 |
0.625rem |
-bdrs:40 |
1rem |
-bdrs:50 |
1.5rem |
-bdrs:99 |
99rem(両端が半円になる) |
-bdrs:inner |
親の丸みから余白を引いた大きさ |
表示例
<div class="l--cluster -g:10">
<div class="-bd -bdrs:10 -p:20">10</div>
<div class="-bd -bdrs:30 -p:20">30</div>
<div class="-bd -bdrs:50 -p:20">50</div>
<div class="-bd -bdrs:99 -px:30 -py:10">99</div>
</div>
-bdrs:inner の値は calc(var(--bdrs, 0px) - var(--p, 0px) + 1px) です。丸い箱の中に、もう1つ丸い箱を入れるときに使います。
表示例
<div class="-bd -bdrs:50 -p:10">
<div class="-bdrs:inner -bgc:base-2 -p:20">内側の箱</div>
</div>
-bdrs は画面の幅での切り替え(-bdrs_sm など)にも対応しています。値の一覧とトークンのしくみは デザイントークン にもあります。
1つの角だけ丸くする#
1つの角だけの丸みにも Shorthand があります。ただし決まった値のクラスは無いので、主に React・Astro のコンポーネント(bdrs-tl="20px" のような書き方)で使います。
| Shorthand | 角 | 対応する CSS |
|---|---|---|
bdrs-tl |
左上 | border-top-left-radius |
bdrs-tr |
右上 | border-top-right-radius |
bdrs-br |
右下 | border-bottom-right-radius |
bdrs-bl |
左下 | border-bottom-left-radius |
bdrs-ss |
ブロックの始まり・行の始まり | border-start-start-radius |
bdrs-se |
ブロックの始まり・行の終わり | border-start-end-radius |
bdrs-es |
ブロックの終わり・行の始まり | border-end-start-radius |
bdrs-ee |
ブロックの終わり・行の終わり | border-end-end-radius |
影を付ける(-bxsh)#
-bxsh は box-shadow(箱の影)の略です。数字が大きいほど、影が大きく広がり、箱が浮いて見えます。
| クラス | 影 |
|---|---|
-bxsh:0 |
影なし |
-bxsh:10 |
いちばん小さい影 |
-bxsh:20 |
小さい影 |
-bxsh:30 |
中くらいの影 |
-bxsh:40 |
大きい影 |
-bxsh:50 |
いちばん大きい影 |
表示例
<div class="l--stack -g:30 -p:20">
<div class="-bxsh:10 -bdrs:20 -p:20">-bxsh:10</div>
<div class="-bxsh:30 -bdrs:20 -p:20">-bxsh:30</div>
<div class="-bxsh:50 -bdrs:20 -p:20">-bxsh:50</div>
</div>
-bxsh も、画面の幅での切り替え(-bxsh_sm など)に対応しています。
React・Astro で書く場合#
コンポーネントでは、クラスの - を取った名前を Props として渡します。bdc・bdw・bds は CSS 変数として出力されます。
<Box bd bds="dashed" bdw="4px" bdc="red" p="15">
<p>テキスト</p>
</Box>
<Box bd-t px="10">上だけの線</Box>
<Box bd bdw={['1px', '3px', '6px']} p="15">太さが切り替わる</Box>
<Lism bxsh="20" bdrs="20" p="20" bd>Box</Lism>
コンポーネントの書き方は Lism コンポーネント(React・Astro) で説明しています。
関連するページ#
- Property Class の書き方:
-{prop}:{value}の形のきまり - 色のトークン:
--bdcに入れられる色 - デザイントークン(余白・角丸・影など):角丸と影の値
- マウスを乗せたとき(-hov):マウスを乗せたときに線の色や影を変える
公式ドキュメント
2026年10月5日時点の内容(lism-css 1.0.1・@lism-css/ui 0.40.1)をもとに、やさしい日本語でまとめています。