CSSを使用して中央に固定された2つの列と適応型列を実現する方法

CSSを使用して中央に固定された2つの列と適応型列を実現する方法

1. 絶対位置とマージンを使用する

この方法の原則は、左側と右側をドキュメントの流れから外れるように配置することです。 中央の領域はそれらの下に自然に流れ、それらの余白値を設定します

この方法では、ページ要素構造の順序を自由に変更できます。ただし、先頭の値を処理しないと、位置がずれる可能性があるので注意してください。

html

<div id='コンテナ'>
    <div class='left'>左側</div>
    <div class='center'>中央</div>
    <div class='right'>右側</div>
</div>

CS

#容器 {
    位置: 相対的;
}
.左、.右{
    位置: 絶対;
    上: 0;
    幅: 200ピクセル;
    最小高さ: 500px;
    背景色: 赤;
}
。左 {
    左: 0;
}
。右 {
    右: 0;
}
。中心 {
    マージン: 0px 210px;
    最小高さ: 500px;
    背景色: 黄色;
}

2. フロートとマージンを使用する

この方法の原理は、左側と右側をフロートさせてドキュメントフローから外し、中央部分を通常のドキュメントフロー内にして、その余白値を設定することです。

この方法では、中央部分を最後に配置する必要があります。ウィンドウが特に小さい場合は、右側が圧迫されます。

html

<div id='コンテナ'>
    <div class='left'>左側</div>
    <div class='right'>右側</div>
    <div class='center'>中央</div>
</div>

CS

#容器 {
    位置: 相対的;
}
.左、.右{
    幅: 200ピクセル;
    最小高さ: 500px;
    背景色: 赤;
}
。左 {
    フロート: 左;
}
。右 {
    フロート: 右;
}
。中心 {
    最小高さ: 500px;
    マージン: 0px 210px;
    背景色: 黄色;
}

3. 聖杯レイアウト

この方法は最も一般的であり、3 つは相互に関連しており、最も堅牢です。

まず、真ん中の部分を前面に置き、容器の層で包みます。外側のコンテナにより画面全体の 100% を占め、左側、中央、右側はすべて float: left になります。 中央の左余白と右余白を両側のコンテナの幅に余白を加えた値に設定し、左の margin-left を -100% に設定して左端に表示し、右の margin-right を -200px に設定して右端に表示します。

html

<div id='コンテナ'>
    <div class='center_wrap'>
        <div class='center'>中央</div>
    </div>
    <div class='left'>左側</div>
    <div class='right'>右側</div>
</div>

CS

#容器 {
    位置: 相対的;
}
.center_wrap、.left、.right{
    フロート: 左;
    最小高さ: 500px;
}
.center_wrap {
    幅: 100%;
}
.center_wrap .center{
    最小高さ: 500px;
    マージン: 0px 210px;
    背景色: 黄色;
}
.左、.右{
    幅: 200ピクセル;
    背景色: 赤;
}
。左 {
    左マージン: -100%;
}
。右 {
    左マージン: -200px;
}

4. CSS3 フレックス

html

<div id='コンテナ'>
    <div class='left'>左側</div>
    <div class='center'>中央</div>
    <div class='right'>右側</div>
</div>

CS

#容器 {
    幅: 100%;
    ディスプレイ: フレックス;
}
.左、.右{
    幅: 200ピクセル;
    背景色: 赤;
    最小高さ: 500px;
}
。中心 {
    フレックス: 1;
    最小高さ: 500px;
    マージン: 0 10px;
    背景色: 黄色;
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント

>>:  JavaScript が Taobao の虫眼鏡効果を模倣

推薦する

データ構造 - ツリー (III): 多方向検索ツリー B ツリー、B+ ツリー

多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

マークアップ言語 - HTML を学んだ後に何を学ぶべきか?

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CSS属性のマージンの理解について話す

1.マージンとは何ですか?マージンは、要素の周囲のスペースの間隔を制御するために使用され、視覚的にス...

MySQL ロック関連知識のまとめ

MySQL のロックロックは、並行環境におけるリソースの競合を解決する手段です。その中でも、楽観的並...

Pagoda Panel のインストール時にサーバーがデータベースにリモート接続できない問題の解決策

自分のウェブサイトを構築する予定なので、618 プロモーションを利用して Tencent Cloud...

Angularコンポーネントライフサイクルの詳細説明(I)

目次概要1. フックの呼び出し順序2. onChangesフック3. 変更検出メカニズムとDoChe...

HTML タグ マーキーを使用してスクロール効果を実現する簡単な方法 (必読)

ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...

HTMLページが3秒後に自動的にジャンプする3つの一般的な方法

実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...

Vueはechart円グラフの凡例のパーセンテージを表示するメソッドを実装します

この記事では主に、echart を使用してパーセンテージを表示する Vue の円グラフデータ部分を紹...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明

使用制限クエリ ステートメントを使用する場合、多くの場合、データの最初の数行または中間行を返す必要が...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...