SORU
28 Aralık 2008, Pazar


Nasıl dikey olarak tüm tarayıcılar için bir div ortalamak için?

Bir div CSS ile dikey olarak ortalamak için istiyorum. Tablo veya Javascript ama sadece saf CSS istemiyorum. Bazı çözümler buldum, ama hepsi İnternet Explorer 6 Desteği eksik.

<body>
    <div>Div to be aligned vertically</div>
</body>

Nasıl bir div dikey olarak tüm büyük tarayıcılar, Internet Explorer 6 dahil olmak üzere merkezi edebilirim?

CEVAP
31 Mayıs 2011, Salı


Aşağıda tüm dikey ve yatay olarak ortala bir sabit genişlikli için inşa edebilirim çözüm en iyisiesnek yükseklikiçerik kutusu. Test ve FF, Opera, Chrome, Ve Safari, ve MSIE 6 yeni sürümleri için çalışıyor .

HTML

<div class="outer">
<div class="middle">
<div class="inner">

<h1>The Content</h1>

<p>Once upon a midnight dreary...</p>

</div>
</div>
</div>

CSS

.outer {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%;
}

.middle {
    display: table-cell;
    vertical-align: middle;
}

.inner {
    margin-left: auto;
    margin-right: auto; 
    width: /*whatever width you want*/;
}

IE 7 ve üzeri için karşılamak için, bu değişiklikleri ayrı bir stil sayfası kullanımı:

<!--[if lte IE 7]><link rel="stylesheet... /><![endif]-->;
.outer {
    display: inline;
    top: 0;
}

.middle {
    display: inline;
    top: 50%;
    position: relative;
}

.inner {
    display: inline;
    top: -50%;
    position: relative;
}

See Test page

Bazı dinamik içerik esnekliği test etmek için yaptım. Eğer herhangi bir sorun görürse bilmek isterdim. İyi de -- ışıklı bindirmeleri merkezli çalışmalıdır, pop-up, vb.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • graham025

    graham025

    25 NİSAN 2006
  • Mindy

    Mindy

    20 NİSAN 2006