2012-04-11 3 views

答えて

8

メディアクエリを使用している場合は、「応答性」クラスのボディエレメントの下にルールを適用するだけです。

@media screen and (max-width: 320px) { 
    body.responsive { 
    color: blue; 
    } 
} 

ユーザーがレスポンシブなレイアウトを表示したくない場合は、body要素から '反応する'クラスを削除してすべてのルールを無効にします。クッキーなどの方法でユーザーの設定を保持することもできます。

デモ:白いテキスト、および背景の青に変わります超えない500pxなどに窓を削減http://jsbin.com/obaquq/edit#javascript,html

。これは、「反応性の」クラスを持つ身体の条件付きです。最初の段落をクリックすると、このクラスが切り替わり、メディアクエリ自体の効果が切り替わります。

+0

これは完璧な答えです。つまり、jQueryのようなものを使ってモバイルデバイスであるかどうかを確認してから、レスポンシブなクラスを追加するべきですか?それとも別の方法ですか? –

+0

@NicHubbard私はデフォルトでレスポンシブサイトから始めます。つまり、デフォルトでは 'respondive'クラスをボディにロードします。人々は反応的な経験からオプトアウトします。 – Sampson

+2

@NicHubbard次に、あなたのメディアクエリを使用して、小さな画面に "フルサイト"リンクのみを表示すると、リンクは '応答性クラス 'を削除します。 –

1

これを試したことはありませんでしたが、この問題については自分で考えました。私はあなたが完全なバージョンを残して、コア応答スタイルシートを非アクティブ化するスタイルシートスイッチャーを使用することができると想像してください

スタイルシートを切り替えることは確かに新しい概念ではありません。ここでは2001年頃のALAの記事で、スイッチングスタイルシートを扱っています:http://www.alistapart.com/articles/alternate/

2

私はこれについて疑問に思っています。私はビューポートタグを変更するためにjQueryを使用して成功しましたが、これまでのことからかなりうまく機能しているようです。複数のスタイルシートや多くの余分なCSSを必要としません。

http://creativeandcode.com/responsive-view-full-site/

関連する問題