罫線(hr)
罫線(hr)のバリエーションを考える。_block-styles.scss
に定義していく。
markdown では、
------
とか、
*****************
とか
書くと罫線(hr)になる。色と太さとスタイルを変えられるようにしてみる。
色変更
hr
の色はbackground
属性を変更することでできる。{: .none}
で透明化できるようにした。bg-xxxx
でxxxx
に適当な(WEB標準140色で定義された)色名を付けると、背景色を変えられるようにした。
さきほどの線に他の色を付けてみる。ちょっとわずらわしいのだが、-----------
の下にクラス指定を書かないと反映されない。
[sample markdown]
-----------------------------------------
{: .bg-palegreen}
[palegreen]
[royalblue]
[olivedrab]
[orange]
[deeppink]
太さ変更
hrタグの太さは特殊でheight
で指定する。height のクラス.ht-Xpx
をつくってみた。
.ht-1px
で太さ1px
。そんなにバリエーションは要らないだろう。
height の指定は前の項目で作った.ht-Xpx
クラスで罫線に特化したものではないので、高さ123px の線(それ面?)なんてできてしまうが、普通は1px
から10px
まであれば十分。
[markdown]
-----------------------------------------
{: .bg-gray .ht-1px}
[height 1px]
[height 2px]
[height 3px]
[height 4px]
[height 5px]
[height 6px]
[height 7px]
[height 8px]
[height 9px]
[height 10px]
罫線のスタイル変更
hr のスタイル変更は特殊。hr要素って線というより実は面だから。
やり方はまた他のエレメントで説明するが、CSS変数を使ってborder-top: Xpx style color
の形の設定を渡している。
inset
とoutset
については設定はできるが効果がないので省略。
[default: 1px solid gray]
[solid]
[dotted]
[dashed]
[double]
[groove]
[ridge]
dashed
を例に markdown を載せておく。
[markdown]
------------------------------------------------
{: .hr-style .bg-transparent style="--hr-style:3px dashed palegreen" }
背景を.bg-transparent
せずに色を指定するとこういう罫線にもなる。
まあこの程度のことなら{: style="border:8px dashed lime"}
などとALDs
に直接CSS指定を書いても同じでバカバカしい(いやそのほうがちょっとだけ短い(笑))けど、このCSS変数を渡すやり方が表組みなど複雑な指定で使えるようになるので、知っていて損はないと思う。
.hr.dashed
などとしてスタイル指定の個々のクラスを作ってもよいが、さほど使わないだろうし、そこでまた太さや色を合わせて指定するぐらいなら一括指定できれば十分。
実は後で作る.border
クラスの機能を hr に使えば同じようなことができる。
.border
を単純に使うと面に対する周囲の線に設定するので、こういう変な罫線になる。専用の.hr-style
クラスを使うほうが早い。
ただ.border
クラスは、CSS変数を使わずにクラス名だけで指定する方法があるので、トップのボーダーにだけスタイルを指定するなどの hr 特有のことがわかっていれば同じことができる。ただ、一度ボーダーの太さを全て0にしてトップボーダーだけ太さ指定しなおすなど、指定するのがかなり面倒。
[markdown]
---------------------------------------------
{: .bg-transparent .border.bdr-wd-0px.bdr-twd-3px.dashed.bdr-color-lime }