2016-10-25 5 views
1

割合を維持しながら、できるだけdivの親を埋めるdivセクションを作成したいと考えています。比率を維持しながら親divを塗りつぶします。

レンダリング結果は次のようになります:

enter image description here

私がこれまで持っているかどう:

html, body{ 
 
height:100%; 
 
} 
 

 
.parent{ 
 
height: 100%; 
 
width: 100%; 
 
border-style: solid; 
 
border-width: 2px; 
 
border-color: black; 
 
} 
 

 
.child { 
 
width: 90vw; /* 90% of viewport vidth */ 
 
height: 50.625vw; /* ratio = 9/16 * 90 = 50.625 */ 
 
max-height: 90vh; 
 
max-width: 160vh; /* 16/9 * 90 = 160 */ 
 
margin: auto; 
 
position: absolute; 
 
top:0;bottom:0; 
 
left:0;right:0; 
 
background: #A0522D; 
 
}
<div class="parent"> 
 
     <div class="child"> 
 
      content that is not images... 
 
     </div> 
 
    </div>

をこのCSSは私が好きな方法のように振る舞うBUT実際の状況では実際の問題である親divの代わりにビューポートを使用しています。

私は本当に親のdivに埋めるための方法を探していますが、私はこれまでどんな答えを見つけることができませんでした...

+0

代わりの90vw使用を90%を使用して、または任意のパーセント(%)あなたが必要とします。 50.625%も動作することに注意してください。 – Krik

+0

90%と50.625%を使用すると、子divはその比率を維持せずに親にちょうど従うようになります。 – tommysCesaille

+0

"子"の位置:相対;を変更して、上、下、左、右の位置を削除してみてください。マージンを使用すると、水平センタリングが必要な場合を除き、それを削除することもできます。次に、margin 0 autoを使用します。親ディビジョンを40%、子ディビジョンを80%としたテストコードがあります。私はそれぞれ別々のパーセンテージを試しました。これらの変更以外には他に違いはありません。 – Krik

答えて

0

は、たぶん、これは何が必要です。

html, body{ 
 
height:100%; 
 
} 
 

 
.parent{ 
 
height: 100%; 
 
width: 100%; 
 
    
 
border-style: solid; 
 
border-width: 2px; 
 
border-color: black; 
 

 
} 
 

 
.child { 
 
width: 50%; 
 
height: inherit; 
 
margin: 0 auto; 
 
left: 25%; 
 
position: absolute; 
 

 
background: #A0522D; 
 
}
<div class="parent"> 
 
     <div class="child"> 
 
      content that is not images... 
 
     </div> 
 
    </div>

+0

これは実際には、常にdivを狭くしすぎると比率を失って、100%に伸びます。 – tommysCesaille

関連する問題