2016-11-15 68 views
0

我有具有定義高度(80%)和寬度(100%)母體DIV中擬合2個DIV, 它包含兩個div:HTML CSS,一%高度的div

  • 第一必須總是保持在16:9的比例,現在可以。所以如果我改變我的屏幕寬度,div的高度發生變化(保持比例)
  • 第二個必須適合16:9的div和剩下的父div之間的高度。

我已經嘗試了很多東西,但我無法弄清楚如何製作它。

請看看以下codepen:http://codepen.io/anon/pen/KNMBGO

html, 
 
body { 
 
    margin: 0; 
 
    padding: 0; 
 
    height: 640px; 
 
    width: 360px; 
 
} 
 
div { 
 
    border: 1px solid grey; 
 
} 
 
#pbzone { 
 
    height: 80%; 
 
    background-color: pink; 
 
} 
 
#ppzone { 
 
    float: left; 
 
    width: 100%; 
 
    display: flex; 
 
    background-color: green; 
 
    height: 20%; 
 
} 
 
#pgzone { 
 
    padding-top: 56.25%; 
 
    background-color: black; 
 
    background-size: cover; 
 
    border: 0px; 
 
    !important 
 
}
<div id="pbzone"> 
 
    <!-- --> 
 

 
    <div id="pgzone"> 
 
    <!-- Always stay at a 16:9 ratio --> 
 
    </div> 
 

 
    <div id="ppzone"> 
 
    <!-- Must fit the visible part of the pink Div (so pink-black height) --> 
 
    </div> 
 

 
</div>

+0

那麼如果屏幕的寬度是第一個div的高度(16:9寬高比)超過可用的視口高度,會發生什麼情況? – kukkuz

+0

好問題... – Ezhno

回答

0

這裏是一個沒有彎曲另一種解決方案:

html, body { 
 
    margin: 0; 
 
    padding: 0; 
 
    height: 640px; 
 
    width: 360px; 
 
} 
 

 
div { 
 
    border: 1px solid grey; 
 
} 
 

 
#pbzone{ 
 
    height: 80%; 
 
    background-color: pink; 
 
    position: relative; 
 
} 
 
#ppzone{ 
 
    position: absolute; 
 
    width: 100%; 
 
    bottom: 0; 
 
    top: 39.25%; 
 
    background-color: green; 
 
} 
 
#pgzone{ 
 
    padding-top: 56.25%; 
 
    background-color: black; 
 
    background-size: cover; 
 
    border: 0px; !important 
 
}
<div id="pbzone"> <!-- --> 
 

 
\t \t <div id="pgzone"> 
 
     <!-- Always stay at a 16:9 ratio --> 
 
\t \t </div> 
 

 
\t \t <div id="ppzone"> 
 
    <!-- Must fit the visible part of the pink Div (so pink-black height) --> 
 
\t \t </div> 
 
</div>

你可以玩top屬性#ppzone

+0

謝謝你的幫助Banzay。這幾乎是我想要做的,但兩個div不應該重疊16:9 div。你可能會猜到,你必須知道這個Div會顯示一個視頻。我想,當屏幕的高度太低時,兩個div將消失。另外,我注意到,當我的窗口非常小時,視頻div與紅色和黃色div之間有空格 – Ezhno

+0

您是否考慮過「object-fit」屬性,它定義瞭如何在div中適合視頻,以及你可以設置它使一個視頻幀不超過div邊緣? – Banzay

+0

你能告訴我更多關於它嗎? – Ezhno