ブラウザー/デバイスの検出は、正しく行うのが難しいことで有名です。一部は歴史的な理由 (競合するレンダリング エンジン、ユーザー エージェントのスプーフィング) と、一部はデバイスによって公開されたユーザー エージェントが多すぎるためです (エージェント/デバイスの完全でないリストについては、こちらを参照してください)。 )。
ここでの回答のメソッドを (単純に) 使用することも、おそらくUA-Parser-js (JavaScript ベースの User-Agent String Parser) のようなものを使用して、以下を提供しようとすることも可能です。
(動作しますが、欠陥があります)。
特にiPad で使用する Web ベースのアプリを設計している場合を除き、ブラウザー/ビューポートの幅に基づいてコンテンツをリフローする多数の CSS メディア クエリを利用する必要があります。モバイル デバイスの例は次のとおりです。
@media only screen and (max-device-width: 480px) {
div#wrapper {
width: 400px;
}
Twitter ブートストラップにはレスポンシブ レイアウトも付属しています。どちらの場合も、ポートレート モードとランドスケープ モードの両方に対応する必要があります。また、iPad のバージョンと解像度が異なるため、特に Retina ディスプレイの画像の品質に影響します。後期モデルのディスプレイ:
第 1 世代および第 2 世代: 1024 × 768 ピクセル (132 PPI 4:3 アスペクト比)
第 3 および第 4 世代: 2048×1536 ピクセル (264 PPI)
ミニ: 1,024x768 ピクセル (163 PPI)