論理的プロパティは、物理的な方向(左/右/上/下)ではなく、コンテンツのフロー方向(開始/終了、インライン/ブロック)でレイアウトを記述します。これにより、単一のスタイルシートが右から左に書く言語(アラビア語、ヘブライ語)または上から下に書く言語に自動的に適応します。
なぜ重要なのか
物理的なプロパティでは、アラビア語をサポートするために、の背後に鏡像化されたスタイルのセット( → など)全体を書く必要があります。論理的プロパティでは、 — htmlでを設定すると、は自動的に右側に反転します。
[dir="rtl"]margin-leftmargin-rightdir="rtl"margin-inline-start<html dir="rtl"> <!-- the entire layout mirrors correctly, no CSS changes -->
論理的プロパティは、縦書きモード(例:東アジアのタイポグラフィ)も処理し、margin-inline: autoを方向に関係なく中央揃えするための清潔な方法にします。
/* ❌ physical — hard-codes "left", breaks in RTL languages */
.card { margin-left: 1rem; padding-right: 2rem; text-align: left; border-left: 2px solid; }
/* ✅ logical — follows the writing direction */
.card {
margin-inline-start: 1rem; /* "start" = left in LTR, RIGHT in RTL */
padding-inline-end: 2rem;
text-align: start;
border-inline-start: 2px solid;
}
margin-inline: 1rem; /* left + right in LTR (both inline sides) */
margin-block: 2rem; /* top + bottom */
margin-inline-start: 1rem; /* the "start" inline edge (left LTR / right RTL) */
padding-block-end: 1rem; /* bottom in horizontal writing */
inset-inline-start: 0; /* logical version of left/right for positioning */
複数の言語で配信されるすべての製品について、論理的プロパティは鏡像化されたRTLスタイルシートを維持する必要性を排除します — 単一のルールセットが書き方向に適応します。
LTRのみのサイトであっても、より清潔な思考モデル(開始/終了、インライン/ブロック)であり、最新のCSSで推奨される標準になりつつあります。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付する