Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9004

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

$
0
0

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


Viewing all articles
Browse latest Browse all 9004

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>