これが完璧というわけではないけど、
viewportの設定めも。
var ua = navigator.userAgent;
if(/iPhone/.test(ua)) {
$(window).bind("load orientationchange",function(){
if(Math.abs(window.orientation) === 90){
$("body").addClass('wrap');
$("html").css("zoom" , 1 );
}else{
$("body").removeClass('wrap');
portraitWidth=$(window).width();
$("html").css("zoom" , portraitWidth/320 );
}
});
} else {
$(window).bind("load resize", function(event) {
if (window.innerHeight > window.innerWidth) {
portraitWidth=$(window).width();
$("html").css("zoom" , portraitWidth/320 );
$("body").removeClass('wrap');
} else {
$("body").addClass('wrap');
}
});
}
.wrapにはwidthとmargin: 0 autoを指定してる。
横にしても画面一杯にならず、端っこ少しあけたいときに使用。
なんでiphoneとAndroidで分岐をしてるのかというと、
windowのサイズ取得したものだとiOS5(←...)でおかしくて、
orientationで分岐させたものだとAndroid4.×系でおかしいのがあったから。
普通はwindowのサイズ取得のみでいいと思う。
ググってみるとだいたいorientationchangeで分岐してるけど、
自分が確認してる機種だとうまくいかず、うーんといったかんじ。
jsようわからん。