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タイマーの詳細な説明

推薦する

CSSのtranslate(-50%,-50%)は水平および垂直の中央揃え効果を実現します。

translate(-50%,-50%) 属性:中央に配置するには、長さと幅の 50% だけ上と左...

MySqlエスケープの詳細な使用例

MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...

Dockerfile を使用して Docker イメージをカスタマイズする方法

Dockerfile を使用したイメージのカスタマイズイメージのカスタマイズとは、実際には各レイヤー...

nginxコンテナ設定ファイルの独立した実装

コンテナを作成する [root@server1 ~]# docker run -it --name ...

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...

LeetCode の SQL 実装 (178. スコアランキング)

[LeetCode] 178.ランクスコアスコアをランク付けする SQL クエリを記述します。2 ...

マークアップ言語 - アンカー

前: マークアップ言語 - フレーズ要素 オリジナルソース 第 7 章 アンカーHTML のリンクの...

MySQLデータベースの基礎知識と操作のまとめ

この記事では、例を使用して、MySQL データベースの基本的な知識と操作について説明します。ご参考ま...

HTMLの基本タグと構造の詳細な説明

1. HTMLの概要1.HTML: ハイパーテキスト マークアップ言語。これはプログラミング言語では...

Nginx の http リソース リクエスト制限の詳細な説明 (3 つの方法)

前提条件: nginx には、ngx_http_limit_conn_module モジュールと n...

MySQL 5.7.18 無料インストールバージョンの設定チュートリアル

MySQL 5.7.18 無料インストール版のインストールチュートリアルMySQL は現在、世界で最...

HTML テーブルタグチュートリアル (26): セルタグ

<TD> タグの属性は、テーブル内のセルのプロパティを設定するために使用されます。表 &...

Vue+Element+Springboot画像アップロードの実装例

最近、たまたま vue+springboot のフロントエンドとバックエンドの分離プロジェクトに触れ...

Mysql クラシック高レベル/コマンドライン操作 (クイック) (推奨)

サーバーとデータベースの構築方法を学ぶ必要があるため、最近は SQL 言語を独学で学び始めました。デ...

Linux で MySQL データベースのインポートおよびエクスポート コマンドを実装する方法

1. mysqldump コマンドを使用してデータベースをエクスポートします (このコマンドのパスで...