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

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

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1317閲覧

media queryについて

DrsriN

総合スコア11

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/12/11 02:13

編集2020/12/14 02:18

position: absolute;
bottom: 0;
にしているのですが、このbottom: 0;を削除し
420px以下で
top:0;
に変更したいのですが、この時bottomは削除することができますか?

html

1<!-- header --> 2 <div id="header"> 3 4 <div id="sisi-box"> 5 <img src="img/sisi.png" alt="唐獅子" id="sisi"> 6 </div> 7 8 <div id="swirl-box"> 9 <img src="img/ swirl.png" alt="" id="swirl1"> 10 <img src="img/ swirl.png" alt="" id="swirl2"> 11 <img src="img/ swirl.png" alt="" id="swirl3"> 12 <img src="img/ swirl.png" alt="" id="swirl4"> 13 <img src="img/ swirl.png" alt="" id="swirl5"> 14 <img src="img/ swirl.png" alt="" id="swirl6"> 15 </div> 16 17 <ul id="nav-box"> 18 <a href="#window" id="work"><li>WORK</li></a> 19 <a href="#window" id="profile"><li>PROFILE</li></a> 20 <a href="#window" id="contact"><li>CONTACT</li></a> 21 </ul> 22 23 <div id="lant-box"> 24 <a href=""><img src="img/lantern.png" alt="" id="lant"></a> 25 </div> 26 27 </div>

css

1/*---------- head ----------*/ 2#header{ 3 border: solid 3px pink; 4 width: 100vw; 5 height: 100vh; 6 7 display: flex; 8 justify-content: center; 9 align-items: center; 10 11 background-color: rgb(214 150 43); 12} 13 14/* sisi */ 15#sisi-box{ 16 border: solid 3px green; 17 width: 70vw; 18 19 display: flex; 20 justify-content: center; 21 align-items: center; 22 23 z-index: 250; 24} 25 26#sisi{ 27 height: 90vh; 28} 29 30#nav-box{ 31 border: solid 3px orange; 32 33 position: absolute; 34 bottom: 0; 35 36 z-index: 750; 37} 38 39#nav-box,li{ 40 font-size: 35px; 41 font-family: 'Permanent Marker', cursive; 42 43 float: left; 44 margin: 35px; 45 46 list-style: none; 47 color: black; 48} 49 50/* swirl */ 51#swirl-box{ 52 border: solid 3px pink; 53 height: 100vh; 54 width: 100vw; 55 56 position: absolute; 57} 58 59#swirl1{ 60 height: 20%; 61 62 position: absolute; 63 top: 15%; 64 left: 15%; 65} 66 67#swirl2{ 68 height: 20%; 69 70 position: absolute; 71 top: 35%; 72 left: 5%; 73} 74 75#swirl3{ 76 height: 20%; 77 78 position: absolute; 79 top: 45%; 80 left: 20%; 81} 82 83#swirl4{ 84 height: 20%; 85 86 position: absolute; 87 top: 15%; 88 right: 15%; 89 90} 91 92#swirl5{ 93 height: 20%; 94 95 position: absolute; 96 top: 35%; 97 right: 5%; 98} 99 100#swirl6{ 101 height: 20%; 102 103 position: absolute; 104 top: 45%; 105 right: 20%; 106} 107 108/* lantern */ 109#lant-box{ 110 border: solid 3px white; 111 height: 30%; 112 113 position: absolute; 114 bottom: 5%; 115 left: 5%; 116 117 z-index: 500; 118} 119 120#lant{ 121 height: 100%; 122} 123 124/* Less than window width 420px CSS */ 125@media screen and ( max-width:420px ){ 126 127/*---------- head ----------*/ 128#nav-box{ 129 top: 0; 130 bottom: auto; 131} 132}

このようになっています。デベロッパーツールで確認したところ、
mediaqueryが反応していない可能性があるみたいです。

-----------------追記-----------------
イメージ説明
こちらtoggle device toolbarでスマホ画面にした画面です。
イメージ説明
こちらwindowsサイズで縮小した画面です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiok

2020/12/11 03:08

