

半日かけてネットや本で調べてもわからなかったので教えてください。
幅が500pxの画像2枚を、800pxの親要素の中で横並びにしたいです。
この場合、画像2枚を合わせると1000pxになるので、親要素より多い200pxがはみ出してしまいます。
そうではなくて、親要素の幅に応じて画像の大きさを変える(縦横比を保ったまま)には、どうしたらいいのでしょうか。
下記が私が考えたソースなのですが、何か足りないものなどご指摘をいただけないでしょうか。
【HTML】
ケーキとプリンの画像を横並びにするべく、「oyatsu」という親要素を作りました。
※画像+名前にしたかったので、<p>タグを追加しています。
<div class="oyatsu">
<div class="foods">
<img src="cake.jpg" alt="ケーキ">
<p>ケーキ</p>
</div>
<div class="foods">
<img src="pudding.jpg" alt="プリン">
<p>プリン</p>
</div>
</div>
【CSS】
①親要素のoyatsuクラスにdisplay:flex;を指定し、横並びにしました。
また、幅を800pxに指定しました。
.oyatsu{display:flex;
width: 800px;}
②ネットなどで調べて、いろんなセレクタを指定して試行錯誤しましたが、
最終的にはこうなりました。
.foods img{max-width: 800px;
justify-content: space-between; }
③文字の位置を中央揃えにしました。
.foods p{text-align: center;}
画像の横並びには成功しました。しかし、とにかく何をしても、画像の大きさが変わりません。
imgタグは、たとえdivで親要素の中に含まれているものだとしても、従順にその中に納まることなく、
自由奔放に、画像本来のサイズとなってしまうのでしょうか。
私はてっきり、親要素の幅に合わせて、子要素である画像の方が大きくなったり小さくなったりするものだと思っていました。
試しに親要素(oyatsu)の幅を色々変えてみましたが、画像の大きさが変わることはありませんでした。
苦肉の策で、justify-contentを指定すれば、親要素の幅の中でやりくりしてくれるかと思いきや、変わりませんでした。
今日有給をとったのに、ほぼこの部分で時間を費やしてしまいました…
ご教示願います。
No.1ベストアンサー
- 回答日時:
こんばんは
flex指定はその子要素の大きさを調整しますが、孫要素以下には直接の影響は与えません。
また、img要素は、サイズの指定がなければ本来の大きさで表示されます。
以下の指定ではいかがでしょうか?
.oyatsu {
display: flex;
width: 800px;
}
.oyatsu img {
width: 100%;
}
おはようございます。さっそくのご回答ありがとうございます!!
すぐに気がつけば良かったのですが、これから出かける直前でした(;'∀')
昼休みか、帰宅したらさっそく教えていただいたコードでやってみます。
思いのほかシンプルなコードで、それにも驚いています!ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストに常に下線を引きたい
-
高一数学です この(1)がわかり...
-
含む含まないという概念自体の...
-
下線と文字の間を調整するには...
-
<br />と<br>は同じ意味ですか?
-
ブロック要素の幅を中身の幅に...
-
input type="file"の幅と高さ
-
CSSのa:hoverが急に一部だけ効...
-
【至急】cssのコーディングにつ...
-
FireFoxでリンクをクリックして...
-
テンプレート使用時のMETAタグ...
-
既婚男女の方、結婚前と結婚後...
-
textareaの幅を画面と合わせたい
-
文字とリンク線の間隔について
-
div classによるページ上部に戻...
-
border: noneでボタンの境界線...
-
CSS:overflow要素の印刷について
-
HTMLでTextareaを横に2つ並べ...
-
firefox 右クリックの選択肢...
-
タグの締め
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
含む含まないという概念自体の...
-
角丸画像の背景色を透明にした...
-
改行ほどは行かないけど、若干...
-
input type="hidden"で取得した...
-
CSSで改行後の行間調整
-
質問1.
-
smallにtext-allignが効かない
-
テキストボックスの中にリンク...
-
CSS:overflow要素の印刷について
-
【ヒトの神秘】美男美女から何...
-
aの中にspan
-
textareaの幅を画面と合わせたい
-
HTML の繰返し法???
-
html タグの閉じスラッシュ前の...
-
HTMLページ上でiframeを最前面...
-
下線と文字の間を調整するには...
-
figcaption要素の中にul要素
-
メールアドレス(グループ)の...
-
emとstrongの反対
-
ある要素の中身を全部グレーア...
おすすめ情報
fujilinさん、今出先からやってみたところ、綺麗に収まりました。
あれだけ苦労(泣)したのに。すごい!!
ありがとうございました!!!