質問: ### 前提・実現したいこと メディアクエリの実行をしたい。 370px以下の表示条件を指定したい。 ### 発生している問題・エラーメッセージ メディアクエリが指定通りに反映しない。 同じscssファイル内にはメディアクエリ以外の記述もありますが、それらは問題なく反映されています。 エラー等は特に出ていません。 ### 該当のソースコード /* HTML */ 株式会社ALT <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <%= render partial: "shared/header" %> <%= yield %> <%= render partial: "shared/footer" %> /* scss */ @media screen and (max-width: 370px ){ .works { background: #f0f0f0; margin-bottom: 30px; .flex { width: 100%; justify-content: center; } } .work{ position: relative; box-sizing: border-box; padding: 30px 10px; } .gallery{ background: image-url("gallery.png"); background-size: cover; height: 100px; background-position: 50% 50%; padding: 0px; } .contact-form-bg{ color: #fff; background: image-url("Foamback.png"); height: 480px; background-size: cover; background-position: 50% 50%; padding: 0px; } .contact-title{ width: inherit; padding: 60px 0px 10px 0px; text-align: left; } .contact-form{ width: 350px; margin: 0px auto; display: block; } input.form-space{ width: 350px; height: 40px; } textarea.message-space{ width: 350px; height: 100px; resize: none; } .button-position{ width: inherit; text-align: right; } } ### 試したこと viewport記載済みです。 検証画面でレスポンシブに設定し、幅を369pxまで縮めて確認していますが反映されていない状態です。 過去の同じような回答を拝見しましたが、ほかにscssファイルに重複した記載等もなく困り果てております...。 ### 補足情報(FW/ツールのバージョンなど) VSCOODEを使用しています。 saucetreeを使用しています。
回答: 自己解決をしましたので報告します。 ### 解決方法 メディアクエリの記載は、CSS(SCCS)ファイルの行末に記載すること。 ### 解決までの経緯 記載内容(コード)自体に問題はなく、反映が全くされないということで経験者に相談。 その際に下記のサイトを紹介してもらいました。 エンジニアはもう一度CSSとちゃんと向き合ってみよう - 詳細度編 メディアクエリは詳細度を変えない [CSS] CSSの詳細度による「適用順(優先順位)」と「上書き」 本件はscssに限ったことではなく**「詳細度と優先順位」「上書き」の問題**であることを理解し、**「メディアクエリの記載場所」がファイルの中の「行頭であるか行末であるかの違い」**で起こる現象であることを確認。 今回、先に書いたメディアクエリの内容が反映されなかった件が単純にそれ以下に書いてある「幅370px以外の指定」が上書き(優先)されたことによって発生していたものです。 今回ファイルの行頭に記載してしまっていた**メディアクエリのコードを行末に移動しただけで反映されました。** ### その他 CSSの学習時に詳細度や上書きについてしっかり覚えていなかったためにドハマりしてしましました。 **SCSSに限った問題ではなく**、基本のCSS知識不足により起こったトラブルでした。 初歩の初歩での躓きでお騒がせしました...ご覧いただいた皆様申し訳ありません。