まずは、メディアクエリが効いた状態で、どのcssが適用されてるか、優先順位がどうなっているか、を確認したらいかがでしょうか? パソコンのブラウザを小さくして確認している場合、420pxになっていない可能性もありますので、一旦、@media screen and ( max-width:420px ){ を @media screen and ( max-width:1000px ){ などとしてみて、 デベロッパツールで確認してみては?
DrsriN

2020/12/14 00:45

返信遅れてすいません!先ほどchromeのデベロッパーツールで確認したところ確認したところ、windowサイズを手動で変えると正常に反応しました。Toggle device toolbarでスマホ表示にするとmediaqueryが反応しないみたいです。
miyabi_takatsuk

2020/12/14 02:25

回答のコメントでも記載しましたが、 下の画像は、おそらく420px以上あります。 ブラウザウィンドウは、基本的に、縮小限界ありますので、 上のデベロッパーツールで表示できているのならばなんの問題もありません。 また、ブラウザはあくまでエミュレーターなので、実デバイスで確認した方がよいかと。
hiok

2020/12/14 03:51

windows手動変更でメディアクエリが効いてる、ということは、サイトとしては正常に動作している、と言えるように思います。(かつ、スマホ実機で動作してるなら、ですが。) なぜ、toggle device toolbarでの表示にこだわるのでしょうか??
DrsriN

2020/12/14 05:06

そうなのですね!スマホ実機でのローカルデータを表示したことがない(やり方が分からない)のでtoggle device toolbarを使用しています...(泣)
guest

回答1

0

ベストアンサー

スタイルを初期化すると可能かと。

css

1#nav-box{ 2 top: 0; 3 bottom: inherit; 4}

投稿2020/12/11 02:21

miyabi_takatsuk

総合スコア9555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DrsriN

2020/12/11 02:33

ご回答ありがとうございます!試したところ、どうやらmediaqueryが聞いてないようなのですが、おかしな点等ありますでしょうか...?
miyabi_takatsuk

2020/12/11 02:36

あ、なるほど・・・。 確認しますので、少々お待ちを。
miyabi_takatsuk

2020/12/11 02:40

というより、position: relative; を効かせている要素がないようですが、その点はどうでしょうか? position: absolute;は、position: relative;を効かせている要素を親に持つことが前提の値になります。 (でないと、ビューポートの左上が基準となる)
DrsriN

2020/12/11 02:54

position: relative;は、このheadのさらに親要素のoutにつけていますので、問題ないかと思われます!
miyabi_takatsuk

2020/12/11 02:59

それなら、大丈夫そうですね。 その旨、質問文に記載いただいた方がいいかもしれません。 mediaqueryが効いていない、というのは、どういう状況でしょうか? スマホ端末で効かないのであれば、その端末自体も記載いただいた方がいいかと。 Androidは、論理ピクセルが、横420px以上の端末はけっこうありますので、 そういった端末では、本質問のmediaqueryは適用されません。
DrsriN

2020/12/14 00:34

なるほど!了解いたしました! /* Less than window width 960px CSS */ @media screen and ( max-width:960px ){ } /* Less than window width 420px CSS */ @media screen and ( max-width:420px ){ /*---------- head ----------*/ #nav-box{ top: 0; bottom: inherit; } このように書いていても、デベロッパーツールを用いてスマホ表示すると、反映されていないのです...
DrsriN

2020/12/14 00:46

先ほどchromeのデベロッパーツールで確認したところ確認したところ、windowサイズを手動で変えると正常に反応しました。Toggle device toolbarでスマホ表示にするとmediaqueryが反応しないみたいです。
miyabi_takatsuk

2020/12/14 01:29

解決したのであれば、自己解決の投稿か、BA選出して、質問を閉じましょう。 ただ、 > Toggle device toolbarでスマホ表示にするとmediaqueryが反応しないみたいです。 そんなわけないと思いますが・・・。
DrsriN

2020/12/14 02:18

本当にできないのです...。 今、投稿の編集で追記画像を貼りました。
miyabi_takatsuk

2020/12/14 02:22 編集

それ、おそらく420pxじゃないですよ。 上の、数値で調整している方の画像は、 グレーの内枠で420pxなので、 下の画像は、450pxくらいでしょうね。
DrsriN

2020/12/14 02:38

上の画像は、調整して420oxにしているのにも関わらず変更内容が反映されていません。 しかし、windowで横幅を変えた場合、変更内容が反映されます。 >上のデベロッパーツールで表示できているのならばなんの問題もありません。 下の画像の配置をmediaqueryで実現したいのですが...。
miyabi_takatsuk

2020/12/14 03:43 編集

あ、下を実現したいのですね。 ブラウザの表示を更新してください。 メディアクエリの反応は、遅い場合があります。 (スマホ実機の場合は、最初からそのサイズなので、即時反映だが、デベロッパーツールでの変更は反応が遅れる場合がある) また、420pxの時にしたいのであれば、 max-width: 421pxにしましょう。 あれ、以上、ではなく、以降なので、確か。
DrsriN

2020/12/14 05:07

なるほど!反映速度の問題なのですね。 了解いたしました!
miyabi_takatsuk

2020/12/14 06:17

遅いって言うと語弊ありましたね、すみません。速度の問題ではありません。 デベロッパーツールのシミュレータは、切り替えた段階では、ユーザーエージェントが切り替わってない、など、完全反映はされない状態です。 なので、更新ボタンを押して完全反映させる必要があります。 また、mediaqery自体が、再レンダリング時に、若干タイムラグがあり、処理が走るため、 手動でウィンドウの大きさを変えた場合は、反映の余地がありますが、 シミュレータの場合は、一瞬でサイズが切り替わるため、mediaqueryの処理が追いつかないからかと思われます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問