質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

scssでメディアクエリの記述だけが機能しない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,022

score 8

前提・実現したいこと

メディアクエリの実行をしたい。
370px以下の表示条件を指定したい。

発生している問題・エラーメッセージ

メディアクエリが指定通りに反映しない。
同じscssファイル内にはメディアクエリ以外の記述もありますが、それらは問題なく反映されています。
エラー等は特に出ていません。

該当のソースコード

/* HTML */

<!DOCTYPE html>
<html lang="ja">
<head>
<title>株式会社ALT</title>
<meta charset="utf-8">
<meta name="description" content="株式会社AAA">
<meta name="viewport" content="width=device-width">
<link rel="icon" href="favicon.ico">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<%= render partial: "shared/header" %>
<%= yield %>
<%= render partial: "shared/footer" %>
</body>
</html>

/* 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を使用しています。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • maisumakun

    2019/09/16 09:11

    「メディアクエリが指定通りに反映しない」のは、「指定した幅にしても反映されない」のか「指定した幅以外でも反映されてしまう」のか、どちらでしょうか。

    キャンセル

  • ayako_sato

    2019/09/16 18:11

    ありがとうございます。

    指定した幅にしても反映されない、です。
    もともとPC版では「.contact-form」などはwidth:800pxで指定しており、今回370px用に350pxに指定してあるのですがそれも反映されずで…。

    キャンセル

回答 1

check解決した方法

0

自己解決をしましたので報告します。

解決方法

メディアクエリの記載は、CSS(SCCS)ファイルの行末に記載すること。

解決までの経緯

記載内容(コード)自体に問題はなく、反映が全くされないということで経験者に相談。
その際に下記のサイトを紹介してもらいました。

エンジニアはもう一度CSSとちゃんと向き合ってみよう - 詳細度編
メディアクエリは詳細度を変えない
[CSS] CSSの詳細度による「適用順(優先順位)」と「上書き」

本件はscssに限ったことではなく「詳細度と優先順位」「上書き」の問題であることを理解し、「メディアクエリの記載場所」がファイルの中の「行頭であるか行末であるかの違い」で起こる現象であることを確認。

今回、先に書いたメディアクエリの内容が反映されなかった件が単純にそれ以下に書いてある「幅370px以外の指定」が上書き(優先)されたことによって発生していたものです。
今回ファイルの行頭に記載してしまっていたメディアクエリのコードを行末に移動しただけで反映されました。

その他

CSSの学習時に詳細度や上書きについてしっかり覚えていなかったためにドハマりしてしましました。
SCSSに限った問題ではなく、基本のCSS知識不足により起こったトラブルでした。
初歩の初歩での躓きでお騒がせしました…ご覧いただいた皆様申し訳ありません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る