2016-03-29 18 views
0

Ben başlık div ortasında dikey olarak baş-üstbilgi div ortalamak istiyorum ama ne olursa olsun ortada oturup alamıyorum. Birisi tavsiye edebilir mi?Bir diğer div ortasında dikey olarak merkez div

HTML

<div class="main-wrapper-onepage"> 
<!-- header --> 
<div class="header"> 
<div class="header-headline">Dan Morris</div> 
</div> 
<!-- header-end --> 
</div> 

CSS burada

.header { 
    width:100%; 
    height:667px; 
    background-image:url(../images/header_background.jpg); 
    background-size:cover; 
    text-align:center; 
} 

.header-headline { 
    width:100%; 
    text-align:center; 
    font-size:70px; 
    color:#FFF; 
    font-family: 'Montserrat', Helvetica, Arial, sans-serif; 
    display:inline-block; 
    vertical-align:top; 

} 

JSfiddle: https://jsfiddle.net/w77pdnxh/

+3

[Yatay bir div bir div ortalamak] Olası yinelenen (http://stackoverflow.com/questions/114543/horizontally-center-a-div-in-a-div) –

+1

seni merkez diyelim, yatay merkez mi yoksa dikey merkez mi demek istiyorsunuz? Jfiddle'ını çalıştırdığımda, benim için yatay olarak ortalanır. – JoeL

+0

Hangi tarayıcı sürümlerini desteklemeniz gerekiyor? HTML5 bir seçenek mi? Eğer öyleyse, flexbox'lar ile iyi bir çözüm var. Aksi takdirde, satır içi bloğu ile bazı hile yapmak gerekir. –

cevap

2

dikey olarak flexbox's align-items: center kullanarak başlığını ortalamak olabilir. Kod aşağıdaki gibi: Aşağıdaki jsfiddle gösterildiği gibi

.header { 
    ... 
    display: flex; 
    align-items: center; 
} 

JSFiddle Here

0

sonra top:50% göreli için header-header pozisyonunu ayarlayın ve. header-header, dış bölüme relative olacaktır ve üst ve alt arasında bir noktada yerleştirilecektir.

https://jsfiddle.net/w77pdnxh/2/

+1

Kenar boşluğunu hesaba katmak için "kenar-üst: -50%;" ile ".header-headline" ekleyin ve mükemmel bir şekilde ortalayın. –

+1

@MikeC Dün gece işten eve gittiğimde bu, kafamın içine düştüğü için div boyutunu hesaba katmayı unuttum. Bu yüzden iyi çağrı :) – JoeL

İlgili konular