2016-09-01 11 views
0

最初の質問はここにあります。私は周りを見て、グーグルしたが、私は私の問題の解決策を見つけることができません。CSSの子は高さを継承しません。 VHの親の高さ。ブートストラップ3

私は計算された高さ、100vh - 140pxを占める親(ブートストラップ行)を持っています。これは素晴らしいですが、私はそれが子供の親の割合を占めるようにすることはできません。私は内部に3つのdivを持っています。私はそれが親の身長の100%、他の2つは40%と60%を取ることを望みます。

私は 'height:inherit;うまくいくはずですが、そうではありません。互換性のために、max-heightに必要なパーセンテージを追加しました。

Chrome、Firefox、Safariを試しました。

CSSコード:

// Parent 
#start-page { 
    min-height: calc(100vh - 140px); 
} 
// Children 
#init-square-1 { 
    height: inherit; 
    max-height: 100%; 
} 
#init-square-2 { 
    height: inherit; 
    max-height: 40%; 
} 
#init-square-3 { 
    height: inherit; 
    max-height: 60%; 
} 
HTML: 
    <section id="start-page" class="row"> 
     <div id="init-square-1" class="col-xs-12 col-sm-6"></div> 
     <div id="init-square-2" class="col-xs-12 col-sm-6"></div> 
     <div id="init-square-3" class="col-xs-12 col-sm-6"></div> 
    </section> 
+1

親要素に明示的な高さが設定されていないため、継承するものがなければ 'inherit'は機能しません。ここでは高さは指定していませんが、min追加の問題かもしれません。私は本当にあなたが望むものを達成するのに適しているはずのflexboxを調べることをお勧めします。 – CBroe

+0

迅速な対応と説明をありがとう!私のところまでは、Flexboxを使うのは間違いないが、このプロジェクトではBootstrapに固執する必要がある。 – Kaffia

答えて

0

height: inherit;は親要素からではなく、親の構成から、そのような場合でのdivから継承高さという意味ではありません。 div要素のデフォルトの高さは0なので、0が継承されます。

は、私はあなたが設定したいのか、高さわからないんだけど、#start-pageと同じ高さでなければならない場合には、わからない(100%も

height:100%; 

それが必要になる可能性がありますに高さを設定します)外容器に位置与えること:それは結局のところ

#start-page { 
    min-height: calc(100vh - 140px); 
    position:relative; 
} 
1

相対して、私が行うために必要なすべては親の高さを変更しただけで

height: calc(100vh - 140px); 

の代わり:

min-height: calc(100vh - 140px); 

ので、高さから '分' を削除するとトリックをしました。

ありがとうございました!

関連する問題