CSS で 2 つの固定列と 1 つの適応列を実装するいくつかの方法

CSS で 2 つの固定列と 1 つの適応列を実装するいくつかの方法

この記事では、CSS で 2 つの固定列と 1 つのアダプティブ列を実装するいくつかの方法を紹介し、皆さんと共有します。詳細は次のとおりです。

1.フレックスレイアウト

フレキシブル ボックス モデル (一般にフレックスボックスと呼ばれます) は、1 次元レイアウト モデルです。フレックスボックスの子要素間の強力なスペース配分と配置機能を提供します。フレックスボックスは、一度に 1 次元 (行または列) の要素のレイアウトしか処理できないため、1 次元レイアウトと呼ばれます。ここではフレックスレイアウトを使用して、2つの固定列と1つの適応列を実現します。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル> 

    #主要{
         display: flex;/*フレキシブルコンテナとして設定*/
         }

    #左{ 
        width:200px;/*左の幅を固定*/
        高さ:400px; 
        背景:水色;
    }
    #中心{
         flex-grow:1; /*残りのスペースを埋める*/ 
         高さ:400px;  
         背景:緑;}
    #右{ 
        width:200px;/*右幅固定*/
        高さ:400px;  
        背景:青;
        }
    </スタイル>
</head>
<本文>
    <div id="メイン">
        <div id="left"></div>
        <div id="center"></div>
        <div id="right"></div>
    </div>
</本文>
</html>

2. フローティング方式を使用する

左側と右側の部分にそれぞれ float:left と float:right を使用します。float は左側と右側の要素をドキュメント フローの外側に作成し、中央の要素は通常のドキュメント フローに含まれます。マージンを使用して、中央のドキュメント フローに配置するための左余白と右余白を指定します。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル> 
    *{マージン: 0;パディング: 0;}
    #主要{
         幅: 100%;高さ: 400px;
         }
    #左{ 
        width:200px;/*左の幅を固定*/
        高さ:400px;
        float: left; /*コンテナを左にフロートするように設定する*/
        背景:水色;
    }
    #中心{
         幅: 100%;
         高さ:400px;
         margin: 0 200px;/*コンテナの左余白と右余白を設定します*/ 
         背景:緑;}
    #右{ 
        width:200px;/*右幅固定*/
        高さ:400px;  
        float: right;/*コンテナを右にフロートするように設定する*/
        背景:青;
        }
    </スタイル>
</head>
<本文>
    <div id="メイン">
        <div id="left"></div>
        <div id="right"></div>
        <div id="center"></div>
    </div>
</本文>
</html>

3. floatとcalc関数を使用する

3つの部分に float:left を使用し、左側と右側の幅を固定し、calc 関数を使用して中央の幅を計算します。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル> 
    *{マージン: 0;パディング: 0;}
    #主要{
         幅: 100%;高さ: 400px;
         }
    #左{ 
        width:200px;/*左の幅を固定*/
        高さ:400px;
        float: left; /*コンテナを左にフロートするように設定する*/
        背景:水色;
    }
    #中心{
         width: calc(100% - 400px);/*中央の幅を親コンテナの幅から400pxを引いた値に設定する*/
         高さ:400px;
         float: left;/*コンテナを左にフロートするように設定する*/ 
         背景:緑;}
    #右{ 
        width:200px;/*右幅固定*/
        高さ:400px;  
        float:left;/*コンテナを左にフロートするように設定する*/
        背景:青;
        }
    </スタイル>
</head>
<本文>
    <div id="メイン">
        <div id="left"></div>
        <div id="center"></div>
        <div id="right"></div>
    </div>
</本文>
</html>

4. 絶対位置を使用する

両端の左右部分を固定する場合は絶対配置を使用し、中央のドキュメント フローに配置する場合はマージンを使用して左右の余白を指定します。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル> 
    *{マージン: 0;パディング: 0;}
    #主要{
         幅: 100%;
         高さ: 400px;
         position: relative;/*親コンテナは相対的な配置を使用します*/
         }
    #左{ 
        width:200px;/*左の幅を固定*/
        高さ:400px;
        position: absolute;/*左側に固定位置を使用します*/
        left: 0;/*コンテナの左端に配置*/
        上: 0;
        背景:水色;
    }
    #中心{
         幅:100%;
         高さ:400px;
         margin: 0 200px;/*中央のコンテナの左余白と右余白を設定します*/
         背景:緑;}
    #右{ 
        width:200px;/*右幅固定*/
        高さ:400px;
        position: absolute;/*右側の固定位置*/
        right: 0;/*コンテナの右端に配置*/
        上: 0;
        背景:青;
        }
    </スタイル>
</head>
<本文>
    <div id="メイン">
        <div id="left"></div>
        <div id="center"></div>
        <div id="right"></div>
    </div>
</本文>
</html>

効果図は以下のとおりです。

これで、CSS を使用して 2 つの固定列と 1 つのアダプティブ列を実装するいくつかの方法について説明したこの記事は終了です。CSS を使用して 2 つの固定列と 1 つのアダプティブ列を実装する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  フォーム OnSubmit と input type=image の使用の概要

>>:  JavaScriptタイマーの詳細な説明

推薦する

JS における for、for...in、for...of、forEach の違いと使用例

forループ基本的な構文形式: for(変数の初期化; 条件式; 演算式){ループ本体ステートメント...

HTML要素のID属性とName属性の違い

今日、私は <a href="#13"></a> につい...

nginx をシャットダウン/再起動/起動する方法

閉鎖サービス nginx 停止systemctl 停止 nginx起動するサービス nginx 開始...

MySQLのインデックス

序文早速本題に入りましょう。これからお話しするのは次のマインドマップです。まずは印象をつかんでくださ...

MySQL 時間差関数 (TIMESTAMPDIFF、DATEDIFF)、日付変換計算関数 (date_add、day、date_format、str_to_date)

1. 時間差関数(TIMESTAMPDIFF、DATEDIFF) MySQLを使用して時間差を計算...

MySQLはbinlogを通じてデータを復元する

目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...

MySQL 演算子の具体的な使用法 (and、or、in、not)

目次1. はじめに2. 本文2.1 および演算子2.2 または演算子2.3 オペレーター2.4 no...

Vue3サンドボックスの仕組みの詳しい説明

目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する参照する序文vue3サンドボック...

Vue Routerはバックグラウンドデータに応じて異なるコンポーネントをロードします

目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...

MySQL での order by の使用に関する詳細

目次1. はじめに2. 本文2.1 単一列のソート2.2 複数の列を並べ替える2.3 ソート方法2....

MySQL の order by ステートメントの最適化方法の詳細な説明

この記事では、ORDER BY文の最適化について学びます。その前に、インデックスの基礎的な理解が必要...

iframe を更新する 3 つの方法

コードをコピーコードは次のとおりです。 <iframe src="1.htm&quo...

ES6分解課題の原理と応用

目次配列分割代入オブジェクトの分解代入分割割り当ての適用変数の値の交換関数から複数の値を返すマップ構...

Nginx でバージョン番号を隠したり偽造したりする方法

1. デフォルトでアクセスするには、curl コマンドを使用します。 # curl -I http:...

MySQLが日付フィールドインデックスを使用しない理由の要約

目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...