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

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

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

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

Flex

FlexはFlash PlayerやAdobe Airで動作するRIA(リッチインターネットアプリケーション)を開発する為のフレームワークです

HTML5

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

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Q&A

解決済

1回答

1198閲覧

レスポンシブflexboxを横並び→縦並びにすると、ボックス内の画像が勝手に拡大される

shiory

総合スコア1

CSS3

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

Flex

FlexはFlash PlayerやAdobe Airで動作するRIA(リッチインターネットアプリケーション)を開発する為のフレームワークです

HTML5

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

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

0グッド

0クリップ

投稿2021/08/06 06:07

はじめて質問させていただきます。
書き方がおかしかったらすいません。

レスポンシブでflexboxを横並び→縦並びにしても、ボックス内の画像の大きさと位置を維持したい

ビューポイント767pxで、flexboxを横並びから縦並びにするようにレスポンシブで指定したのですが、画面幅767px以下になるとボックス内の画像のうち、一番下の画像だけはみ出し、拡大表示されてしまいます。
PC表示ではボックス内の右下配置にしている画像で、画像サイズ自体幅100pxなのでボックスの幅(320px)より小さいのですが、勝手に拡大されており、検証ツールで見てみるとその画像の部分が(marginかpaddingを含んで)ボックス幅と同じになっていました。
拡大させないで、右下位置に配置したいです。
大きくなるのはclass名nameの画像です。

色々と試してみましたが、何も結果が得られず途方に暮れております。
何かいい解決策あればご教示頂きたくよろしくお願いいたします。

コード

HTML

1 <section class="section-voice" id="voice"> 2 <h2 class="center"><img class="title effect-fade" src="img/voice-title.png" alt="略"></h2> 3 <div class="voice-container"> 4 <ul> 5 <li><div class="voice-box effect-fade"><img src="img/voice1.png" alt="略"> 6 <p class="txt">説明文</p> 7 <img class="name" src="img/zokusei1.png" alt="27歳女性" width="100px" height="22px"></div> 8 </li>  9 <li><div class="voice-box effect-fade"><img src="img/voice2.png" alt="略"> 10 <p class="txt">説明文</p> 11 <img class="name" src="img/zokusei2.png" alt="30歳男性" width="100px" height="22px"></div> 12 </li>  13 <li><div class="voice-box effect-fade"><img src="img/voice3.png" alt="略"> 14 <p class="txt">説明文</p> 15 <img class="name" src="img/zokusei3.png" alt="33歳女性" width="100px" height="22px"></div> 16 </li>  17 </ul> 18 </div> 19 </section>

css

1 2.section-voice ul { 3 display: flex; 4 justify-content: space-between; 5 flex-wrap: wrap; 6 max-width: 1100px; 7 margin: 40px auto 0; 8} 9@media screen and (max-width: 767px) { 10 .section-voice ul { 11 display: flex; 12 flex-direction: column; 13 max-width: 480px; 14 min-width: 300px; 15 align-items: center; 16 margin: 20px 15px 0; 17 } 18} 19 20.voice-box{ 21 width: 300px; 22 height: 400px; 23 box-sizing: content-box; 24 background-color: snow; 25 padding: 10px; 26 27 border-radius: 10px; 28 position: relative; 29} 30 31@media screen and (max-width: 767px) { 32 .voice-box{ 33 width: 300px; 34 height: 450px; 35 box-sizing: content-box; 36 background-color: snow; 37 padding: 10px; 38 39 border-radius: 10px; 40 position: relative; 41 } 42} 43 44} 45@media only screen and (max-width: 767px) { 46 .section-voice ul li { 47 margin-bottom: 20px; 48 } 49 .section-voice ul li:last-child { 50 margin-bottom: 0; 51 } 52} 53.section-voice ul li img { 54 display: block; 55} 56 57@media only screen and (max-width: 767px) { 58 .section-voice ul li img { 59 display: block; 60 width: 100%; 61 } 62} 63 64.voice-box img{ 65 width: auto; 66 height: auto; 67 max-width: 80%; 68 max-height: auto; 69 margin: 0 auto; 70 padding-top: 10px; 71 padding-bottom: 50px; 72} 73 74@media only screen and (max-width: 767px) { 75 .voice-box img{ 76 width: 100%; 77 height: auto; 78 min-width: 300px; 79 padding: 30px; 80 } 81} 82 83.voice-box p{ 84 margin: 10px; 85 font-size: 14px; 86} 87 88@media only screen and (max-width: 767px) { 89 .voice-box p{ 90 margin: 10px; 91 padding-bottom: 30px; 92 font-size: 16px; 93 } 94} 95 96.name{ 97 position: absolute; 98 bottom: -30px; 99 right: 20px; 100} 101 102 103@media only screen and (max-width: 767px) { 104 .name{ 105 flex-grow: 0; 106 position: absolute; 107 bottom: -30px; 108 right: 20px; 109 } 110 } 111

試したこと

flex-grow、flex-basis、align-items、width100%、max-width100%、object-fitなど、目についたものは試してみました。
レスポンシブでflex-direction:columnにしているのは、画面の中央寄せにしたいからなのですが、外してPCと同じCSSにしても同様に拡大されます。
今CSSに書いているレスポンシブの.nameの内容は何も反映されていません…

イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

勝手に拡大されており

メディアクエリで min-width:300px と width:100% が指定されているので意図されたものですね。勝手にではないです。

一旦メディアクエリを使ってる部分を全部消して考えるのをオススメします。

投稿2021/08/06 06:29

muteki_gamer

総合スコア157

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

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

shiory

2021/08/06 07:53

1つずつメディアクエリ内を消したりしながら確認した結果、imgにかかっていたwidth:100%が原因だったと分かりました。 無事解決しました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問