WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記事で説明したように、流動的なレイアウトを使用できます (アダプティブ幅レイアウト)。その他の特定の小さな問題は、メディア クエリを使用することで解決できます (レスポンシブ Web デザインと CSS3 メディア クエリを実現するために、IE で CSS3 メディア クエリをサポートするようにします)。
2. ほとんどの携帯電話には高度なブラウザが搭載されているため、HTML5 + CSS3 開発を使用できます。
3. 以下のように、メタタグを合理的かつ柔軟に使用します。


コードをコピー
コードは次のとおりです。

<meta content="width=デバイス幅、初期スケール=1.0、最大スケール=1.0、ユーザースケーラブル=0;" name="ビューポート" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="black" name="apple-mobile-web-app-status-bar-style" />
<meta content="telephone=no" name="format-detection" />


最初のメタ タグは、ドキュメントの幅をデバイスの幅と 1:1 に強制し、ドキュメントの最大幅比を 1.0 にし、ユーザーが画面をクリックして拡大できないようにします。
2 番目のメタ タグは、iPhone デバイス上の Safari 用のプライベート メタ タグであり、フルスクリーン モードでのブラウジングを許可することを意味します。
3 番目のメタ タグも iPhone 専用のタグで、iPhone の Safari の上部にあるステータス バーのスタイルを指定します。
4 番目のメタタグの意味: ページ内の数字を電話番号として無視するようにデバイスに指示します。例については、「一般的なメタタグの例」を参照してください。

4. リンクのサイズに注意してください。ほとんどの携帯電話はタッチスクリーンなので、ユーザーはラベルを簡単にクリックできる必要があります (以前記事を見たことがありますが、今はソースが見つかりません。最小サイズは 42px*42px のようです)。

操作オブジェクトのサイズは指の操作に合わせており、キーのサイズは仕様に従って設定されています。
人差し指のクリック間隔は約7×7mm、1mm間隔です。
親指クリック 8 x 8 mm、間隔 2 mm。現在推奨されている値は 9mm で、最小値は 7mm 以上である必要があります。
もちろん、重要な操作や頻繁にクリックする領域は少し大きめに設定することもできます。

5. グレースフル デグラデーション (スムーズなデグラデーション) を実現し、JS や画像の使用を減らす必要があります。また、ユーザーが JS や画像のダウンロードを禁止する場合、ページはその価値を反映する必要があります (多くのアプリは、3G 環境では画像やその他のリソースを自動的にダウンロードしないようにデフォルトで設定されているため)。
6. 画像処理では、幅を設定するだけで画像が適応的になり、変形を防ぎます。もちろん、対応デバイスの解像度が大きく異なる場合は、メディアクエリを使用して、異なる解像度に応じて異なる画像をロードする必要があります(同じ画像をいくつかの異なる仕様に設定する必要があります)。これは、解像度の低いデバイスが大きな画像を読み込んでトラフィックを無駄にしたり、解像度の高いデバイスが小さな画像を読み込んで画像がぼやけたりするのを防ぐためです。
7. 解像度の設定が小さすぎて、通常のモジュールが混雑して見える場合は、メディアクエリを使用して、768px で 2 列レイアウトを表示し、320px で 1 列レイアウトを表示するなど、解像度に応じてモジュールを適切に表示または非表示にすることができます。


コードをコピー
コードは次のとおりです。

/* 大きなデスクトップ */
@media (最小幅: 1200px) { ... }

/* 縦長のタブレットから横長のデスクトップへ */
@media (最小幅: 768px) および (最大幅: 979px) { ... }

/* 横長の携帯電話から縦長のタブレットへ */
@media (最大幅: 767px) { ... }

/* 横長の携帯電話と下向き */
@media (最大幅: 480px) { ... }

8. もちろん、異なる端末に基づいて異なるURLにジャンプすることもできます。参照:携帯電話やタブレットなどのモバイル端末向けのJavaScriptでジャンプURLに適応する
9. モバイルブラウザは数多くあり、モバイルシステムのデフォルトの処理方法も異なります。互換性の問題はPC版ほど単純ではないため、よく使われる処理方法をまとめる必要があります。例えば、-webkit-tap-highlight-color:rgba(0,0,0,0); /*リンクのハイライトを無効にする*/ -webkit-touch-callout:none; /*リンクを長押ししてオプションメニューをポップアップするのを無効にする*/ などです。
10. モバイル フォンやタブレットではトラフィックが非常に重要なので、Web アプリのクラス名と ID は、先頭は hd、中間は bd、下部は ft など、できるだけ区別できるものにする必要があります (この提案は、後のメンテナンスやその他の問題に便利かどうかを考慮しているため保留中です)。

<<:  HTML の類似タグと属性の違いの詳細な説明

>>:  角度付き双方向バインディングの詳細な説明

推薦する

MySQLでバッチを更新するいくつかの方法

通常、フィールド値を更新するには次の SQL ステートメントを使用します。 mytable を更新し...

「fsck」を使用して Linux のファイルシステムエラーを修正する方法

序文ファイル システムは、データの保存方法と復元方法を整理する役割を担います。 いずれにせよ、時間の...

vue+iviewのメニューとタブの連携方法

Vue+iview メニューとタブのリンク現在、vue+iview を使用してバックエンド管理システ...

コンテナDockerCommitを介してイメージを送信し、DockerPushでイメージをプッシュします。

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

Javascript クロージャの使用シナリオの原則の詳細

目次1. 終了2. クロージャの使用シナリオ1.タイムアウトを設定する2. コールバック3. 手ぶれ...

MySQLの複合インデックス方式の詳細な説明

どの DBMS でも、インデックスは最適化にとって最も重要な要素です。データ量が少ない場合、適切なイ...

Windows 10 Home EditionにDockerをインストールする方法を教えます

Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...

TypeScript での関数オーバーロード

目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...

MySQL データベースは SQL ステートメントを知っている必要があります (拡張バージョン)

拡張版です。質問とSQL文は以下の通りです。ユーザー テーブルを作成し、id、name、gender...

ユーザーのニーズがマーケティング指向のデザインにつながる

<br />それぞれのトピックについて、チーム内でメールで議論します。議論が白熱するにつ...

WEB中国語フォントアプリケーションガイド

Web 上でフォントを使用することは、基本的なスキルであると同時に芸術でもあります。英語のフォントに...

jQuery でダイナミックなパーティクル効果を実現

この記事では、動的なパーティクル効果を実現するためのjQueryの具体的なコードを参考までに紹介しま...

Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

1. データベースをインストールする1) yum -y install mysql-server (...

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

MySQL8.0.12 インストールチュートリアルをみんなで共有します。 1. インストール1.イン...

Vue3 の使用 (パート 1) Vue CLI プロジェクトの作成

目次1. 公式ドキュメント2. Vue CLIプロジェクトを作成する1. Vue CLIをインストー...