質問
ある要素の高さを親要素の高さに対して100%にしたい場合、これまで私は親要素に対して高さを指定しないといけないと覚えておりました。
しかし、先日、親要素に高さを指定していないにも関わらず、その親要素の子要素の高さにheight: 100%
を設定すると、その要素の高さが親要素の高さと一致するケースに遭遇致しました。
以下がその例になるのですが、以下の結果を見る限り、position: absolute
が設定されている場合にheight: 100%
を設定すると、その親要素に高さが指定されていなくても親要素の高さと一致するようでした。
これは、親要素にposition: relative
が設定されている場合、その子要素にposition: absolute
とheight: 100%
を設定すると、対象要素はその親要素に高さと一致すると理解すればよろしいでしょうか?
試しに親要素からposition: relative
を外して試してもみましたが、その場合やbodyの高さと一致するようでした。
結果
HTML
<div class="wrapper"> <h1>Hello World!</h1> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> <a>link</a> <div class="box">BOX</div> </div>
CSS
.wrapper { position: relative; background-color: #cccccc; } /* 親の高さと一致する */ .wrapper::after { position: absolute; content: ""; background: red; width: 100px; height: 100%; top: 0; left: 0; opacity: 0.5 } /* 親の高さと一致する */ a { display: block; position: absolute; background: yellow; width: 100px; height: 100%; top: 0; right: 0; opacity: 0.5 } /* 親の高さと一致しない */ .box { width: 100px; height: 100%; background-color: green; margin: 0 auto; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/03 05:08