両側にCSS固定レイアウト、中央に適応レイアウトを実装

両側にCSS固定レイアウト、中央に適応レイアウトを実装

フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を分析します。

フロート

<スタイル タイプ="text/css">
    .wrap {背景: #eee; パディング: 20px; }
    p {マージン: 0; }
    .left {幅: 200px; 高さ: 200px; フロート: left; 背景: coral; }
    .right {幅: 200px; 高さ: 200px; フロート: right; 背景: lightblue; }
    .middle {余白: 0 200px; 背景: ライトピンク; }
</スタイル>

<div class="wrap">
    <p class="left">私は左側です</p>
    <p class="right">私は右側にいます</p>
    <p class="middle">私は列の最後尾にいましたが、真ん中まで走りました</p>
</div> 

原理:

  • フローティング要素と非フローティング要素は同じ 3 次元空間にありません。フローティング要素が明確でない場合、その下の要素が浮き上がります。
  • フローティング要素の高さは 0 です。フローティング ボックス レベルはblockレベルの水平ボックスよりも高く、 inline/inline-block水平ボックスよりも低くなります。

フローティングインラインdiv

<スタイル タイプ="text/css">
    .wrap {背景: #eee; パディング: 20px; }
    p {マージン: 0; }
    .left {幅: 200px; 高さ: 200px; フロート: left; 背景: コーラル; 左余白: -100%;}
    .right {幅: 200px; 高さ: 200px; フロート: 左; 背景: ライトブルー; 左余白: -200px;}
    .middle {幅: 100%; 高さ: 200px; フロート: 左; 背景: ライトピンク; }
    スパン{
        表示: インラインブロック;
        マージン: 0 200px;
    }
</スタイル>

<div class="wrap">
    <p class="middle">
        <span class="inner">
            私は真ん中です 
    </p>
    <p class="left">私は左側です</p>
    <p class="right">私は右側にいます</p>
</div> 

原理:

  • 3 つの要素はすべてフロートされており、テーマ要素は行の 100% を占め、負のmarginを使用して要素を左右に配置します。
  • テーマ要素内にmargin: 0 200pxの別の子要素を追加して、コンテンツが左右の 2 つのフローティング要素によって覆われないようにします。

位置

<スタイル タイプ="text/css">
    .wrap {背景: #eee; 位置: 相対;}
    p {マージン: 0; }
    .left {幅: 200px; 高さ: 200px; 背景: コーラル; 位置: 絶対;左: 0; 上: 0;}
    .right {幅: 200px; 高さ: 200px; 背景: 水色; 位置: 絶対; 右: 0; 上: 0;}
    .middle {高さ: 200px; 背景: ライトピンク; 余白: 0 200px;}
</スタイル>

<div class="wrap">
    <p class="middle">私は真ん中にいるので、マージンを使用して、左右に配置された 2 つの要素が占めるスペースをオフセットします</p>
    <p class="left">私は左側にいます。私は位置指定された要素です</p>
    <p class="right">私は右側にいます。私は配置された要素です</p>
</div> 

原理:

  • 左と右の要素はどこにでも配置できます。
  • 中央の要素ではmargin: 0 200pxを使用して、コンテンツが左右に配置された 2 つの要素の下に隠れないようにします。

フレックス

<スタイル タイプ="text/css">
    .wrap {背景: #eee; 表示: flex}
    p {マージン: 0; }
    .left {幅: 200px; 高さ: 200px; 背景: コーラル; }
    .right {幅: 200px; 高さ: 200px; 背景: ライトブルー; }
    .middle {高さ: 200px; 背景: ライトピンク; flex: 1;}
</スタイル>

<div class="wrap">
    <p class="left">私は左側です</p>
    <p class="middle">私は真ん中にいます。flex: 1 は残りのスペースを自動的に占有します</p>
    <p class="right">私は右側にいます</p>
</div>

原理:

  • flexレイアウトでは、子要素はデフォルトで水平に配置されます。
  • flex: 0 1 auto -> デフォルト、占有スペースは親の拡大には従わず、縮小に従います。元の幅
  • flex: 1 1 auto -> auto、占有スペースは親に従って拡大縮小し、元の幅は
  • flex: 0 0 auto -> none、占有スペースは親の拡大に追従せず、縮小にも追従せず、元の幅のままです
  • flex: 1 1 1 -> auto、占有スペースは親の拡大に従い、同時に縮小に従い、残りのスペースを自動的に埋めます

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

<<:  202 無料の高品質 XHTML テンプレート (2)

>>:  検索データ表示を実装するJavaScript

推薦する

Vue+element+oss はフロントエンドのフラグメントアップロードとブレークポイント再開を実現します

純粋なフロントエンド実装:切片上傳斷點續傳。斷點續傳カットとアップロードに基づいて実装する必要があり...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...

Mysqlのインポートとエクスポート時に発生する問題の解決

背景すべての業務を Docker の運用管理に移行してから、一連の落とし穴に遭遇しましたが、今回は ...

MySQL トランザクション分析

取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...

純粋な CSS3+DIV で小さな三角形の境界線効果を実現するためのサンプル コード

具体的なコードは次のとおりです。 HTMLコードは次のとおりです <div class=&qu...

AngularJSループオブジェクトプロパティで動的列を実装するアイデアの詳細な説明

動的な列を実現するための Angularjs ループ オブジェクト プロパティ利点: オブジェクトを...

よく使われるシングルページアプリケーションウェブサイト共有

CSS3お願いしますこのウェブサイトを自分で見て、パラメータを変更し、CSS3効果をオン/オフにする...

Vue で video.js を使用して m3u8 形式のビデオを再生する方法

目次1. インストール2. videojsの紹介3. コンポーネントでのテストと使用1. 基本的な自...

ウェブページの読みやすさを向上させるいくつかの方法

1. 対照的な色を使用します。ここでのコントラストとは、テキストの色と背景色のコントラストを指します...

css-loader を使用して vue-cli で css モジュールを実装する

【序文】 Vue と React の CSS モジュール ソリューションはどちらも、実装にローダーに...

MySQL 8.0 のタイムゾーン問題を解決する手順

ソフトウェアバージョンウィンドウズ: ウィンドウズ10 MySQL: mysql-8.0.16-wi...

JavaScriptオフセットは、ウィンドウ内でのマウス座標の取得とモジュールのドラッグを実装します。

オフセットOffset はオフセットです。関連プロパティの offset シリーズを使用すると、次の...

MySQL 5.5.27 インストール グラフィック チュートリアル

1. MYSQLのインストール1. ダウンロードしたMySQLインストールファイルmysql-5.5...