[JS]IE6でもブラウザのサイズに合わせて最適なスタイルシートを適用するスクリプト -Adapt.js
Post on:2011年4月18日
sponsorsr
CSS3のMedia Queriesを使用して同様のことができますが、CSS3非対応ブラウザでも動作し、且つjQueryなど他のスクリプトに依存しないでブラウザの幅をチェックし、そのサイズに最適化されたスタイルシートのみをロードさせる超軽量(894bytes)のスクリプトを紹介します。

Adapt.js - Adaptive CSS
左:ファイル名、右:スクリーンサイズ
[ad#ad-2]
スクリプトの制作は「960 Grid System」と同じNathan Smith氏なので、960 Grid Systemとの相性がよいのではないでしょうか。
また、対応ブラウザの表記は見あたりませんでしたが、IE6でも動作しました。
スクリプトでは、上記キャプチャのようにサイズごとに異なるスタイルシートを指定し、ユーザーの環境に合わせて最適なレイアウトで表示することができます。
下記は、同サイトをブラウザのサイズを変更して表示したものです。

1024x768で表示

800x600で表示

640x480で表示
[ad#ad-2]
Adapt.jsの実装
使い方は簡単で、「range」に最初は最小値から、最後に最大値を指定し、その間に「to」を使用してサイズを想定し、それぞれのスタイルシートファイルを指定します。
スタイルシートのパスは、「path」で指定します。
スタイルシートの読み込むタイミングは、初回時のみ、リサイズ時、の二つに対応しており、「dynamic」で指定します。
JavaScript
// Edit to suit your needs.
var ADAPT_CONFIG = {
  // Where is your CSS?
  path: 'assets/css/',
  // false = Only run once, when page first loads.
  // true = Change on window resize and page tilt.
  dynamic: true,
  // First range entry is the minimum.
  // Last range entry is the maximum.
  // Should have at least one "to" range.
  range: [
    '760px            = mobile.css',
    '760px  to 960px  = 720.css',
    '960px  to 1280px = 960.css',
    '1280px to 1600px = 1200.css',
    '1600px to 1920px = 1560.css',
    '1920px           = fluid.css'
  ]
};
スクリプトの利用は無料で、ライセンスはGPL, MIT Licenseです。
sponsors











