別のモバイルデバイスで表示されるHTMLページをいくつか作成したいと考えています。さまざまなモバイル画面サイズに自動的に調整してもらいたい。
HTMLページには、テキストと画像が含まれます。画像は600x450よりも大きい場合がありますが、モバイル画面が(たとえば)280x320の場合、画像はサイズが自動的に調整されてフィットします。
これどうやってするの?
あなたが話しているページが文字通りとテキストだけを含んでいるなら、私は各HTMLページであなたがする必要があるすべてはこれだと思います:
これを viewportメタタグ を<head>
タグ内に追加します。
<meta name="viewport" content="width=device-width">
これにより、ページが適切なサイズでレンダリングされます。
この<style>
タグを<head>
タグ内に追加します。
<style>
img {
max-width: 100%;
}
</style>
Ithinkこれにより、すべての画像がアプリのWebビューのビューポートよりも広く表示されなくなります。
(それが機能しない場合は、代わりにwidth: 100%;
を試してください。これにより、すべての画像がビューポートと同じ幅になるため、幅が広くなりません。)
しかし、あなたの質問は少し一般的すぎます。すべての可能性をカバーする本を書いてしまう可能性があります。実際に取り組んでいるコードにより具体的にすることができますか?
この手法は、流動的またはアダプティブレイアウトと呼ばれ、優れた導入があります here
メディアクエリは、必要な操作を行うための最良の方法です。
通常どおりにhtmlとスタイルシートを設定しますが、CSSドキュメントの最後に以下のコードのようなものを使用します。さまざまなデバイスの幅とレイアウトに対してさまざまなクエリを実行する必要がありますが、これで開始できます。
/* iPHONE 3-4 + RETINA PORTRAIT STYLES */
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (max-device-height: 480px) and (orientation:portrait) {
/* Your adjusted CSS goes here */
}
/* iPHONE 3-4 + RETINA LANDSCAPE STYLES */
@media only screen and (max-device-width: 480px) and (min-device-width: 320px) and (max-device-height: 480px) and (orientation:landscape) {
/* Your adjusted CSS goes here */
}
ここには多くのオプションがあり、1つの質問で話すのは最も遠い詳細です。
これを行う「自動」方法はありません-手動でコーディングする必要があります。私が考えることができる3つのオプションは、さらに調査が必要になります。
メディアクエリを使用してレイアウトをレスポンシブにすることができます。つまり、小、中、大のすべての画面を修正します。
詳細については、このチュートリアルをご覧ください- レスポンシブデザインを簡単なステップで学習