を超えて以来、20年近くが過ぎており、当時のマルチコラムレイアウトモジュールを探りました。 更新された、自由に利用可能なオンラインバージョンCSSの転写 仕様ギャップ
これは真実のままです。
を使用してバックグラウンドカラーを交互にするなどの選択的スタイリングは不可能です。列のルールでは、バリエーション(破線、点線、固体、溝、尾根)が許可されていますが、ほぼ同時に導入されていることを考えると、:nth-column()
サポートが存在しないことが不可解です。 これらの欠陥は存在しますが、この貴重なツールの広範な無視を完全に説明していません。
border-style
履歴ブラウザの矛盾border-image
マルチコラムレイアウトの十分な活用は、仕様の欠陥や実装の問題ではなく、ユーザビリティの課題に起因する可能性があります。レイチェル・アンドリューは、長期のコンテンツの過度の垂直スクロールにより、読みやすさが低い可能性を正しく指摘しました。 これは間違いなく否定的な読書体験です。
列を作成するための2つの主要な方法が存在します。column-count
またはcolumn-width
を定義し、ブラウザに列のカウントを決定させます。 column-width
、幅(たとえば、18REM)を設定し、ブラウザに列の数を最適化させます。
(ガター)は、列間の間隔を制御します。理想的には、テキストサイズの比例にcolumn-gap
ユニットを使用します。 rem
は、カスタマイズ可能な厚さとcolumn-rule
で視覚的な分離を追加します。 この簡単な構文は、使いやすさに貢献しています
border-style
現代のCSS
を超えて、最新のCSS機能の多くは存在しませんでした。 これらの進歩により、マルチコラムレイアウトの機能が向上します
rem
およびビューポートユニットは、:has()
およびcalc()
と組み合わせて、列内のレスポンシブテキストサイジングを有効にします。 clamp()
コンテンツに基づいて条件付き列の作成を許可します。 コンテナクエリは、十分なコンテナスペースが利用可能な場合にのみ、列の実装を有効にします。 CSSグリッドまたはフレックスボックスとの統合により、さらにクリエイティブなレイアウトが解除されます。
rem
私の課題は、画面サイズとcalc()
の存在/不在に適応する柔軟でメディアクリーのない記事のレイアウトを作成することでした。 柱状テキストは読みやすさを向上させ、テキストサイズはコンテナ幅に調整され、ビューポート幅ではありません。
clamp()
HTMLは単純です:見出しと段落を含む:has()
要素、およびオプションではa
マルチコラムレイアウトスタイルは、<figure></figure>
(40CH)、
に適用されます。
<main></main>
<figure></figure>
flexboxは
<main><h1>About Patty</h1> <p>…</p></main><img alt="CSSマルチコラムレイアウトの再訪" >
に適用されます。
<main></main>
column-width
max-width
は、
main { margin-inline: auto; max-width: 100ch; column-width: 40ch; column-gap: 3rem; column-rule: .5px solid #98838F; }
の両方の応答性を保証します
<section></section>
<figure></figure>
これにより、メディアクエリの必要性がなくなります。 レスポンシブスケーリングのために、コンテナクエリ(
section:has(> figure) { display: flex; flex-wrap: wrap; gap: 0 3rem; }
min-width: min(100%, 30rem)
結果は、マルチコラムレイアウトを効果的に利用して、画面サイズとコンテンツに適合する柔軟なレイアウトです。過去の制限への対処
多くの記事は、マルチカラムレイアウトの欠陥、特にスクロールの問題を強調しています。 column-span
プロパティ(見出し、画像、スパン列への引用の場合)は、これを大幅に軽減し、過度のスクロールを最小限に抑えるための慎重なコンテンツデザイン。
。break-after: column;
を使用して対処されています
以上がCSSマルチコラムレイアウトの再訪の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。