2010-10-29 21 views
15

sıralı blok elemanı, farklı

<div style="background-color:red"> 
 
    <div style="display:inline-block;background-color:green;height:20px;width:20px;"></div> 
 
</div> 
 
<div style="background-color:yellow"> 
 
    <div style="display:inline-block;background-color:green;height:20px;width:20px;">hi</div> 
 
</div>
FF ve krom kırmızı div yüksekliği 26px olan işlenen

hale getirir. Kırmızı divun sarı div ile aynı şeyi nasıl oluşturmasını sağlayabilirim, fakat herhangi bir metin içermez mi?

cevap

34

sadece bir düşünce: sürece div metin, bir inline-görüntü (ya da başka bir şey) gibi muamele ve bu nedenle vertical-align başlangıca '(ayarlı mi oluyor orada olarak

veya "alt" yerine altyazı veya her ne olursa olsun.

çözüm:

, o düzeltmek için iç bölümlerde; vertical-align: bottom; ayarlayın. Orada bahsedilen diğerleri gibi içine bir boşluk veya görünmez eleman koymak gerek kesinlikle var (ama bu da bir (çirkin) çözümü olacaktır) Belirli bir yüksekliğe sahip olmak istiyorsanız,

+0

Aha! Bu sorunu güzelce çözer. Teşekkürler! –

+0

Benim için zevk! Eğer aradığınız cevap bu olsaydı, soldaki onay işaretini klint yaparak kabul etmek güzel olurdu (her zaman bir cevabını, cevabını cevaplamanız gerekir) – oezi

+3

Yeeha !! Bu gibi sorunlar için CSS'den nefret ediyorum, ama sizin gibi insanlar için SO'yu seviyorum – NaturalBornCamper

1

"Boş" düğümde sıfır genişlikli boşluk (&#8203;) koymaya ne dersiniz?

0

Bu topal, ancak boş bölüme &nbsp; ekleyebilirsiniz.

inline-block, komik bir ekran türü ve içeriği olmadan font-size ve line-height gibi diğer özellikleri gerçekten 20px'den uzun olan öğeyi artırabilir.

0

kullanmak

min-height: 1em; 

Bazı türlerde boşluk kullanmak, bazı durumlarda farklı bir yüksekliktir.