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

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

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

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

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

固定ヘッダーとフッター、スライド可能な中央、フレックスレイアウトを使用
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 メタの使用例

推薦する

HTMLは無効なテーブル幅設定の問題を解決します

テーブルに table-layer:fixed スタイルを設定し、テーブル内の行が結合されていること...

Docker 基本チュートリアル: Dockerfile 構文の詳細な説明

序文Dockerfile は Docker プログラムによって解釈されるスクリプトです。Docker...

Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明

サーバーステータス分析Linux サーバーの CPU の詳細を表示する#CPU情報を表示[root@...

CSS マルチレベルメニュー実装コード

これは、Web ページを Windows のスタート メニューなどのデスクトップ プログラムのように...

LinuxシステムでのSystemC環境設定方法

以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...

ウェブページ要素の完全な分析

相対的な長さの単位それら説明: 相対的な長さの単位。現在のオブジェクト内のテキストのフォント サイズ...

CSSで背景ぼかしを設定する方法

ページを作成するときに、ページの見栄えを良くするために、背景画像を設定する必要があることがよくありま...

Ubuntu LinuxにOracle Java 14をインストールする方法

最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...

ウェブページのカラーマッチングスキルについての簡単な説明(フロントエンド開発者必読)

一般的に、Web ページの背景色は、より柔らかく、よりシンプルで、より明るく、暗いテキストとマッチし...

Nginx を使用してクロスドメイン Vue 開発環境を処理する方法

1. 需要正しい Cookie 配信と SSO テストを確実に実行できるように、ローカル テスト ド...

Docker で複数のアプリケーション サイトをプロキシするために Nginx を使用する方法

序文エージェントの役割は何ですか? - 複数のドメイン名が同じサーバーに解決される- 1つのサーバー...

JS ES6における構造化分解についてお話しましょう

概要es6 では、配列またはオブジェクトから指定された要素を取得する新しい方法が追加されました。これ...

Centos7でファイルをバックアップするときは、バックアップファイルにバックアップの日付を追加します

Linux は、システム内のデバイス、インターフェース、ファイル、スタートアップ、アプリケーション ...