body―header領域(ページタイトルやロゴを表示する領域)
―content領域(コンテンツを表示する領域)
content―main領域(主要な情報を表示、レイアウトが変わっても常にページ左上に表示)
―sub領域(3つのsection要素から構成され、各sectionはカラム数に応じてその配置を変える。)
各section領域の位置は、使用するCSSによって決定される。
そして、どのCSSを使用するかは、HTML内に記述されたメディアクエリによって選択される。
用意されているCSSは、デスクトップ用、タブレット用、スマートフォン用の3種類。
デスクトップ用CSSだけはfloat属性を使って複数のカラムが表示される。
●CSS
<link href="css/iphone.css" rel="stylesheet" type="text/css" media="only screen and(min-width:0px)and(max-width:320px)">
<link href="css/tablet.css" rel="stylesheet" type="text/css" media="only screen and(min-width:321px)and(max-width:910px)">
<link href="css/desktop.css" rel="stylesheet" type="text/css" media="only screen and(min-width:911p)">
この場合のCSS指定。0~320ピクセル、321~920ピクセル、921ピクセル以上という画面幅を条件として、
メディアクエリによって3種類のCSSファイルから選択される。
デスクトップ用のCSSにはさらにメディアクエリが含まれていて、
ブラウザの幅によっては3つのsection領域をすべて横に並べる4カラム表示まで対応している。
メディアクエリをサポートしていないブラウザでは、ウィンドウ幅によらず2カラムのレイアウトで表示される。
メディアクエリによってCSSを切り替えることで、
レイアウト以外の最適化も可能になっている。
たとえば、1カラム表示でsub領域がmain領域の下に配置されるときは、
sub領域にもmain領域と同様のボーダーや影が表示される。
また、スマートフォン用のCSSをでは、見やすさを考慮して大きめのフォントが指定されている。
この他に、タッチデバイスの最適化を行うことも可能。