🏞️next/imageで、固定値ではなくレイアウトの幅に合わせたい時の書き方2025/04/08に公開3件CSSNext.jsReactTypeScriptimagetechほぼ備忘録です。 <img>で書くと、linterに怒られるので何とかできないかということで調べたら見つけました。 <Image src={imageUrl} alt="画像" width={0} height={0} sizes="100%" style={{ width: "100%", height: "auto" }} /> こう書けば、横幅に合わせた画像表示になります。 DiscussionHoney3210日前fill Prop を使えば、width と height に 0 を渡さずにできると思います! https://nextjs.org/docs/pages/api-reference/components/image#fill Manabu Kurita10日前に更新ご意見ありがとうございます!👍 自分のローカルで試してみたのですが、こんなエラーが発生しちゃうみたいです。 Error: Image with src "/images/lp/lp_1.png" has both "fill" and "style.height" properties. Images with "fill" always use height 100% - it cannot be modified. どうやら、fillを使ってしまうと、stylesの方のheightもエラーになってしまうので、 意図したスタイリングにできなさそうでした。😅 stylesのheightを消してしまうと、fillが優先されて、要素をはみ出して画像配置してしちゃうんですよね笑 Honey329日前よく見返すと、横幅は親に従って、縦の長さは画像そのもののアスペクト比を維持するよう自動で設定するってケースだったんですね💦 Next.js のドキュメントの中ではこのようなケースについてキチンと説明されていなくて難しいですよね… たぶん style={{ width: "100%", height: "auto" }} で大丈夫だと思います 失礼しました 🙇 返信を追加
Honey3210日前fill Prop を使えば、width と height に 0 を渡さずにできると思います! https://nextjs.org/docs/pages/api-reference/components/image#fill
Manabu Kurita10日前に更新ご意見ありがとうございます!👍 自分のローカルで試してみたのですが、こんなエラーが発生しちゃうみたいです。 Error: Image with src "/images/lp/lp_1.png" has both "fill" and "style.height" properties. Images with "fill" always use height 100% - it cannot be modified. どうやら、fillを使ってしまうと、stylesの方のheightもエラーになってしまうので、 意図したスタイリングにできなさそうでした。😅 stylesのheightを消してしまうと、fillが優先されて、要素をはみ出して画像配置してしちゃうんですよね笑 Honey329日前よく見返すと、横幅は親に従って、縦の長さは画像そのもののアスペクト比を維持するよう自動で設定するってケースだったんですね💦 Next.js のドキュメントの中ではこのようなケースについてキチンと説明されていなくて難しいですよね… たぶん style={{ width: "100%", height: "auto" }} で大丈夫だと思います 失礼しました 🙇 返信を追加
Honey329日前よく見返すと、横幅は親に従って、縦の長さは画像そのもののアスペクト比を維持するよう自動で設定するってケースだったんですね💦 Next.js のドキュメントの中ではこのようなケースについてキチンと説明されていなくて難しいですよね… たぶん style={{ width: "100%", height: "auto" }} で大丈夫だと思います 失礼しました 🙇
Discussion
fill
Prop を使えば、width
とheight
に0
を渡さずにできると思います!ご意見ありがとうございます!👍
自分のローカルで試してみたのですが、こんなエラーが発生しちゃうみたいです。
どうやら、fillを使ってしまうと、stylesの方のheightもエラーになってしまうので、
意図したスタイリングにできなさそうでした。😅
stylesのheightを消してしまうと、fillが優先されて、要素をはみ出して画像配置してしちゃうんですよね笑
よく見返すと、横幅は親に従って、縦の長さは画像そのもののアスペクト比を維持するよう自動で設定するってケースだったんですね💦
Next.js のドキュメントの中ではこのようなケースについてキチンと説明されていなくて難しいですよね…
たぶん
style={{ width: "100%", height: "auto" }}
で大丈夫だと思います失礼しました 🙇