2016-09-01 11 views
2

子要素を動的な高さを持つ親に垂直に配置する方法を教えてください。子div要素を動的な高さを持つ親divと垂直に整列する

CSSコード:

parent{ 
    height: 400px; 
} 
.child{ 
    position:relative; 
    top:50%; 
    transform: translateY(-50%;); 
} 

これは、かつて子供を設定し、その後、変更されません。親の動的な高さに応じて変更するにはどうすればよいですか?

+0

これらの月はあなたを助けます - https://jsfiddle.net/oe5g1sxc/ –

答えて

3

display: flexを使用できます。

.parent { 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
    height: 100px; 
 
    width: 100px; 
 
    margin: 1em; 
 
    background-color: tomato; 
 
} 
 

 
.child { 
 
    width: 10px; 
 
    height: 10px; 
 
    background-color: yellow; 
 
} 
 

 
You can use `displa: flex`. 
 

 
The following doesn't rely on parent's height.
<div class="parent"> 
 
    <div class="child"> 
 
    </div> 
 
</div>

+0

フレックスは使用しないでください。フレックスは、これらのブラウザを使用して様々な問題を持っている - https://jsfiddle.net/c1rk2q37/ –

+0

その解決策は、スーパーハックです。フレックスボックスの問題点は何ですか?これは非常によくサポートされており(http://caniuse.com/#feat=flexbox)、この単純なケースではすべての主要なブラウザで動作します。 –

+1

@Lazar ...超クールなリンク.. – Optimus

関連する問題