レスポンシブ対応だけど、
タブレットはPCと同じ見た目でいいのになー、ということありませんか?
そんな時のための備忘録です。
viewportをjsで切り分け
デバイスごとにviewportを書き換える方法です。
1 2 3 4 5 6 7 8 |
$(function(){ var ua = navigator.userAgent; if((ua.indexOf('iPhone') > 0) || ua.indexOf('iPod') > 0 || (ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0)){ $('head').prepend(''); } else { $('head').prepend(''); } } |
ちなみに
1 |
if((ua.indexOf('iPhone') > 0) || ua.indexOf('iPod') > 0 || (ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0)){ |
> 0
と言う記述はtrue
と同義。
この場合、
iPhoneの時か
iPodの時か
Androidの時
もしくはMobileの時
という指定になります。
ポイントはviewport!
レスポンシブ対応のときは、
呪文のように以下のviewportを指定します。
1 |
<meta name="viewport" content="width=device-width,initial-scale=1"> |
横幅=デバイス幅にする設定です。
PCのみ対応していた時代のviewportは
1 |
<meta name="viewport" content="width=1200"> |
こんな表記でした。
この設定だと、デバイスの幅を問わず表示幅を1200pxとみなすため、
タブレットで見てもPC表示のまま縮小されます。
それを逆手に取って今回は、
デバイス毎にviewportを書き換えた、という訳です。
まとめ
PCとタブレット表示が一緒だと楽ちんです。
臨機応変に、活用してみてください。
コメント