目次
パート 1 まず歴史について話しましょう:
Part2 バージョン VS 互換:
パート 3 すぐに使えるフレックスボックスの最良の例
1. flex をプロンプト アイコンとして使用します
同様に、次のようにするだけです。柔軟な親要素 「align-items」属性を使用すると、柔軟なリスト要素を作成できます。以下の図に示すように、3 つの状態の変形には CSS ファイルを変更する必要はありません。必要に応じて DOM 構造を非表示にするだけで済みます。
均等に分割されたタブの作成は、flexbox の最も一般的な機能です。実装原理は、「親要素」と「子要素」に「display: flex」と「flex: 1」を割り当てるだけです。 "それぞれ。できます。子要素の幅は、コンテンツの長さに応じて変わりません。以下の図に示すように、フロントエンドの生徒がタブの数を増減する場合、スタイルを変更せずに DOM 構造を増減するだけで済みます。
7. flex を使用して垂直方向の伸縮性のあるレイアウトを作成します
が付属しています。 > 1. 上記のモデルは、Umeng、Yongyongbao、WeChat、Tencent Cloud からの運用活動データの統計的統合に基づく上位 7 モデルです。
ホームページ ウェブフロントエンド htmlチュートリアル 完全なモバイル互換性のあるフレックスボックス クラッシュ course_html/css_WEB-ITnose

完全なモバイル互換性のあるフレックスボックス クラッシュ course_html/css_WEB-ITnose

Jun 21, 2016 am 08:45 AM

フレックスボックスといえば古いものですが、2009年にW3Cが提案した新しいスケーラブルなCSSレイアウト手法です。フレックスボックスを利用すると、スケーラブルなページのレイアウトをより簡単かつ効率的に完成させることができます。

業界には古いものから新しいものまでさまざまな flexbox に関するチュートリアル記事が存在します。その理由は、flexbox を使用したいと思っているものの、各バージョンの書き込み仕様を区別できないためです。皆さんがいつも口にする「フレックスボックスの互換性が良くない」という言葉にも悩まされています。 そこで今日は、重要な投稿を要約し、投稿者がプロジェクトで使用したフレックスボックスを確認し、「互換性」を気にする必要のないフレックスボックスの最良の例についてお話します (この記事ではモバイルについてのみ説明しています)端子)。

パート 1 まず歴史について話しましょう:

2009 年の Flexbox 仕様の最初のバージョンでは、「display:box;」と記述していましたが、

中期には、 Flexbox の用語バージョン; 「display:flexbox;」と書きます

現在の仕様バージョンでは、「display:flex;」と定義します。フレックスボックスの仕様の策定は難しく、常に変化しています。

しかし、現在使用されている最新のドラフト バージョンは、今年 3 月 1 日に正式に W3C の勧告候補段階に入りました。つまり、フレックスボックスの最終版は、仕様が実装されようとしています。

Part2 バージョン VS 互換:

下の図に示すように、Opera mobile12 を除くすべての主要なモバイル ブラウザは古いバージョンの flexbox 構文をサポートしていますが、flex の Wrap 属性は含まれていません。 。

パート 3 すぐに使えるフレックスボックスの最良の例

(以下のコード スニペットはすべて、モバイル端末との完全な互換性のあるフレックスボックスの記述方法と、検証済みのフレックスボックスのリストに従っています)モデルは記事の最後にあります) まず、フレックスボックスのプロパティ システムを確認してみましょう。率直に言うと、私たちがよく言う「フレックスボックス」には、実際には「親要素」と「子要素」の 2 つの部分が含まれています。 「親要素」はフレックスボックスとして定義され、「親要素」の「サブ要素」には自由に伸縮する機能が与えられます。 魔法の能力を与えるコード スニペットは次のとおりです。

1. flex をプロンプト アイコンとして使用します

flex 親要素の "align-items" 属性は次のとおりです。ここで使用されます。 側面の軸に沿った要素の配置を指定します。 flex-start | space-around | 1 つの属性設定で上揃えを完了できます。または シンプルで便利な下揃えスイッチです。

【デモリンク】: http://jsfiddle.net/tikizzz/2zuthdap/

2. flex を使用してリスト要素を作成します

同様に、次のようにするだけです。柔軟な親要素 「align-items」属性を使用すると、柔軟なリスト要素を作成できます。以下の図に示すように、3 つの状態の変形には CSS ファイルを変更する必要はありません。必要に応じて DOM 構造を非表示にするだけで済みます。

ここで 1 つのヒントに注意してください。以下の例の左画像と右ボタンなどの固定幅のサブ要素の場合、「flex:1」機能を追加する必要はありません。彼らはそのままです。

[デモリンク]: https://jsfiddle.net/tikizzz/ztdfq5dw/

3. フレックスを使用してタブを作成します

