Border

CSS変数でスタイルをアレンジするやり方が分かったので、ボーダー値の変更に応用してみる。 この設定も_block-style.scssに追加すればいいと思う。

.border クラス

単に.borderクラスだけを指定するとデフォルト値のボーダーが付く。1px solid #cdcdcdになる。

[markdown]

Box with Border
{: .border .pad-10px .wd-30 .text.align-c}

Box with Border


.border-none クラス

ボーダーをなしにするクラス。

[markdown]

Box no border
{: .border-none .pad-10px .wd-30 .text.align-c}

Box no border


–bdr-set CSS変数

さらに--bdr-setCSS変数で一括指定

[markdown]

Box with Border Set
{: .border .pad-10x20 .wd-30 .text.align-c}
{: style="--bdr-set:8px double lime;"}

Box with Border Set


Border 属性の個別指定

.bdr-widthボーダーの太さ、.bdr-styleスタイル、.border-color色、.bdr-radで角丸、それぞれ個別に指定するクラスを作った。ただしこの3種でボーダーを表示するためにはデフォルトクラス.borderが必要。

ボーダーの太さ

.bdr-width

.bdr-widthはボーダーの太さ指定。 --bdr-widthで太さを指定する。数値を省略した場合はデフォルトの 1px。

上下に2px、左右に6pxを指定した例。

[markdown]

Box with 2x6px Border
{: .border .bdr-width .pad-10x20 .wd-30 .text.align-c}
{: style="--bdr-width: 2px 6px;"}

Box with 2x6px Border


.bwd-wd-Xpx

.bdr-wd-2pxといった形でクラス名だけでボーダーの太さを指定する方法。1〜10pxまで対応。ただし.bdr-widthを使う方法と違って縦横の巾を変えたりはできない。

.border.bdr-wd-10pxを指定した例。

Box with 5px Border


ボーダーのスタイル

.bdr-style

.bdr-styleボーダーのスタイル。省略時のデフォルトは solid

[markdown]

Box with Dashed & Solid Border
{: .border .bdr-style .bdr-width .pad-10x20 .wd-40 .text.align-c}
{: style="--bdr-style:dashed solid; --bdr-width: 3px"}

Box with Dashed & Solid Border


.styleName

スタイル名を直接指定する方法。より簡単。ただし.bdr-styleを使う方法と違って縦横別のスタイルにしたりはできない。

.border.dashedの例。

[markdown]

Box with Dashed Border
{: .border.dashed .bdr-wd-3px .pad-10x20 .wd-40 .text.align-c}

Box with Dashed Border


ボーダーの色

.bdr-color

.bdr-colorボーダーの色。省略時のデフォルトは明るいグレイ(#cdcdcd

[markdown]

Box with color Border
{: .border.bdr-wd-8px .bdr-color .pad-10x20 .wd-40 .text.align-c}
{: style="--bdr-color:red rgba(170, 50, 220, .6) green;"}

Box with color Border


.bdr-color-colorName

.bdr-color-色名で指定する簡単な方法。ただし.bdr-colorのような複雑な指定はできない。

[markdown]

Box with color Border
{: .border.bdr-wd-8px.bdr-color-springgreen .pad-10x20 .wd-40 .text.align-c}

Box with color Border


組合せ例

ボーダーの色がピンクで、スタイルがdashedの太いボーダー。 {: .border.bdr-wd-10px.dashed.bdr-color-hotpink}

Box with Pink Dashed Border

上の.dashedを省略してみたら、デフォルトの.solidになった。 {:.border.bdr-wd-10px.bdr-color-hotpink}

Box with Pink Solid Border

色も省略したもの。デフォルトのグレーになる {:.border.bdr-wd-10px}

Box with Default Gray Solid Border, Width:10px


各辺の個別の太さ

.bdr-lwd, rwd, twd, bwd

左辺の太さ: .bdr-lwd
右辺の太さ: .bdr-rwd
上辺の太さ: .bdr-twd
下辺の太さ: .bdr-bwd


左右だけ10px, 上下は2px。CSSの指定と同じで後からの指定が前の指定を上書きする。この場合はまず全体を太さ2pxにしてから、左右の太さを個別に指定。

[markdown]

Box with Border
{: .border .bdr-width .bdr-color .bdr-lwd .bdr-rwd .pad-10x20 .wd-40 .text.align-c}
{: style="--bdr-width:2px; --bdr-color:gold; --bdr-lwd:10px; --bdr-rwd:10px;"}

Box with Border


左右は3px, 上は15px, 下は10px

[markdown]

Box with Border
{: .border .bdr-width .bdr-color .bdr-twd .bdr-bwd .pad-10x20 .wd-40 .text.align-c}
{: style="--bdr-width:3px; --bdr-color:olivedrab; --bdr-twd:15px; --bdr-bwd:10px;"}

Box with Border


いったん全体のボーダー幅を0にして後で必要なボーダーだけ指定しなおせば、特定のボーダーだけ指定することになります。下辺だけ残した例。

[markdown]

Box with Bottom Border
{: .border .bdr-width .bdr-color .bdr-bwd .pad-b0 .wd-35 .text.align-c .wd-flex}
{: style="--bdr-width:0; --bdr-color:coral; --bdr-bwd:3px;"}

Box with Bottom Border


.bdr-twd-Xpx

でもだんだん複雑になって書き方が面倒です。なのでクラス名だけで縦横左右の太さを個別に指定するやり方も用意してます。

上記の.bdr-twdに数値指定をくっつけて.bdr-twd-5pxなどと指定するだけ。ただし1〜10pxまでの対応。

[markdown]

Box with Left & Bottom Border
{: .border.bdr-wd-0px.bdr-lwd-10px.bdr-bwd-2px.bdr-color-royalblue .pad-l12px.pad-b5px .wd-50 .text.align-l}

Box with Left & Bottom Border

上の例では、toprightのボーダーの太さを何も指定しないと、デフォルトの1pxになるので、一旦消すために.bdr-wd-0pxを先に指定している。これは.bdr-twd-0px.bdr-rwd-0pxと個別に消しても同じこと。


角丸のボーダー

.bdr-rad

.bdr-radで角丸、style="--bdr-rad:数値"で値指定。

[markdown]

Box with Border Radius
{: .border .bdr-width .bdr-color .bdr-rad .pad-10x20 .wd-40 .text.align-c}
{: style="--bdr-width:20px; --bdr-color:royalblue; --bdr-rad:35% 5%;"}

Box with Border Radius

.bdr-rad-Xpx

角丸の指定にも.bdr-rad-5pxなどとして、クラス名だけで指定する方法がある。1〜50pxまで対応。もちろん.bdr-radのほうが上記のような複雑な指定(css指定そのものなので)ができる。

Box with Border Radius 5px

Box with Border Radius 10px

Box with Border Radius 20px

Box with Border Radius 30px

Box with Border Radius 40px

Box with Border Radius 50px