2012-05-05 25 views
9

Şu anda iki sütun var, aralarında başka bir sütun var. İstediğim şey, orta sütunun kendisine daha fazla içerik ekledikçe, sol ve sağ sütunların yüksekliğe sahip olması.Öğenin yüksekliğini, başka bir öğenin yüksekliğine uydurmak nasıl ayarlanır?

Dikkat edilmesi gereken bir şey, ebeveyn div için tam bir yükseklik ayarlayamamam ve sol ve sağ sütunların "height: 100%" olarak ayarlanmış olmasıdır. Bunun nedeni, orta sütunda çok az miktarda içeriğin olabileceği veya çok fazla olabileceğidir.

cevap

12

Javascript yaklaşımı uygulamak zorunda kalacaksınız gibi görünüyor. Bunun için gideceğim yol .legs'un yüksekliğini almak ve sonra .flight_no ve .price'a uygulamak olacaktır.

Düşünebildiğim tek diğer seçenek, .flight vererek sol ve sağ sütunlarınızın stilistik olarak farklı olmasını, ardından da CSS'nizde repeat-y göstermesini sağlayan bir arka plan görüntüsü vererek "sahte" olacaktır. Bunu yaparsanız, kenar çubukları aslında aynı yüksekliğe sahip olmaz.

JQuery'yi kullanarak böyle bir şey, kenar çubuklarınızı dinamik olarak orta sütunun yüksekliğine ayarlayacaktır.

$(document).ready(function() { 
    $(".flight_no, .price").css("height", $(".legs").height()); 
}); 
+0

Cevabınız için teşekkür ederiz. Bunun için herhangi bir işaretçi verebilir misin? Daha önce böyle bir şey yapmak için JavaScript yazmamıştım (ve JavaScript ile oldukça sınırlı deneyime sahibim). – Jordan

+0

En iyi bahisten, vanilya JS biraz bunaltıcı olabileceğinden jQuery gibi bir kitaplık kullanmak olacaktır. JQuery ile bunun gibi bir şey istersiniz: $ (". Flight_no, .price"). Css ("yükseklik", $ (". Bacaklar"). Yükseklik()); – Chords

+0

Burada bir jsfiddle var. Bu eylemde: http://jsfiddle.net/Jyu94/ Javascript bölmesinden kodu silmeyi deneyin ve orijinal olarak ne yazdığını göreceksiniz. – Chords

1

genişletme div yüksekliğini düzeltmek veya kabın% 100 yüksekliği, başka height: 100%; ile sabit yüksekliği ile kaba yukarı veya vücuda zincire height:100% gerektiğini söylüyorlar olanak veriyor. Uzun vadede, muhtemelen bu çözümü gerektirir.

Sabit yükseklik olmadığından, height: 100% kullandı ve gövdeye bir html zincirleme yaptım.

Demo

body, html { height: 100%; } 
.flight 
{ 
    float: right; 
    border: 1px solid green; 
    height: 100%; 
} 

Eğer sabit bir yükseklik kullanmak veya javascript kullanmak zorunda ya sidebars için kabın kesin yüksekliğini vermek İÇİN.

+0

Demoda, görünüm yüksekliğini küçültürseniz (dikey kaydırma çubuğu üretiyorsanız), dış sütunlar orta sütundan daha kısa olarak görüntülenir. – Jake

İlgili konular