ある教材で、下記コードの.lessonを画面の中心に持ってくる練習問題がありました。
html
1<section class="lesson"> 2 <h1>lesson</h1> 3</section> 4<div class="container"></div>
css
1.lesson { 2 inset: 0; 3 margin: auto; 4 position: fixed; 5 6 background-color: #fff; 7 padding: 20px; 8 width: fit-content; 9 height: fit-content;
解説には.lesson内の下記の3つの組み合わせで中心に持ってこれるとあったのですが、理屈がよくわかりません。
css
1 inset: 0; 2 margin: auto; 3 position: fixed;
私が理解できないのは下記3点になります。
・1点目:調べたところmargin: autoはtop/bottom/left/right同時に指定されると書いてましたが、基本横方向の中心にしか来てくれませんでした。 position:fixedを入れたら、ようやく縦方向の中心に来てくれたのですが、margin: autoはposition:fixedがないと縦に移動しないのでしょうか。
・2点目:insetはpositionプロパティと一緒に使用するのが一般的とありました。
またinset:0;だと上下左右の四方向の位置を一度に指定することができると教材に書いてありました。
しかしinset:0;だと上下左右全て親要素の端くっついてる状態ではないかと思ったのですが、それは親要素の画面一杯に要素が広がらないと成立しない状態ではないのでしょうか。
しかし教材の画面では親要素一杯に広がっている感じではありませんでした。
・3点目:2点目に疑問に思ったinsetで指定した要素が親要素の画面一杯に広がる状態かどうかを調べたていたところ、明確な回答は見つかりませんでした。
しかし調べていく中で、要素が大きくなって画面全体を覆っている状態は異なりますとでました。この言葉の意味しているところがわかりません。
どなたかご教示いただけませんでしょうか。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/03/22 13:49