検索
ホームページウェブフロントエンドCSSチュートリアルCSS 2 列レイアウトの実装方法の概要を共有する

この記事では主に CSS の 2 列レイアウトの実装方法の概要を紹介し、absolute + margin および float + margin メソッドを含むいくつかの実践方法と問題について説明します。必要な友人は参照してください

2 列レイアウトはおそらく最も古典的です。 one これは Web ページのレイアウト方法であり、このブログではこのレイアウトを使用しています。 2 列レイアウトでは、メイン列 (メイン) の幅が適応型で、サブ列 (サイドバー) の幅が固定であるのが最も一般的です。
今日は、この固定幅 + アダプティブ 2 列レイアウトを実装する方法について説明します。

1. 絶対値 + マージン法

まず思いつくのは、絶対値 + マージン法を使用することです。まずコードを見てみましょう:

<p class="container">
    <p class="sidebar">子列</p>
    <p class="main">主列</p>
</p>
.container {   
 position: relative;   
}   
.sidebar {   
 position: absolute;   
 top: 0;   
 left: 0;   
 width: 200px;   
 height: 300px;   
 background-color: rgba(255, 0, 0, .5);   
}   
.main {   
 height: 300px;   
 margin-left: 210px;   
 background-color: rgba(0, 255, 0, .5);   
}

このメソッドは、位置を使用してサイドバー列をドキュメント フローから取り出し、次にメイン列の左マージンを使用してサイドバー列で覆われた部分を削除します。このようにして、固定幅 + アダプティブ 2 列レイアウトを実現しました。

(1) 列の順序の調整

HTML を変更せずに、CSS を変更するだけで、左右の列の順序を入れ替えることができます。コードを見てください:

.sidebar {   
 position: absolute;   
 top: 0;   
 rightright: 0;   
}   
.main {   
 margin-right: 210px;   
}

(2) Mainコンテンツ列が最初に表示されます

もっと完璧に考えてみましょう。メインコンテンツを最初にロードしてレンダリングできるように、メイン列をサイドバー列の前に置くことはできますか?試してみましょう!

<p class="container">
    <p class="main">主列</p>
 <p class="sidebar">子列</p>
</p>

上記の簡単な調整を行うだけで、CSS を変更する必要はありません。

(3) 問題点

この方法には多くの利点がありますが、致命的な欠点があります。サイドバー列はドキュメント フローから分離されているため、サイドバー列がメイン列よりも高い場合、後続のレイアウト: 問題のデモがカバーされます。
コンテナコンテナにoverflow:hiddenを追加すると、サイドバーのオーバーフロー部分がカットされます。このレイアウトでは、この問題に対する効果的な解決策は実際にはありません。

2. Float + margin メソッド

次に思い浮かぶのは、2 列レイアウトを実装するための float + margin です。まず、左側の列の幅が固定され、メイン コンテンツが適応される 2 列のレイアウトです。 。コードは次のとおりです:

<p class="sidebar">子列</p>
<p class="main">主列</p>
.sidebar {   
 float: left;   
 width: 200px;   
 height: 300px;   
 background-color: rgba(255, 0, 0, .5);   
}   
.main {   
 height: 300px;   
 margin-left: 210px;   
 background-color: rgba(0, 255, 0, .5);   
}

この実装方法は比較的単純です。まずサブ列を左側にフローティングし、次にメイン列に margin-left を設定してサブ列の表示スペースを残します。

では、このメソッドは列の位置の交換をサポートしていますか?もちろん。 CSS コードは以下の通りです:

.sidebar {   
 float: rightright;   
 width: 200px;   
 height: 300px;   
 background-color: rgba(255, 0, 0, .5);   
}   
.main {   
 height: 300px;   
 margin-right: 210px;   
 background-color: rgba(0, 255, 0, .5);   
}

問題点:

float + margin の方法は良い方法のようですが、前述した最初に表示されるメインカラムの最適化が達成できません。

3. float + negative margin メソッド

これ以上はナンセンスです。コードに直接進みましょう:

<p class="main-wrapper">
    <p class="main">主列</p>
</p>
<p class="sidebar">子列</p>
.main-wrapper {   
 float: left;   
 width: 100%;   
}   
.main {   
 height: 100px;   
 margin-left: 210px;   
 background-color: rgba(255, 0, 0, .5);   
}   
.sidebar {   
 float: left;   
 width: 200px;   
 height: 100px;   
 margin-left: -100%;   
 background-color: rgba(0, 255, 0, .5);   
}

これはダブルウィング レイアウトであり、メイン列が最初に表示されることに誰もが気づいたはずです。実装プロセスは次のとおりです:

まずメイン列とサイドバー列をフロートさせ、次に負のマージンを介してサイドバー列を正しく配置します。
メイン列を p にネストし、p の幅の値を 100% に設定します。
最後に、メイン列の左マージンを設定して、サイドバーで覆われた部分を削除します。

以上がCSS 2 列レイアウトの実装方法の概要を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
CSS Flexbox vsグリッド:包括的なレビューCSS Flexbox vsグリッド:包括的なレビューMay 12, 2025 am 12:01 AM

FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

CSSファイルを含める方法:メソッドとベストプラクティスCSSファイルを含める方法:メソッドとベストプラクティスMay 11, 2025 am 12:02 AM

CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

FlexBox対グリッド:両方を学ぶべきですか?FlexBox対グリッド:両方を学ぶべきですか?May 10, 2025 am 12:01 AM

はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

軌道力学(またはCSSキーフレームアニメーションの最適化方法)軌道力学(またはCSSキーフレームアニメーションの最適化方法)May 09, 2025 am 09:57 AM

独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

CSSアニメーション:それらを作成するのは難しいですか?CSSアニメーション:それらを作成するのは難しいですか?May 09, 2025 am 12:03 AM

cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

@KeyFrames CSS:最も使用されているトリック@KeyFrames CSS:最も使用されているトリックMay 08, 2025 am 12:13 AM

@keyframesispopularduetoitsversitility andpowerincreatingsmoothcssanimations.keytricksinclude:1)defingsmoothtransitionsbetweenstates、2)AnimatingMultipleProperiessimally、3)3)bendorprefixesforbrows -compativity、4)組み合わせwithjavasfo

CSSカウンター:自動番号の包括的なガイドCSSカウンター:自動番号の包括的なガイドMay 07, 2025 pm 03:45 PM

csScounterSareSareusedTomageautomaticinginginwebdesigns.1)それらは、コンテンツ、リスト、および積極的なものを使用することができます

スクロール駆動型のアニメーションを使用したモダンなスクロールシャドウスクロール駆動型のアニメーションを使用したモダンなスクロールシャドウMay 07, 2025 am 10:34 AM

特にモバイルデバイスでは、スクロールシャドウを使用することは、Chrisが以前にカバーした微妙なUXです。 Geoffは、アニメーションタイムラインプロパティを使用する新しいアプローチをカバーしました。これがさらに別の方法です。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール