LoginSignup
0
0

More than 3 years have passed since last update.

知っておくと便利な論理プロパティ、ボックスモデルのこれからの方法

Last updated at Posted at 2020-04-23

CSSの論理プロパティにおける考え方CSSのボックスモデルについて説明する時、下記のような図がよく使用されている。
711ad00a1d94df7f330109c4c8f516d5.png

確かにこの図は当時の正しいもので、もちろん今でもそうだが、margin-left、padding-right、border-topのような物理プロパティは最後の日が来るかもしれない。
新しい論理プロパティを使い始めるには、left/rightやtop/bottomについて考えるのをやめて、それらをinline-start,inline-end, block-start、block-endに置き換える必要がある。
2019010502-03.png

インライン軸

英語を例にする。読む方向は左から始まり、右側で終わる。これはプロパティのインライン要素。「display: inline;」で配置された要素を考えた時、想像するのはとても簡単。各アイテムは行に沿って表示される。

例:padding-inline-startだと、言語が始まる側のpaddingになる。

・英語の場合
padding-inline-startは、padding-leftと同じ
・アラビア語の場合
padding-inline-startは、padding-rightと同じ
・日本語の場合
padding-inline-startは、padding-topと同じ

ブロック軸

topとbottomのプロパティだと、topがwebサイトの始まり、bottomが終わり。覚えておくのは非常に簡単。「display: block;」の要素が複数上から順に積み重なっていると想像してみる。

新しいボックスモデルのプロパティ

インラインとブロック軸をある程度理解したところで、新しいボックスモデルのプロパティを確認しておく。

英語の場合、プロパティは下記のようになる。

margin
・margin-block-start = margin-top
・margin-block-end = margin-bottom
・margin-inline-start = margin-left
・margin-inline-end = margin-right
padding
・padding-block-start = padding-top
・padding-block-end = padding-bottom
・padding-inline-start = padding-left
・padding-inline-end = padding-right
border
・border-block-start = border-top
・border-block-end = border-bottom
・border-inline-start = border-left
・border-inline-end = border-right

論理ディメンション

widthとheightのプロパティもこの新しい方法に合わせて対応する必要がある。インラインとプロパティ軸を理解したら、ディメンションを理解するのも簡単。英語では、widthプロパティはinline-sizeに、heightプロパティはblock-sizeに置き換える。

日本語のように上から下の言語の場合、逆になる。
 ・widthは、block-sizeに
 ・heightは、inline-sizeに
min/maxは、プロパティの開始時にmin/maxを追加するだけ。
 ・min-inline-size: 300px; max-block-size: 100px;2019010502-05.png

参考元:https://coliss.com/articles/build-websites/operation/css/new-css-logical-properties.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0