2010-11-18 22 views
1

Birisi bana burada neyi yanlış yaptığımı söyleyebilir mi? İçinde% 100 ve iki div içinde bir sarıcı var. Üst div, sarıcının üst kısmında olmalı ve alt divun sarıcının alt kısmında olması gerekir. Çalışmıyor.dikey hizalama sorunları

İşte sahip olduğum şey. Her iki iç div üzerinde dikey hizalamayı denedim, ama ya çalışmıyor.

<style> 
#wrap { 
width:210px; 
height:100%; 
border:1px solid red; 
} 
#top { 
width:200px; 
height:100px; 
margin:0 auto 0 auto; 
border:1px solid green; 
} 
#btm { 
width:200px; 
height:100px; 
position:relative; 
bottom:0; 
margin:0 auto 0 auto; 
border:1px solid red; 
} 
</style> 
</head> 
<body> 
    <div id="wrap"> 
    <form method="post" action=""> 
     <div id="top"> 
adf 
     </div> 
     <div id="btm"> 
adf 
     </div> 
    </form> 
    </div> 
</body> 
</html> 
+0

hangi tarayıcıyı kullanıyorsunuz? Rendering motorları, ne de teknik özelliklere göre üretilmemiştir .... –

+0

Opera, Chrome ve FF – Jim

cevap

0

bu deneyin:

#wrap{ 
width:210px; 
height:100%; 
border:1px solid red; 
position:relative; 
} 

#top { 
float:left; 
width:100%; 
height:100px; 
position:relative; 
margin:0 auto 0 auto; 
border:1px solid green; 
} 
#btm { 
float:left; 
width:100%; 
height:100px; 
position:relative; 
bottom:0; 
margin:0 auto 0 auto; 
border:1px solid red; 
} 
+0

Teşekkürler wajiw. Hala çalışmıyor. :( – Jim

+0

Biraz daha derinlerde neler olduğunu anlatabilir misin? – wajiw

+0

@wajiw, Her iki iç div üst üste dizilmiş, birbiri üstüne yığılmış – Jim

1

o, ben pozisyonunu çıkardı çalışıyor görünüyor : bağıl; Eğer buna ihtiyacı yoktur:

buradan bakın: http://jsfiddle.net/kByXS/

düzenleme: o çözüldü burada

: http://jsfiddle.net/SebastianPataneMasuelli/kByXS/2/

html:

<div id="wrap"> 
    <form method="post" action=""> 
     <div id="top"> 
      top 
     </div> 
     <div id="btm"> 
      bottom 
     </div> 
    </form> 
</div> 
i sorununuzu yanlış

css:

html { 
    height: 100%; 
} 
body { 
    height: 100%; 
    background-color: gray; 
} 
#wrap { 
    width:210px; 
    height:100%; 
    border:1px solid red; 
    position: relative; 
} 
#top { 
    width:200px; 
    height:100px; 
    margin:0 auto 0 auto; 
    border:1px solid green; 
} 
#btm { 
    width:200px; 
    height:100px; 
    margin:0 auto 0 auto; 
    border:1px solid blue; 
    position: absolute; 
    bottom: 0; 
left: 5px; 
} 

tuşları:

  1. ilk, sonra div dikey% 100 streç olacak html ve vücut% 100 yüksekliğini verir.
  2. kapsayıcı hiçbir sol veya üst değerlere sahip bir position: relative vermek
  3. senin altında vermek div bir (o göreceli konteyner div yapar) position: absolute ve bottom: 0;
+0

Gördüğüm, btom ve üst divların birleştirilmiş olduğu aynı yüksekliğe kadar uzanan bir sarmalayıcı.Örneğimde benim formumdaki gibi bana benziyor. Sargının yüksekliğini% 100 yapın ve sonra içteki divların diğerinin üzerine yığıldığını göreceksiniz. – Jim

+0

güncelleştirilmiş örneği kontrol edin, bence istediğin şey bu –

+0

Evet Sebastian, işe yarıyor. Teşekkür ederim. Bununla ilgili bir sorum var ... Siteye yayılacak çünkü formuma% 100 yükseklik ekleyemiyorum. Sarıcıda sadece% 100 yükseklik istiyorum. Bu sarmalayıcı, sitenin içinde bir kenar çubuğu. – Jim

1

hangi tarayıcı çalışmıyor ise ? Chrome'da bana göre iyi görünüyor:

alt text

+0

Paul, sarmalayıcı div ekranı% 100'dür, bu da ekran görüntüsünüzden belli değildir. Sadece FF ve Chrome'da denedim ve çalışmıyor. – Jim

+0

@Jim - Sağladığınız kodu bir dosyaya yapıştırdım ve ekran görüntüsü, Chrome'da bu kodun nasıl oluşturulduğunu ve bu konuyla ilgili Firefox'dur. Ekrana "# wrap" in daha uzun olduğu farklı bir tarayıcıda mı bakıyorsunuz? Eğer öyleyse, hangi tarayıcı? –

+0

Paul, FF, Chrome'un yanı sıra Opera'ya sahibim ve hepsinde tam olarak aynı şeyi yapıyor. Wrapper div ** 'in% 100 yükseklikte olması gerektiğini biliyor musunuz **? – Jim

İlgili konular