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

推薦する

JavaScriptは双方向リンクリストプロセス分析を実装します

目次1. 二重連結リストとは何か2. 双方向リンクリストのカプセル化3. 双方向リンクリストの一般的...

HTMLページの読み込みと解析プロセスの詳細な紹介

ブラウザがHTMLを読み込みレンダリングする順序1. IE は上から下へダウンロードし、上から下へレ...

Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮...

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...

MySQL 5.7を完全にアンインストールするための詳細な手順

この記事は主に、MySQLを再インストールする際のクリーンでないアンインストールのさまざまな問題をま...

MySQL インデックスの最適化: ページング探索の詳細な紹介

目次MySQL インデックス最適化ページングの調査ケース1ケース2 MySQL インデックス最適化ペ...

HTMLを使用して、IPを制限する投票ウェブサイトの不正行為スキームを実装する

これは、IP アドレスが制限されている投票 Web サイトの不正行為の手口です。この方法は、投票 W...

MySQL 5.7 でパスワードを変更するときに発生する ERROR 1054 (42S22) の解決方法

MySQL 5.7 を新しくインストールしました。ログインすると、パスワードが間違っているというメッ...

2017 最新バージョンの Windows インストール MySQL チュートリアル

1. まず、MySQL の公式サイトから最新バージョンの MySQL をダウンロードします。リンクを...

favicon.ico についていくつか注意点があります (ルートディレクトリに置くのがベストです)

任意のウェブページを開きます。例: http://www.baidu.com/ ブラウザのタブのヘッ...

ライフゲームの JavaScript 実装

目次コンセプト紹介論理的ルール完全なコード主な実装コンセプト紹介セルオートマトンとは、コンピュータの...

Ubuntu で FTP サーバーを構築する方法の詳細な説明 (成功保証)

1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...

CSS3 フレックスレイアウトを使用して要素を均等に分散するサンプルコード

この記事では主に、CSS3 フレックスレイアウトを使用して要素を均等に配置する方法を紹介します。自分...

Docker コンテナのネットワーク障害に対する 6 つの解決策

Docker コンテナのネットワーク障害に対する 6 つの解決策注: 以下の方法は、コンテナ内のパブ...

jsはタイトルと説明のキーワードを検出し、見つかった場合は置換するか他のページにジャンプします。

キーワード 一般タイトルには、クラック、キー、シリアル番号、キージェネレータなどの単語を含めることは...