均等に分割されたタブの作成は、flexbox の最も一般的な機能です。実装原理は、「親要素」と「子要素」に「display: flex」と「flex: 1」を割り当てるだけです。 "それぞれ。できます。子要素の幅は、コンテンツの長さに応じて変わりません。以下の図に示すように、フロントエンドの生徒がタブの数を増減する場合、スタイルを変更せずに DOM 構造を増減するだけで済みます。

★主な互換性のヒント: 古いバージョンの仕様では、比例拡大縮小レイアウトを使用する場合、サブ要素のコンテンツの長さが異なるため、比例拡大縮小レイアウトを使用できなくなります。このとき、サブ要素に「width:0%」を設定する必要があります。この問題は解決されます。 ★重要な互換性のヒント: フレックスボックスの子要素に「margin:auto」属性を設定しないでください。一部の Android マシンでは、要素の幅がスペースの 100% に拡張されます

【デモリンク】: https://jsfiddle.net/tikizzz/ztdfq5dw/

4. ナビゲーションに flex を使用し (3 項目のレイアウトにのみ適しています)、align-items 属性も使用します, フレックスボックスのナビゲーション制作が簡単に完了できます。

ただし、ナビゲーションがシングルボタンレイアウトになると、タイトルバーが移動するため、特にお勧めしません。

[デモリンク]: https://jsfiddle.net/tikizzz/g2Lj417p/

5. flex を使用して、align-items 属性を使用して検索バーを作成します、また、フレックスボックス検索バーを簡単に作成することもできます。

[デモリンク]: https://jsfiddle.net/tikizzz/yut2qv9b/

6. 垂直方向のセンタリングにフレックスを使用します (単一/複数)

上記の 5 つの例では、実際にはフレックスボックスの基本プロパティと「align-items」プロパティのみを使用しています。これで終わったと思わないでください。Flexbox を使ってできることはまだあります。たとえば、「垂直方向のセンタリング」は常に私たちを悩ませてきました。flexbox を使用すると、画面上で幅と高さが可変の無制限の要素の「水平 + 垂直方向のセンタリング」を簡単に実現できます。

この部分は flexbox の別の属性を使用します。主軸に沿った要素の配置を指定します。 flex-start | space-around | 「軸交差配置方法」を中央に設定すると、子要素がどのような形状であっても、いつでもどこでも「水平方向と垂直方向の中央揃え」が可能です。

[デモリンク]: https://jsfiddle.net/tikizzz/zq8cdkfg/

7. flex を使用して垂直方向の伸縮性のあるレイアウトを作成します

上部の列、下部の列は固定されており、中央の要素はスクロール バーをサポートしています。これは、「垂直フレキシブル レイアウト」としておなじみのモバイル端末のページ構造モデルです。従来の flxed 書き込み方法を使用すると、一部の Android マシンには避けられない迷惑なバグが常に発生します。実際、フレックスボックスの変換方向属性をうまく利用すれば、この構造モデルを簡単に実装できます。下の図に示すように、実際には垂直方向の弾性膨張モデルを反転した水平方向の弾性膨張モデルです。

この部分は flexbox の方向属性を使用します。主軸の拡張フローの方向を指定します。 flex-direction: row column; ここで、box-orient に注意してください。 , Box-direction は、flex-box コントロールの方向の 2 つの古いバージョンであり、互換性を確保するには、両方を完全に記述する必要があります。

【デモリンク】: https://jsfiddle.net/tikizzz/obLp1mga/

最後に、完全なデモコレクションが含まれています: http://115.159 。 36.96/tikizheng/flextest/demo.html

Part4 その他

上記のデモがモバイル端末を開発する友人の役に立てば幸いです。もちろん、フレックスボックスにはオーダーやラップなどの優れた属性もありますが、現時点ではすべてのモバイル システムと互換性があるわけではありません。x5 カーネルは、フレックスボックスのすべての属性と完全に互換性があると述べたところです。フレックスボックスの今後にご期待ください。 さらに、

テスト済みモデル

が付属しています。 > 1. 上記のモデルは、Umeng、Yongyongbao、WeChat、Tencent Cloud からの運用活動データの統計的統合に基づく上位 7 モデルです。

2.上位 8 ~ 10 位の Huawei、Oppo、Meizu モデルは各ブランドの最も高い割合で選択されており、ブランド差別化テストのために存在します。

3. 黄色でマークされた解像度は、人気の上位 6 つの解像度であり、iOS 市場の 87% 以上、Android 市場の 50% 以上を占めています (Android には解像度が多すぎて、残りの 50% が占めています)。分解能が均等に分散されているため、当面は必要な測定範囲には含まれません)。

4.iOS8.0 以降と Android4.0 以降はモバイル システムの 90% をカバーし、そのうち iOS9.0 以降は 65% 以上を占め、Android4.4 以降は 60% 以上を占めます。各モデルのシステムのすべてのバージョンをカバーすることが必須です。古いバージョンのバグの数が 3 つを超える場合、それは必須テスト問題のあるバージョンとして設定されます。

タグ: css3、flexbox、h5 レイアウト

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

< Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

< datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

< meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

See all articles