左右の幅を固定し、中央の幅を適応させたHTMLレイアウトのソリューションの詳細な説明

左右の幅を固定し、中央の幅を適応させたHTMLレイアウトのソリューションの詳細な説明

この記事では、次のように、誰にでも共有できる左右幅固定のミドルアダプティブ HTML レイアウトソリューションについて詳しく説明します。

a. フローティングレイアウトを使用する

HTML構造は次のようになります

<div class="box">
    <div class="left">左</div>
    <div class="right">右</div>
    <div class="center">中央</div>
</div>   
//ここで、左と右のフローティング要素を最初にレンダリングし、次に中央の要素をレンダリングする必要があることに注意してください。要素がフロートされた後、残りの兄弟ブロックレベル要素は親要素の幅を占めるようになります。<style>
   。箱{
        高さ:200px;
    }    
    。左{
        フロート:左;
        幅:300ピクセル;
    }
    。右{
        フロート:右;
        幅:300ピクセル;
    }
</スタイル>

b. 固定位置を使用する

HTML構造は次のようになります

<div class="box">
    <div class="left">左</div>
    <div class="right">右</div>
     <div class="center">中央</div>
</div> 
// フローティング レイアウトと同様に、最初に左と右の要素をレンダリングして、親要素の左端と右端に配置し、残りの中央の要素が親要素の残りの幅を占めるようにします。
<スタイル>
    。箱{
        位置: 相対的;
      }
      。左{
        位置: 絶対;
        幅: 100ピクセル;
        左: 0;
      }
      。右{
        幅:100ピクセル;
        位置: 絶対;
        右: 0;
      }
      。中心{
        マージン: 0 100px;
        背景: 赤;
      }
</スタイル>

c. テーブルレイアウト

親要素を display:table に設定し、子要素を display:table-cell に設定すると、インライン ブロックになります。

このレイアウトの利点は互換性が優れていることです。

<div class="box">
  <div class="left">
    左
  </div>
  <div class="center">
    中心
  </div>
  <div class="right">
    右
  </div>
</div>
<スタイル>
    。箱{
        表示: テーブル;
        幅: 100%;
      }
      。左{
        表示: テーブルセル;
        幅: 100ピクセル;
        左: 0;
      }
      。右{
        幅:100ピクセル;
        表示: テーブルセル;
      }
      。中心{
        幅: 100%;
        背景: 赤;
      }
</スタイル>

d. 柔軟なレイアウト

親要素 display:flex の子要素はすべて一列に配置されます。

子要素のflex:nの幅は親要素の幅になります/n

flex:1 の場合、幅は親要素の高さと同じになります。

エラスティック レイアウトの欠点は互換性がないことです。現在、IE ブラウザではエラスティック レイアウトを使用できません。

<div class="box">
  <div class="left">
    左
  </div>
  <div class="center">
    中心
  </div>
  <div class="right">
    右
  </div>
</div>
<スタイル>
    。箱{
        ディスプレイ: フレックス;
        幅: 100%;
      }
      。左{
      
        幅: 100ピクセル;
        左: 0;
      }
      。右{
        幅:100ピクセル;
      }
      。中心{
        フレックス:1;
      }
</スタイル>

e. グリッドレイアウト

親要素 display:grid;

グリッドテンプレート列:100px 自動 100px;

最初の子要素の幅は 100 ピクセル、2 番目はアダプティブ、3 番目は 100 ピクセルの幅です。

グリッドレイアウトの利点は、非常にシンプルで、親要素のスタイルによって直接決定されることです。欠点は、互換性が高くないことです。

<div class="box">
  <div class="left">
    左
  </div>
  <div class="center">
    中心
  </div>
  <div class="right">
    右
  </div>
</div>
<スタイル>
  。箱{
        表示: グリッド;
        グリッドテンプレート列: 100px 自動 100px;
        幅: 100%;
      }
</スタイル>

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

<<:  httpsウェブサイトにリファラーhttpsとhttpジャンプリファラーを送信させる方法

>>:  CentOS 8 に Docker をインストールする詳細なチュートリアル

推薦する

MySQL接続クエリの原理と応用

概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...

Alibaba Cloud ドメイン名と IP バインディングの手順と方法

1 Alibaba Cloud コンソールに入り、ドメイン名コンソールを見つけて、バインドするドメイ...

フォーム要素の簡単な実装コードでは登録を例に挙げています

コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

Centos サーバーで nginx を設定する方法の例

セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...

Java を Mysql バージョン 8.0.18 に接続する方法の詳細な説明

JavaとMysql 8.0.18バージョンの接続方法については、参考までに具体的な内容は以下のとお...

nginx プロキシでの複数の 302 応答の解決策 (nginx Follow 302)

proxy_intercept_errors と recursive_error_pages を使...

Vue+element はローカル検索機能付きのドロップダウン メニューを実装します

必要:バックエンドは配列オブジェクトを返し、それがフロントエンドで配列に結合されます。配列は名前に従...

mysql8.0.11 winx64 インストールと設定のチュートリアル

mysql 8.0.11 winx64のインストールチュートリアルは以下のように記録され、みんなと共...

Linux で特殊文字のファイル名やディレクトリを削除する方法

inode番号でファイルを削除するまずls -iを使用して、削除するファイルのinode番号を見つけ...

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、...

MySQL ステートメントを使用して、さまざまな整数が占めるバイト数とその最大値と最小値を調べる例

直接コード: タイプとして「bigint unsigned」、バイトとして「8」、max_numとし...

SQL で行の最大値または最小値を取得する方法

元データと対象データSQL文を実装する(最大) 選択 店、 月、 最大(dz,fz,sp) が最大値...

VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法

1. ビッグデータとHadoopビッグデータについて研究し学ぶには、当然 Hadoop から始める必...

MySQLのREDOログとUNDOログの詳細な説明

MySQL ログ システムで最も重要なログは、REDO ログとアーカイブ ログです。後者は MySQ...

IdeaでTomcatを起動したときに複数のリスナーが報告される問題を解決する

エラーのスクリーンショット例外が発生した場所が見つかりません。解決策: リソースディレクトリにlog...