レスポンシブサイトでスマホ用cssが反映されない。
現在レスポンシブサイトを作成しています。
スマホでチェックした際
スマホ用cssが反映されず、PC用cssが反映され、スマホ表示が崩れてしまいました。
応急処置としてPC用cssが反映されてしまう箇所については、
スマホ用CSSでその箇所に 「!important」を記載したので、今は表示は崩れていません。
このようにレスポンシブサイトでスマホ用cssが反映されず、PC用cssが反映されるとき皆様はどういった対応されていますか。
個人的に「!important」以外の解決策があれば知りたいと思い質問投稿させて頂きました。
設定は下記です。
■ビューポート設定■
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=yes">
■cssの書き方■
PC用css
@media screen and (max-width: 500px) {
スマホ用CSS
}
宜しくお願い致します。
みんなの回答 3 件
PC用をデフォルトにしないで、共通部分とPC用をきちんと明確に区別する。
例で言えば
@media screen and (min-width: 501px) {
PC用css
}
とでもすれば、PC用の設定の混入に悩まされる事は無いじゃない?
PC用もCSSでくくっちゃいましょう。@media only screen and (min-width: 1000px) {}とかで。
意図しないクラスが優先されているってことは、
1.記述の順番、クラスの優先順位
例えばメディアクエリの後に更になんかのクラスで上書きしてるとか?
2.意図したCSSが読み込まれていないなら
クラス名の間違いとか、記述の間違い
らへんを疑うかな。
基本、
①共通のCSSを書く
②メディアクエリで上書きする
の順で記述していけば、important指定をしなくてもできます。
たぶん、メディアクエリの順番が前後してたりとかで優先順位がおかしくなってるんじゃないでしょうか。
関連するトピックス