目次
CSSグリッド:クラシックレイアウト用の最新のソリューション
私たちの目標
手法1:「フェイク」列アプローチ
列仕分けを作成します
グリッドを構築します
テクニック2:背景色
テクニック3:セルの境界
結論
ホームページ ウェブフロントエンド CSSチュートリアル CSSグリッドと要素間の境界線を使用した新聞レイアウトのテクニック

CSSグリッドと要素間の境界線を使用した新聞レイアウトのテクニック

Apr 14, 2025 am 09:31 AM

CSSグリッドと要素間の境界線を使用した新聞レイアウトのテクニック

最近、私はエレメント間の仕切りを備えたマルチローとカラムのスパンを必要とする新聞スタイルのデザインに取り組みました。モックアップ(上記)は、これが提示する複雑さを強調しています。従来のレイアウト方法はこれを重要な課題にしたでしょう。

プロジェクトの重要な要件は次のとおりです。

  • クリアグリッドの概要。
  • 可変列の幅と高さ。
  • ブロック間の仕切り。

CSSグリッド:クラシックレイアウト用の最新のソリューション

新聞のレイアウトは、標準的なCSSの1次元の性質のために難しいことで有名です。要素は水平または垂直に流れます。 FlexBoxでさえ、強力ですが、一方向のままです。

このレイアウトには、HTMLテーブルの行と列に及ぶ列に及ぶ列が必要になり、最新のCSSの応答性と柔軟性が組み合わされました。 CSSグリッドはこのギャップをエレガントに橋渡しし、両方の世界の最高のものを提供します。そのgrid-gapプロパティは、溝を作成するのに特に役立ちますが、これらの溝内の分裂を正確に中心にするには、慎重に検討する必要があります。

これを達成するための3つのテクニックを探りましょう。

私たちの目標

3つの仕切り技術を説明するために、簡略化された新聞デザインを構築します。シンプルさは、根本的な課題に依存しています。

手法1:「フェイク」列アプローチ

このメソッドは、グリッドコンテナ内の擬似選択装置を使用して「フェイク」列を作成して、垂直線を描画します。必要に応じて水平方向の仕切りが追加されます。

<div>
  <div><div>1</div></div>
  <div><div>2</div></div>
  <div><div>3</div></div>
  <div><div>4</div></div>
</div>
ログイン後にコピー

列仕分けを作成します

display: gridを使用して3列のグリッドが確立されます。擬似選択因子( ::before::after )2つのフルハイト列を生成します。

 .frontpage {
  位置:相対;
  ディスプレイ:グリッド;
  Grid-Template-Columns:1fr 1fr 1fr;
  Grid-Column-Gap:32px;
  ボーダー:1px固体透明。
  ボーダートップ:1pxソリッド#DADCE0;
  ボーダーボトム:1px solid#dadce0;
  オーバーフロー:隠し;
}

.frontpage :: before、
.frontpage ::後{
  位置:絶対;
  上:0;
  高さ:100%;
  コンテンツ: '';
  幅:calc(33.3%-4px); / *溝を説明する計算 */
}

.frontpage :: before {
  左:0;
  国境右:1px solid#dadce0;
}

.frontpage ::後{
  右:0;
  国境左:1px solid#dadce0;
}
ログイン後にコピー

注: 33.3%計算は、溝幅を考慮します。式は次のとおりです。33 33% - (gutter-width / (number of gutters * number of columns))

調整された幅と位置決め計算で、単一の擬似要素も使用できます。

グリッドを構築します

4つのコンテンツブロックが追加され、それぞれがモディファイアクラスと擬似エレメントよりも高いz-index備えています。

<div>
  <div class="fp-cell fp-cell--1"></div>
  <div class="fp-cell fp-cell--2"></div>
  <div class="fp-cell fp-cell--3 fp-cell--border-top"></div>
  <div class="fp-cell fp-cell--4 fp-cell--border-top"></div>
</div>
ログイン後にコピー

CSSはセルをスタイルし、行/列のスパンを処理します。

 .fp-cell {
  位置:相対;
  z-index:2;
  パディング:16px 0;
  バックグラウンドカラー:#fff;
}

/ *スパニングスタイル */
.fp-cell-1 {グリッドロー:1 /スパン2; }
.fp-cell-2 {grid-column:2 / span 2; }

/ * Horizo​​ntal Divider */
.fp-cell  -  border-top :: before {
  コンテンツ: '';
  位置:絶対;
  上:0;
  左:-16px;
  右:-16px;
  ボーダートップ:1pxソリッド#DADCE0;
}
ログイン後にコピー

テクニック2:背景色

このアプローチはgrid-gapと背景色を活用します。 「ギャップ」は、グリッドの背景色によって視覚的に作成されます。グリッドセル内のパディングは、溝の幅をシミュレートします。

<div class="container">
  <div class="frontpage">
    <div class="fp-cell fp-cell--1"><div class="fp-item">1</div></div>
    <div class="fp-cell fp-cell--2"><div class="fp-item">2</div></div>
    <div class="fp-cell fp-cell--3"><div class="fp-item">3</div></div>
    <div class="fp-cell fp-cell--4"><div class="fp-item">4</div></div>
  </div>
</div>
ログイン後にコピー
.container {overflow-x:hidden;ボーダートップ:1pxソリッド#DADCE0;ボーダーボトム:1px solid#dadce0; }
.frontpage {...} / *グリッドスタイル以前と同様ですが、背景色 * /
.fp-cell {padding:16px;バックグラウンドカラー:#fff; }
ログイン後にコピー

コンテナはオーバーフローを処理し、パディングはセルを相殺します。

テクニック3:セルの境界

この手法は、各セルに右と下の境界を追加します。パディングはgrid-gapをシミュレートします。再びラッパーコンテナが必要です。

<div class="container">
  <div class="frontpage">
    <div class="fp-cell fp-cell--1"><div class="fp-item">1</div></div>
    ...
  </div>
</div>
ログイン後にコピー
.container {border-top:1px solid#dadce0; Overflow-X:非表示; }
.FrontPage {マージン:0 -17px 0 -16px; ...} / *グリッドスタイル、国境補償の負のマージン * /
.fp-cell {padding:16px;バックグラウンドカラー:#fff;国境右:1px solid#dadce0;ボーダーボトム:1px solid#dadce0; }
ログイン後にコピー

負のマージンは、細胞の境界を補います。

結論

3つのテクニックはすべて実行可能ですが、2番目の(背景色)は、最もシンプルで潜在的に最も保守可能なソリューションを提供します。ただし、特定の制約またはDOMアクセス制限に応じて、他のアプローチが望ましい場合があります。最良の選択は、プロジェクトのコンテキストに依存します。

以上がCSSグリッドと要素間の境界線を使用した新聞レイアウトのテクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

スティッキーヘッダーとフッターにCSSグリッドを使用する方法 スティッキーヘッダーとフッターにCSSグリッドを使用する方法 Apr 02, 2025 pm 06:29 PM

CSS Gridは、レイアウトをこれまで以上に簡単にするように設計されたプロパティのコレクションです。何でもするように、少し学習曲線がありますが、グリッドは

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

See all articles