LESS.js と @media クエリを使用してレスポンシブ レイアウトを作成すると、Respond.js が機能しません。誰もそれを機能させる方法を理解したことがありますか?
質問する
655 次
1 に答える
3
Respond.js は次のように機能します。ブラウザはすべてのルールを DOM やスタイル シート内のテキストに公開するわけではありません。つまり、古いブラウザのメディア クエリなどのサポートされていない機能は公開されません。メディア クエリをポリフィルできるようにするために、css ファイル自体をダウンロードし (キャッシュにあることを期待)、正規表現を実行してメディア クエリを除外します。ウィンドウのサイズに関連する styleRules を、新しく埋め込まれたスタイルシート内に動的に追加するので、メディア クエリをサポートしていないブラウザでも、それらの styleRules を「見る」ことができます。
私はless.jsのコードベースにあまり詳しくありませんが、一見するとほとんど同じように機能しているように見えます。処理が異なり、結果は.lessファイルから完全に生成されたスタイルシートですが、原則はおおよそです同じ。
Respond.js がファイルをダウンロードする必要があり、respond.update() も生成されたスタイルシートで機能しないという事実を考えると、いずれかのスクリプトを変更しない限り、これは不可能だと思います。
PM5544に役立つことを願っています
于 2011-11-15T22:18:29.947 に答える