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

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

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

Q&A

解決済

3回答

441閲覧

親要素内にあるリストの項目数に応じて高さが変動する子要素を実現するためのcssを教えてください。

junad

総合スコア3

0グッド

0クリップ

投稿2022/07/28 14:57

実現したいこと

リストの項目数に応じて子要素の高さが変動するUIを実現したいです。

条件として親要素の高さは固定で、リストがない場合は子要素の高さが親要素の高さと同じになります。

ご回答していただけると幸いです。よろしくお願いいたします。

イメージ説明

現状

下記ソースコードだと以下のような画面になります。
イメージ説明

該当のソースコード

html

1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <title>Document</title> 8 <link rel="stylesheet" type="text/css" href="index.css" /> 9 </head> 10 <body> 11 <div class="outerBox"> 12 <div class="list"> 13 <div class="listItem"> 14 <p>Item</p> 15 </div> 16 <div class="listItem"> 17 <p>Item</p> 18 </div> 19 </div> 20 <div class="innerBox"> 21 <p>子要素</p> 22 </div> 23 </div> 24 </body> 25</html>

css

1.outerBox { 2 height: 400px; 3 width: 100%; 4 display: flex; 5 padding: 40px; 6 flex-direction: column; 7 background-color: #b3fff2; 8} 9 10.innerBox { 11 height: auto; 12 min-width: 40px; 13 width: 100%; 14 position: relative; 15 background-color: #fff2cc; 16} 17 18.list { 19 background-color: #ece9f4; 20 margin-bottom: 20px; 21} 22 23.listItem { 24 background-color: #d5cde6; 25 margin: 0px 20px; 26} 27 28body { 29 padding: 200px; 30} 31

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

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

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

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

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

guest

回答3

0

ベストアンサー

.innerBox を flex-grow で伸ばせばいいと思います。

CSS

1.innerBox { 2 flex-grow: 1; 3/* 4 height: auto; 5 min-width: 40px; 6 width: 100%; 7 position: relative; 8*/ 9 background-color: #fff2cc; 10}

投稿2022/07/28 16:10

CTRL-S

総合スコア176

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

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

junad

2022/08/17 07:50

ご指摘通り修正したところ、問題なく動きました! ご回答ありがとうございます。
guest

0

下記を追加すればどうでしょう。

css

1.innerBox { 2 flex: auto; 3}

flex - CSS: カスケーディングスタイルシート | MDN

auto
アイテムは width および height プロパティによって寸法が決められますが、フレックスコンテナーの空き領域を埋めるために伸長したり、コンテナーに合うように最小サイズまで収縮したりします。これは "flex: 1 1 auto" と同等です。

投稿2022/07/28 15:51

hatena19

総合スコア33715

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

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

junad

2022/08/17 07:50

ご指摘通り修正したところ、問題なく動きました! ご回答ありがとうございます。
guest

0

firefoxは対応してないですが、height: -webkit-fill-available;とすると、親要素からはみ出さない範囲で最大の高さになります。

CSS property: height: stretch | Can I use... Support tables for HTML5, CSS3, etc

投稿2022/07/29 04:23

Lhankor_Mhy

総合スコア36115

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

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

junad

2022/08/17 07:50

ご指摘通り修正したところ、問題なく動きました! ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問