左右の幅を固定し、中央の幅を適応させた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 をインストールする詳細なチュートリアル

推薦する

JavaScriptの強力な演算子をいくつか見てみましょう

目次序文1. ヌル合体演算子2. ??= 空代入演算子3. ?. オプション連鎖演算子4. ?: 三...

MySQL ベースのストレージエンジンとログの説明 (包括的な説明)

1.1 ストレージエンジンの概要 1.1.1 ファイルシステムストレージファイル システム: オペ...

CSSで検索ボックスを非表示にする機能を実装します(アニメーション順方向と逆方向のシーケンス)

上部のメニュー バーに検索ボックスを配置するのは一般的なシナリオですが、検索機能がそれほど頻繁に使用...

MySQL の制限パフォーマンス分析と最適化

1. 結論構文: 制限オフセット、行結論: 同じ行条件では、オフセット値が大きいほど、limitステ...

Vue3 ドラッグ可能な左パネルと右パネルの分割コンポーネントの実装

目次コンポーネントの分解左パネル右パネル入力パラメータの分解小道具スロット具体的な実装ドラッグする方...

Linux 環境の Apache で https サービスを有効にする方法の詳細な説明

この記事では、Linux 環境の Apache で https サービスを有効にする方法について説明...

Mysql テーブルで利用可能な最小 ID 値を照会する方法

今日、研究室のプロジェクトを見ていたとき、私にとって「難しい」問題に遭遇しました。実は、それは私があ...

MySQLはデータベースのN+1クエリ問題を解決します

導入HibernateやMyBatisなどのORMフレームワークでは、部門に関連付けられたユーザーオ...

MySQLで論理SQLを置き換える際の落とし穴を回避する方法の詳細な説明

重複キーの置換と挿入の違い置換の使用法競合がない場合、挿入と同等となり、他の列のデフォルト値が使用さ...

MySQL 基本チュートリアル パート 1 MySQL5.7.18 のインストールと接続チュートリアル

この記事から、MySQL を紹介し学習するための新しい一連の記事がスタートします。なぜ MySQL ...

CSS ボックスの折りたたみに対する 5 つの解決策

まず、ボックスコラプスとは何でしょうか?親ボックスの内側にあるべき要素が外側にあります。第二に、箱は...

HTMLは正規表現を使用してテーブルの例をテストします

以下は、HTML で正規表現を使用してテーブルをチェックするサンプル コードです。具体的なコードの内...

Linux システムコマンドのメモ

この記事では、Linux システム コマンドについて説明します。ご参考までに、詳細は以下の通りです。...

MySQLデータベースの数千万件のデータクエリとストレージの詳細な説明

目次百万レベルのデータ処理ソリューションデータストレージ構造設計クエリステートメントの最適化1000...

secure_file_priv nullの問題を解決する

secure_file_priv = ' ';管理者としてcmdを実行します。 my...