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

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

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

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

HTML5

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

Q&A

解決済

1回答

1104閲覧

gridシステムを使ってタイル型に要素(画像+テキスト)を並べたい。

sikiryogi

総合スコア2

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2021/07/20 08:06

前提・実現したいこと

gridシステムを使ってタイル型に要素(画像+テキスト)を並べたい。

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

グリッド幅に<fr>を用いて可変的な要素を作りたいが、
幅にfrを指定しているにも関わらず子要素がグリッドをはみ出てしまう。
ある程度余白をもたせたいのでmax-width使用しています。

自身の認識では幅の指定にfrを使用していることから
ディスプレイ幅を狭めていけばそれに伴って画像のサイズも縮小するのでは
ないかと思っていました。

認識違いのご指摘及びどうすればレイアウト崩れを解消できるか
ご教授いただければと思います。

また画像のサイズは全て620 × 460です。
イメージ説明

該当のソースコード

【html該当箇所】-------------------------------------------

<!-- メイン部分 --> <div class="menu_grid"> <div class="item big_box"> <img src="/images/menu1.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu2.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu3.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu4.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu5.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu6.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu7.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu8.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> <div class="item"> <img src="/images/menu9.jpg" alt="" /> <p>写真キャプション写真キャプション</p> </div> </div> <!-- メイン部分 -->

【css該当箇所】--------------------------------------------

.menu_grid {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr 1fr;
max-width: 1100px;
margin: 0 auto;
}

.menu_grid p {
margin: 0;
}

試したこと

画像のサイズを調整すべきかと思い、
.menu_grid img {
width: 100%;
height: 100%;
}
を加えてみました。
ディスプレイ幅を縮小・拡大させた際には希望通りの挙動になったのですが、
テキスト部分がグリッドからはみ出し他の画像と被ってしまいます。
イメージ説明

補足情報(FW/ツールのバージョンなど)

オリジナル画像サイズ:620 × 460(全て)
max-width:1100px設定

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

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

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

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

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

guest

回答1

0

ベストアンサー

こちらではいかがでしょうか。frは「余ったスペースの分割割合」を指定するものなので、縮小はしないです。

css

1.menu_grid img { 2width: 100%; 3}

投稿2021/07/20 08:21

Lhankor_Mhy

総合スコア36158

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

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

sikiryogi

2021/07/20 10:41

早々にお答えいただきありがとうございます。 今確認したら解決しました。frについてもご説明ありがとうございます!
Lhankor_Mhy

2021/07/20 10:49

お役に立てたようで何よりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問