🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

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

CSS

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

Q&A

解決済

2回答

929閲覧

レスポンシブ対応について

mikan23

総合スコア13

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/03/26 06:22

560px以下になった場合、画像を切り替えるようにしたいのですが
画面を小さくしていくとモバイル版の画像が切り替わらず消えてしまいます。
pc版の時にはモバイル画像が消えて欲しいのでnoneにしていますが
@mediaの中に指定しても出てこないのでしょうか?
初心者な質問で申し訳ないですがお分かりになる方いらっしゃいましたらよろしくお願いします。

html

1<div class="top inview fadeIn"> 2 <img src="images/toppic600.jpg" class="toppic" alt="top"> 3 <img src="images/m_toppic.jpg" class="m_toppic" alt="top"> 4 </div>

css

1.top{ 2 height: 680px; 3} 4.toppic { 5 width: 100%; 6 height: 680px; 7 object-fit: cover; 8} 9.m_toppic{ 10 display: none; 11} 12 13@media only screen and (max-width: 560px) { 14.top{ 15 height: 667px; 16} 17.m_toppic { 18 width: 100%; 19 height: 667px; 20 object-fit: cover; 21} 22.toppic { 23 display: none; 24}

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

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

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

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

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

K_3578

2021/03/26 06:30

要件の確認ですが、PCとスマートフォン等で画像を切り替えたいという事だけでしょうか?
mikan23

2021/03/26 06:32

そうですね。 本当はそのまま画像が小さく引いてくれればいいのですがうまくいかなそうなので 縮小した画像に切り替えたいと思っています。
K_3578

2021/03/26 06:40 編集

色々違ってたので削除.
guest

回答2

0

以下の2点を修正すれば画像の切替を行うことができると思います。

    1. @mediaの部分の最後に } がない

css

1@media only screen and (max-width: 560px) { 2.top{ 3 height: 667px; 4} 5.m_toppic { 6 width: 100%; 7 height: 667px; 8 object-fit: cover; 9} 10.toppic { 11 display: none; 12} 13} /*ここを追記*/
    1. @mediaの中に.m_toppicの部分にdisplay: blockの表記がない

.m_toppicの値がdispaly: noneから変更がないため、サイズが小さくなってもsp画像がdispaly: noneのままになってしまっています。

css

1@media only screen and (max-width: 560px) { 2.top{ 3 height: 667px; 4} 5.m_toppic { 6 display: block; /*ここを追記*/ 7 width: 100%; 8 height: 667px; 9 object-fit: cover; 10} 11.toppic { 12 display: none; 13} 14}

投稿2021/03/26 06:38

jackmiwamiwa

総合スコア400

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

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

mikan23

2021/03/26 06:42

>1. @mediaの部分の最後に } がない 失礼しました。こちらのコピペミスです、こちらに貼り損ねていました。 display:blockで画像表示が維持されました。 ありがとうございました。
guest

0

ベストアンサー

メディアクエリの外側に書いてあるCSSは、画面幅が変わっても有効なままなので、.m_toppicにはdisplay: none;がそのまま適用されている状態です。

メディアクエリ内の.m_toppicdisplay: block;を追加すれば表示されます。

CSS

1.m_toppic{ 2 display: none; /*画面幅が狭くなってもこれが適用されているので*/ 3} 4 5@media only screen and (max-width: 560px) { 6 .m_toppic { 7 display: block; /*これを追加してdisplayプロパティを上書き*/ 8 width: 100%; 9 height: 667px; 10 object-fit: cover; 11 } 12}

★追記
「質問への追記・修正」拝見しました。
「そのまま画像が小さく引いてくれれば」の認識がこれで合っているかわかりませんが、これで画像の全体が画面内に収まるようになると思います。
やりたい事が違っていたらすみません!

CSS

1@media only screen and (max-width: 560px) { 2 .m_toppic { 3 display: block; 4 width: 100%; 5 /*height: 667px;*/ /*これは削除*/ 6 object-fit: contain; /*coverをcontainに変更*/ 7 } 8}

投稿2021/03/26 06:37

編集2021/03/26 06:50
mai1210

総合スコア272

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

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

mikan23

2021/03/26 06:43

ありがとうございます。 display: block;で画像の維持ができました。 ご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問