フレックスレイアウトは、上下固定、中間スライドのレイアウトモードを実現します。

フレックスレイアウトは、上下固定、中間スライドのレイアウトモードを実現します。

この記事では、主に、上下固定と中スライドレイアウトを実現するためのフレックスレイアウトのレイアウト方法を紹介し、次のように共有します。

たとえば、このようなページでは、ヘッダー画像、下部のバー、中央のスライド可能なコンテンツ領域を配置するとします。

達成方法を簡単に紹介する

固定ヘッダーとフッター、スライド可能な中央、フレックスレイアウトを使用
1. htmlとbodyの高さを100%に設定する
2. 最も外側の div のレイアウトを柔軟なレイアウト display:flex; に設定します。
3. 最も外側のdivの主軸の方向をflex-direction: columnに設定します。主軸は垂直で、開始点は上端になります。
行 (デフォルト): 主軸は水平で、開始点は左端になります。
row-reverse: 主軸は水平で、開始点は右端にあります。
列: 主軸は垂直で、開始点は上端にあります。
column-reverse: 主軸は垂直で、開始点は下端にあります。
4. 一番外側のdivの高さを100%に設定する
5. ヘッダースタイルを通常通り記述する
6. テールスタイルを普通に書く
7. 中間のスタイルは、flex: 1; overflow: hidden または overflow: auto; -webkit-overflow-scrolling: touch です。後者は、iOS フォンでスライドするときに問題が発生します。プラグインを使用することをお勧めします。

HTML部分:

<div class="main-warp">
    <div class="header">
      <img src="imgurl" class="header-img" alt>
    </div>
    <div class="content">
      <div class="content-scroll">
        <div class="ショップボックス">
          <img src="imgurl" alt>
        </div>
        <div class="ショップボックス">
          <img src="imgurl" alt >
        </div>
        <div class="ショップボックス">
          <img src="imgurl" alt >
        </div>
        <div class="ショップボックス">
          <img src="imgurl" alt >
        </div>
      </div>
    </div>
    <div class="フッター"></div>
  </div>

js部分:

<スクリプト>
'better-scroll' から BScroll をインポートします
エクスポートデフォルト{
  データ () {
    戻る {
      
    }
  },
 
  コンポーネント:
  },
  メソッド: {
 
  },
 
  計算: {
 
  },
 
  マウントされた(){
    this.$nextTick(関数() {
      /* eslint を無効にする no-new */
      pageBottom = document.querySelector('.content') とします。
      新しいBScroll(pageBottom, { クリック: true })
    })
  },
  作成された(){
  }
}
</スクリプト>

スタイル部分:

<style lang="less" rel="stylesheet/less" type="text/less">
@r: 100;
// ヘッダーとフッターを固定し、中央部分はスライド可能で、フレックスレイアウトを使用しています // HTML、
体 {
  背景: url("//storage.jd.com/1901/04nianhuojie/02lingquanbg_02.png")
    繰り返し-y;
  背景サイズ: 100%;
  高さ: 100%;
}
.main-warp {
  最大幅: 750px;
  最小高さ: 100%;
  マージン: 0 自動;
  ディスプレイ: フレックス;
  flex-direction: 列;
  高さ: 100%;
  幅: 100%;
  ボックスのサイズ: 境界線ボックス;
  .ヘッダー{
    高さ: 500rem / @r;
    .ヘッダー画像{
      高さ: 500rem / @r;
    }
  }
  。コンテンツ {
    フレックス: 1;
    幅: 100%;
    オーバーフロー: 非表示;
    // オーバーフロー: 自動;
    // -webkit-overflow-scrolling: タッチ;
    .ショップボックス{
      マージン: 50rem / @r 0;
      画像 {
        幅: 106rem / @r;
      }
    }
  }
  .フッター{
    背景: url("//storage.jd.com/1901/04nianhuojie/fixbtnbg_02.png") 繰り返し;
    背景サイズ: 12rem / @r 11rem / @r;
    高さ: 82rem / @r;
    幅: 100%;
    下部: 0;
    色: #ffdeb8;
    フォントサイズ: 34rem / @r;
    行の高さ: 82rem / @r;
    テキスト配置: 中央;
    フォントの太さ: 太字;
    最大幅: 750px;
  }
}
 
</スタイル>

説明すると、モバイル端末で

オーバーフロー:自動;

-webkit-オーバーフロースクロール: タッチ;

iOS では、ボックスの領域を超えて指をスライドすると、再度スライドしたときに領域がスライドしない、まるで指がボックスに触れなかったかのような状態になりやすいです。そのため、ここでは BScroll プラグインを使用しており、IScroll を使用した場合も同様です。

最終的な効果は、コンテンツの直接の子要素にトランジション効果を追加することです。

このレイアウトをここに記録する

注意: このレイアウト方法は iOS 9.3 以下とは互換性がありません。iOS の下位バージョンと互換性を持たせる必要がある場合は、Flex レイアウトを慎重に使用してください。

フレックスレイアウトで上下を固定し、中央をスライドさせるレイアウトを実現する方法についての記事はこれで終わりです。上下を固定し、中央をスライドさせるフレックスレイアウトの関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySQL の undo、redo、binlog の違いを簡単に分析します

>>:  HTML メタの使用例

推薦する

IE6/7 で絶対配置された要素が不可解に消えたりブロックされたりする問題を解決する方法

1. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しくなく、フロートがクリ...

Docker を使用して nginx で tomcat クラスターを構築する方法 (画像とテキスト付き)

まず、Tomcatフォルダを作成します。Dockerの設定を容易にするために、ルートディレクトリに直...

Docker 上で Redis クラスターを構築する

目次1. イメージをプルする2. Redisコンテナを作成する3. コンテナを起動するためにクラスタ...

JPQLに基づく純粋なSQL文方式の詳細な説明

JPQL は Java Persistence Query Language の略です。 Java ...

AngularパイプラインPIPEの紹介と使い方

序文PIPE、パイプラインと翻訳されます。 Angular パイプは、HTML コンポーネントで宣言...

MySQLのどのフィールドがインデックスに適しているかについての簡単な説明

目次1 データベース インデックスを作成するための一般的なルールは次のとおりです。 2. 数千万件の...

Docker Consul の概要とクラスター環境構築手順(グラフィカルな説明)

目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...

Navicat for MySQLのスケジュールされたデータベースバックアップとデータ復旧の詳細

データベースの変更または削除操作によってデータ エラーが発生したり、データベースがクラッシュしたりす...

仮想マシンのLinux初心者がIPを設定し、ネットワークを再起動する

仮想マシンを初めて使用する方や、仮想マシンに Linux をインストールしたばかりの方は、システムが...

Elasticsearch を使用する際の一般的な問題の解決策

1. redis で使用すると Netty の起動競合が発生するため、***Application ...

ウィンドウ内のさまざまな距離/スクロール距離の正確な計算の概要

通常、プロジェクト開発では、マージン、位置、座標などを扱う必要があります。悲劇なのは、これらの概念が...

Mysqlはブール型の演算を設定します

Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

CCS におけるマージン: トップ崩壊問題を解決する

HTML 構造は次のとおりです。 CCS 構造は次のとおりです。 ページ効果図は次のとおりです。 こ...

JavaScript を使用した数独の完全な実装プロセス

目次序文数独の解き方最初のボックスに記入してください2番目のボックスに記入してください3番目のボック...