2012-09-06 5 views
6

CSS @mediaのクエリはIE8では機能しません。JavaScriptを使用してCSSファイルを読み取り、ページを動的に変更してください。

@media (min-width: 768px) { 
/* some css */ 
} 
@media (min-width: 972px) and (max-width: 1024px){ 
/* different css */ 
} 

今、私はIE_min768.cssIE_min972_max1024という名前個別のCSSファイルを作成し、ページ幅が調整されるように動的ファイルをロードし、アンロードするためにJavascriptを使用することができます。しかしそれはD.R.Yに違反します。複数の場所でCSSを維持するのは苦痛になります。

CSSファイルを実際に読み取って@mediaセクションを検出し、そのCSSをブラウザに動的に正しく適用するためにJavascript(IEのみ)を使用できますか?

+0

「メディアクエリのサポートがないと、最初のメディアクエリです。」 – Pointy

+0

CSSをDRYするには '@ import'を使用できますか? –

+0

類似の投稿の詳細情報: http://stackoverflow.com/questions/7444658/best-solution-framework-to-responsive-design-for-ie7?rq=1 – Kostia

答えて

6

ホイールを再発明しないでください。ちょうどrespond.jsを使用してください。 GitHubの上のreadmeから

このスクリプトの目的はCSS3のメディアをサポートしていないブラウザに対応したWebデザインを有効にするために、高速かつ軽量(3キロバイト縮小さ/ 1キロバイトgzip圧縮された)スクリプトを提供することであり

クエリ - 特に、Internet Explorer 8以降。これはおそらく、他のサポートされていないブラウザのサポートにもパッチを当てるように書かれています。

+0

美しい作品です!完全性のために、respond.jsの作成者がリンクしている[css3-mediaqueries-js](http://code.google.com/p/css3-mediaqueries-js/)についても言及したいと思います。私のCSSはあまり複雑ではないので、応答は私のために働いています。 – brentonstrine

関連する問題