2016-10-18 5 views
2

は、私は、次のコードを持っている: パディングトップ:100%はどのように機能しますか?

と子が完璧な四角になり、何らかの理由で

.parent { 
 
     width: 30%; 
 
     border: 1px dotted red; 
 
    } 
 

 
    .child { 
 
     padding-top: 100%; 
 
     border: 1px solid black; 
 
    }
<div class="parent"> 
 
     <div class="child"></div> 
 
    </div>
。 divのいずれにも割り当てられていない高さがないため、これは少なくとも変です。なぜこうなった?

padding-top: 100%は何をしますか?

Fiddle

+3

padding-bottom:100%は、「要素の幅と同じ高さのパディングボトムを作成する」という意味です。したがって、正方形です。詳細はhttps://www.w3.org/TR/CSS2/box.htmlを参照してください。 #padding-properties –

+2

パーセンテージは、親コンテナの* width *で計算されます。これは、比例的にスケールされたwidth *と* heightのサムネイルを取得するためによく使われる手法です。 – meagar

+0

@meagarを明確にしてくれてありがとう。これは私にはあまり意味がありませんが、何が起きているようです。 –

答えて

2

あなたの子供のdivが100%の幅で親を満たしています。パーセンテージでのパディングトッププロパティはdivの幅で決まります。したがって、あなたの子供は親(30%)の100%幅を取得しており、パディングトップ100%はその要素の100%幅を意味します。同じことが幅によって計算されるマージントップにも当てはまります。

関連する問題