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 の類似タグと属性の違いの詳細な説明

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

推薦する

Dockerリポジトリの一般的なコマンドの詳細な説明

ログイン dockerログインdocker login コマンドを実行し、ユーザー名、パスワード、メ...

MySQL Community Server 5.7.16 のグリーン バージョンをインストールしてリモート ログインを実装する方法

1. MySQL Community Server 5.7.16をダウンロードしてインストールします...

MySQL レプリケーションの原理と実際のアプリケーションの詳細な説明

この記事では、例を使用して、MySQL レプリケーションの原理と実際のアプリケーションについて説明し...

Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策

/etc/my.confファイルで、[mysqld]の下に次の行を追加します: skip-grant...

HTML 選択タグにおける単一選択と複数選択の詳細な説明

select 要素は、単一選択または複数選択のメニューを作成します。フォームが送信されると、ブラウザ...

CSS レスポンシブ レイアウト システムの例コード

レスポンシブ レイアウト システムは、今日の一般的な CSS フレームワークではすでに非常に一般的で...

Nodeイベントループの包括的な理解

目次ノードイベントループイベントループ図メインスレッドイベントループタイマーキューの仕組み投票キュー...

Helloダイアログボックスのデザイン体験の共有

「どうしたの?」特定の種類のダイアログ ボックスに慣れていない限り、ダイアログ ボックスが表示された...

Vue.jsでタブ切り替えと色変更操作を実装する解説

この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...

HTML と CSS の基礎 (必読)

(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...

Nginx キャッシュ設定例

Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...

HTMLはマウスをホバーしたときにテキストを表示するためにtitle属性を使用します。

コードをコピーコードは次のとおりです。 <a href=# title="ここに表示...

Linux ユーザー状態とカーネル状態間の通信方法の詳細な説明

CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...

MySQL 上級学習インデックスの長所と短所、使用ルール

1. インデックスの利点と欠点利点: 高速検索、高速グループ化および並べ替えデメリット: ストレージ...

ユーザーエクスペリエンスの概要

最近では、ソフトウェアやウェブサイトのいずれの作業であっても、設計時に「ユーザー エクスペリエンス」...