タブレットやスマートフォン向けサイトを画面サイズに合わせてviewportを変える際のTips

タブレットやスマートフォン向けのサイトを作っているときにぶち当たる問題が端末の画面に対するデザインのサイズ設定。

デザインもリキッドレイアウトをメインにしつつブロック要素で構成していたりすると画面を回転させたとき、幅が可変にならず右に余白が。。。。といったことがあったのでその対処法も少しばかり載せておく。

一般的に画面が回転するとそれに応じてブラウザの縦、横幅のサイズも入れ替わるはずなのだが、一部には入れ替わらないものがあり、そのときの対処を考えるのに無駄に時間がかかったりしてしまう。

自分がいろいろ探して見た結果、回転したときの角度を取得してそれに応じて画面幅をviewportにJavaScriptで振り分ける方法が比較的簡単に適応できる方法だとわかりました。

JavaScriptで window.orientation を使うと角度が取得できる。

自分が検証に使った端末は横長のときに0度or180度、
縦長のとき90度、-90度と表示されていたので、
縦横が入れ替わらない場合の設定は(jQuery使用)

var orientation = window.orientation;
//角度の取得

if((orientation == 0)||(orientation == 180)){
//横長のときの設定
var hscale = $(window).width();
var wscale = $(window).height();
}else{
//縦長のときの設定
var wscale = $(window).width();
var hscale = $(window).height();
}
var viewport = $(‘meta[name=”viewport”]’);
$(全体幅を指定している要素).css({width:wscale});
viewport.attr(‘content’, ‘width=’+wscale+’, initial-scale=1, maximum-scale=1′);

といった感じで設定。

よりシームレスにするには画面幅に応じていくつかレイアウトデザイン(max-width?など)を定めた上で行うと効果的。

未だ少し理解できていないAndroid OS2.Xと3.Xのブラウザのviewport周りの挙動についてわかり次第またかきます。

Web制作に携わる際、知っておきたいこと

Web制作に携わる際、知っておきたいことはいろいろある。
その中でも重要なものと、知っておくと便利なものをいくつかあげてみた。
1.インターネットの仕組み
どのような経路をたどってユーザーが見るのかというところやインフラとしてみたときのWebというメディア。
アナログ波のテレビやラジオのような制作側が一方的に放送する形態とはまったく異なることをまず理解できていないと
不可解な出来事が起こったり、巻き込まれてしまったりする。
2.HTML関連
最低限知っておきたいのは表示される仕組み、タグの名前と意味。それに付け加えてスタイルシートやXHTMLの厳格な規格の規定なども知っておきたい。実のところ、今のWeb業界を志す学生の大半は自分でHTMLをかけてしまう。
3.プログラム・データベース関連
プログラム言語にもさまざまな種類があり、動作するプロセスや場所、機能がそれぞれ異なる。どういったサービスにはどのようなプログラムが適切なのか、その場で答えを出せる必要はないが、全体像を見出せるだけの知識は必要。
4.XML関連
今、さまざまなところで使われているXML。XHTMLをはじめ、SOAPやAjaxなど、普段何気なく使っているサービスの裏でXMLは日常的に使われています。XMLの中には用途・規格別にさまざまなものがあるので、その名称と特徴は知っておきたい。
5.現状の業界の流れ
さまざまな業界がある中で、プラットフォームのサイクルがもっとも速いため、今何が注目され、利用されているのか常に注意を払っておく必要がある。半年前に出てきたものが今では一般化しているということも多々あり、日々新しい情報を取り入れる柔軟性がないと浦島太郎になる日も近いかもしれない。
しかし、流行に載るだけでは、ただ疲れてしまうだけなので、今後伸びるであろう技術やサービス、方法論に目星をつけて重点的に学習していくことが大事。そして何よりも、その情報をインターネット上のみでまかなうのではなく、テレビや新聞、書籍などからも吸収することで、信憑性のある事実が見えてくる。
そこで気になるブログを見つけましたのでリンクを(WWW WATCH
とても参考になる記事も多く、勉強になります。
XHTML、CSS を学ぶ時の 6つの間違い
Web デザイナーに求めたい 5つのこと