ホームページ >ウェブフロントエンド >CSSチュートリアル >チートシート付きのCSS論理プロパティの完全なガイド
自分で論理的なプロパティを使用しないことを選択したとしても、ますます多くのWebサイトとオンラインデモのコードに表示され始めているため、それらに慣れることをお勧めします。 たとえば、
これに出くわすかもしれません:
CSSの論理的特性に精通していない限り、それはおそらくあなたにとってそれほど意味はありません。読み進めたら、すぐに論理的な財産忍者になります!
<span>p { </span> <span>margin-block-start: 1em; </span><span>} </span>便利な論理プロパティPDFチートシートをダウンロードします
キーテイクアウト
CSS論理プロパティは、コンピューター画面の物理的寸法の代わりにテキストの方向に基づいて、幅、高さ、パディング、マージン、境界などのプロパティを宣言する新しい方法を提供します。
いくつかの言語は、英語など、左から右に実行されます。他の人はアラビア語のように右から左に走ります。他の人は時々日本のように上から下に走ります。多くのウェブサイトには、英語、アラビア語、中国語のBBCのニュースサイト、または英語、アラビア語、中国語のアルジャジーラのサイトなど、さまざまな言語の複数のバージョンがあります。 テキストの方向にリンクされたスタイルには、テキストの方向の変更に適応し、サイトのすべてのバージョンに適用できるため、多くの利点があります。
テキストの方向性を理解
htmlにはdir属性があります。これは、テキストがページ全体で左から右に実行されるか(dir = "ltr")、右から左(dir = "rtl")、またはブラウザが独自の心を補うべきかどうかを指定します。使用されている言語に基づいています(dir = "auto")。 dir属性は、ドキュメント全体(ドキュメント全体が同じ言語を使用する場合の標準)または個々の要素に適用できます。
HTMLでdir属性を使用する代わりに、CSSの方向プロパティを使用できます。左から右へのテキストを指定するには、方向:LTR、および左から左へのテキストを使用するには、方向を使用します。RTL。
HTMLまたはCSSでテキストの方向を設定するかどうかは本当に問題ではありませんが、HTMLでdir属性を使用することをお勧めします。シート。
CSSを使用して、テキストが上から下に実行されることを指定することもできます。左から右に実行される垂直テキストの場合、ライティングモード:Vertical-LRを使用し、右から左に実行される垂直テキストでは、ライティングモード:Vertical-RLを使用します。 (垂直テキストにはdirオプションはありません。)
この記事では、物理的および論理的なCSSプロパティの効果を比較する一連のデモを見ていきます。これらのデモは、絵文字で構成される段落を使用してテキストの方向を示しています。下のペンには、絵文字の文を含む4つのボックスがあります。 1つ目は、dir = "ltr"(ブラウザのデフォルト)に設定され、2番目はdir = "rtl"、3番目のwriting-mode:vertical-lr、4番目のwrite-mode:vertical-rlに設定されます。
ペンを参照してください 論理プロパティ:SitePointによるテキストの方向(@SitePoint) Codepenで。
このデモでは、テキスト方向の設定が段落の文字の順序にどのように影響するかを見ることができます。脇には、上記のデモで行がうまく並んでいる方法をご覧ください。これは、CSSグリッドの新しいサブグリッド値のおかげです。最近のクイックチップで行をサブグリッドと並べる方法を取り上げました。 CSSのブロックとインラインの理解
CSSが成長して発展するにつれて、画面上で左、右、上下に、コンテンツの流れに焦点が合っています。たとえば、FlexBoxのメイン軸と交差軸に精通している場合があります。これは、グリッドコンテンツの方向と同様に、テキストが流れる方向によって異なります。左から右に実行される段落の場合、このように、インライン方向は左/右であり、ブロック方向は上/下にあります。
論理プロパティは、ブロックとインラインの寸法の観点から設定されており、テキストの方向が変化するにつれて自動的に交換されます。これにより、物理的特性よりもはるかに適応性がありますインラインの開始と終了は、ブロック方向の開始と終了と同様に、テキストが始まる場所と終了によって決定されます。
多言語サイトのみの論理プロパティは?
です
論理プロパティは、すべてのWebサイトに役立ちます。単一言語のウェブサイトが論理的なプロパティを使用することで利益を得る可能性がある状況はたくさんあります。たとえば、
メディアまたはコンテナクエリを使用しながら、要素のテキスト方向を変更することに気付くかもしれません。左の赤い境界線の見出しを想像してみてください。小さな画面では、次の段落の上に見出しが水平になる可能性があります。広い画面では、見出しを垂直に表示するように設定する場合があります。下の画像は、左の左を使用した場合に何が起こるかを示しています。
これは、論理的な特性を使用すると、さまざまなシナリオに追加のCSSを追加することなく、レイアウトが変化に適していることを示しています。
これに加えて、論理的なプロパティは、複数の言語で作業するかどうかにかかわらず、CSSコーディングをすべての人にとってより効率的にするのに役立つ多くの有用な速記を提供していることもわかります。
以下のデモでは、最初の行の段落に80pxのブロックサイズが与えられています。いずれの場合も、80pxはどちらの場合でもブロック方向に設定されます。
これを段落の2行目と比較してください。これは、それぞれ高さ80pxに設定されています。いずれの場合も、高さは画面に関連して設定されています。ペンを参照してください 論理的プロパティ:SitePointによるサイズ(幅と高さ)(@SitePoint) Codepenで。
その他のサイズのプロパティは次のとおりです
max-inline-size
min-inline-size
左から右への言語の場合、マージンインラインスタート:40pxは、テキストの開始時にマージンを適用します(画面の左側)。右から左の言語に適用すると、そのマージンは画面の右側に表示されます。垂直テキストの場合、下のデモに示すように、マージンが上部に表示されます。 最初の行の各段落に適用されたマージンインラインスタートの効果と、左の左側の40pxが適用されます。 ペンを参照してください 論理プロパティ:SitePointによるマージン(@SitePoint) Codepenで。
マージンインラインエンド
マージンブロックスタート
マージンブロックエンド
マージンインライン
マージンブロック
左から右への言語の場合、パディングブロックスタート:40pxはテキストの上部(画面の上部)にパディングを適用します。右から左の言語に適用すると、そのパディングも画面の上部に表示されます。垂直テキストの場合、パディングは水平方向に応じて、左または右に表示されます。
1列目のパディングブロックスタートの効果を、下のデモの2列目の各段落に40pxを適用したパディングトップと比較してください。ペンを参照してください 論理的プロパティ:SitePointによるパディング(@SitePoint) Codepenで。
その他のパディングの特性には以下が含まれます
パディングインラインスタート
inset(位置付け要素)
非常に便利な挿入物プロパティに出会いましたか?要素の配置に使用されます(ポジション:Absoluteを使用している場合など)。たとえば、挿入図:0は上部の速記です:0;右:0;下:0;左:0;。 絵文字デモでこれを試してみましょう。含まれるdivは、相対的な位置に設定されており、段落は位置に設定されています:絶対に。最初の行の段落は、インセットブロックエンド:30pxに設定されていますが、2列目の段落は物理的に下部に設定されています。
ペンを参照してください 論理プロパティ:SitePointによる挿入図(@SitePoint) Codepenで。が含まれます
inset-block-start
inset-block
inset-inline-start
境界線は、幅(境界の厚さ)、スタイル(固体、点線など)、色の3つの値が含まれるため、もう少し関与しています。
ボーダーインラインスタート:5pxの固体赤を段落に適用したときに何が起こるかを見てみましょう。それをボーダー左と比較してください。ペンを参照してください 論理的プロパティ:SitePointによるボーダー(@SitePoint) Codepenで。
境界線のその他の論理的特性は次のとおりです
border-inline-end
border-block-start-width
border-block-end-width
border-block-end-style
border-block-end-color
ボーダーラジウスプロパティを使用して、要素のすべての角に境界半径を設定できます。物理的特性を持つ個々の角をターゲットにしている場合、まず、要素の上部か下部か、次に要素の左または右側にあるかどうかを検討します。したがって、左上隅は、ボーダートップレフトラジウスで指定されています 論理的プロパティで境界半径を設定する場合、上部/下左/右ではなく、ブロック[start/end] -inline [start-end]。について考える必要があります。
つまり、特定のコーナーに適したプロパティを選択するには、要素のブロック方向の開始か終わりか、要素のインライン方向の開始または終了時かどうかを自問する必要があります。中央のオプション:<span>p { </span> <span>margin-block-start: 1em; </span><span>} </span>次のデモの最初の行では、ブロックの開始時に20pxの境界半径を設定し、Border-Start-Start-Radiusでインラインのテキストの方向を設定しています。それを2列目のBorder-Top-Left-Radiusと比較してください
ペンを参照してください 論理プロパティ:SitePointによるボーダー半径(@SitePoint) Codepenで。
ここには特別な速記はありませんので、2つのコーナーを丸くしたい場合は、次のようなことをする必要があります。
まあ! (こちらのデモを参照してください。)
-start-start- -end-start- -start-end- -end-end-
すべての境界半径オプションとブラウザーサポート情報については、チートシートを参照してください。 Border Radiusの論理プロパティがブラウザによってサポートされるまでに時間がかかりましたが、サポートは最新のブラウザで優れています。
フローティングとクリアフロートとクリアの論理的プロパティは、要素をフロートしてクリアする方法のための新しいオプションを提供します。論理的なプロパティの前に、唯一のオプションはフロートでした:左とフロート:右、クリア:左、クリア:右。テキストが垂直であった場合、テキストと同じ方向に浮かぶオプションはありませんでした。 論理的なプロパティを使用して、インラインスタートとインラインエンドのおかげで、テキストのインラインフローに関連してフローティングとクリアを特に実行できるようになりました。 以下のデモでは、2列目に残っている物理値と比較して、スパン要素が論理値インラインスタートで浮かびます。 ペンを参照してください 論理プロパティ:SitePointによるフロート(@SitePoint) Codepenで。
はクリアのための論理的な選択肢は必要ありません。両方がすでに両方のインライン方向にクリアされているためです。これは非常に論理的です!
テキストアライメント左、右、中央、正当化などのテキストアライメント値が既にあります。現在、2つの論理値が追加されています。開始と終了です。それらを使用して、インライン軸に沿ってテキストを調整することができます。
以下のデモでは、最初の行の段落は、テキストアライメント:終了に設定されています。ご覧のとおり、絵文字はすべてインライン軸の遠端に押し込まれています。
ペンを参照してください 論理的プロパティ:SitePointによるテキストアライメント(@SitePoint) Codepenで。
チートシートは、さまざまなテキストの指示で動作するために開始値と終了値を適用する方法を示しています。 sesizing
下のデモは、sezize:inline and resize:horizontalの違いを示しています。 (ドラッグできる各ボックスの右下隅に小さなサイズのハンドルがあります。)
ペンを参照してください 論理プロパティ:SitePointによるサイズ(@SitePoint) Codepenで。
(上記のデモでは、右から左へのボックスのサイズ変更は少しワイルドです。Dir= "rtl"はドキュメント全体に適用されていませんが、div。
オーバーフローオーバーフローXとオーバーフロー-Yの物理的特性には、オーバーフローインラインとオーバーフローブロックの論理的補体があります。 執筆時点でこれらの新しいプロパティに対するサポートはほとんどないことに注意してください(2024年4月)。
オーバークロールbehavior
オーバークロールビハビオールプロパティは、あふれる要素スクロールを洗練する新しいものです。ここでは掘り下げませんが、MDNで詳細を読むことができます。 これらのプロパティの論理バージョンと物理的なものがあると言うだけで十分です。たとえば、左から右への言語のオーバークロールbehavior-Xは、過剰なbehaviorインラインなどに置き換えることができます。 (例の完全なリストについては、チートシートを参照してください。)
ブラウザサポート古いブラウザは最初の宣言を使用し、新しいブラウザは2番目の宣言を使用します。
しかし、スタイルシート全体でこのようなコードを複製するのは退屈なので、古いブラウザを本当に心配しているなら、おそらく今のところ論理的なプロパティを簡単に進めるでしょう。
Caniuseには論理的なプロパティサポートの概要があり、チートシートの各セクションには特定のプロパティをサポートするリンクもあります。ほとんど>カバーしています。 (キャプション側とサイズの封じ込めの論理プロパティをさらにチェックすることもできます。 他に何もなければ、今のところそれらを使用しないことを選択したとしても、論理的特性とそれらの使用方法を理解する価値があります。少なくとも、ウェブ全体に表示されている新しいCSS論理プロパティコードがわかります。
多言語サイトで作業していなくても、論理的なプロパティは利点を提供します。マージンインラインのようなさまざまな速記は非常に便利であり、キットに入れるのに最適なツールです。この記事を正しく読んだことがある場合は、どこに表示されていても論理的なプロパティを認識できるはずです。 (これらのブロックとインラインのキーワードを探してください!)CSSで時々使用するのに十分な自信を持っていることを願っています。
便利な論理プロパティPDFチートシートをダウンロードすることを忘れないでください。以上がチートシート付きのCSS論理プロパティの完全なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。