2011-10-03 14 views
18

Bu yüzden bir div ve bir çift açıklık içeren bir tablo düzenini simüle ediyorum. Sarılmış herhangi bir metni girintileme hakkını kullanmak istiyorum. Birkaç şey denedim ve işe yaramayacağım. Herhangi bir yardım takdir edilecektir.<span> indent sarılmış metin

jsFiddle: http://jsfiddle.net/2Wbuv/

HTML

<div class="display-element"> 
    <span class="display-label">Field 1</span> 
    <span class="display-field">This is my string of data, some times it is pretty long. Sometimes it is not. This one is.</span> 
</div> 
<div class="display-element"> 
    <span class="display-label">Field 2</span> 
    <span class="display-field">This is another string of data.</span> 
</div> 

CSS

.display-element  {} 

.display-label   {display: inline-block; 
         width: 100px; 
         padding-left: 5px;} 

.display-field   {display: inline;} 
+6

Neden sadece 'display: table-cell 'kullanıyorsunuz? – sdleihssirhc

+0

Umm, genius ... Bunu daha önce hiç kullanmadım ve şimdi neden hiç bir fikrim yok. Lütfen cevap ver, sana puan verebilirim. –

+0

Oh, şimdi hariç% 100 genişliğinde yapamam ... hala üzerinde çalışıyorum. –

cevap

22

Kontrol şuna: http://jsfiddle.net/2Wbuv/2/

.display-element { 
 
} 
 

 
.display-label { 
 
    display: inline-block; 
 
    width: 100px; 
 
    padding-left: 5px; 
 
} 
 

 
.display-field { 
 
    display: inline-block; 
 
    padding-left: 50px; 
 
    text-indent: -50px; 
 
    vertical-align: top; 
 
    width: 200px; /* for testing purposes only */ 
 
}
<div class="display-element"> 
 
    <span class="display-label">Field 1</span> 
 
    <span class="display-field">This is my string of data, some times it is pretty long. Sometimes it is not. This one is.</span> 
 
</div> 
 
<div class="display-element"> 
 
    <span class="display-label">Field 2</span> 
 
    <span class="display-field">This is another string of data.</span> 
 
</div>

+0

Bu sorun (satır içi bloğu oluşturmak), ilk satırı bir sonraki satıra yerleştirmesidir. İkinci yayılma genişliğini kaldırın ve ne demek istediğimi göreceksiniz. pencereniz 300 pikselden daha küçüktür).Eğer 'de satır içi bloğu için bir yayılma elemanı olduğundan satır içi gelen anahtar gereklidir .display-field' sabit bir genişlik elde yoksa –

+0

, bunun çapraz olmayan tarayıcısı kullanarak Tablo hücresi taklit yapmak gerekir uyumlu "ekran: tablo hücresi". Alternatif olarak, bu benim gideceğim yol, gerçek bir tabloyu kullan. – simshaun

8

Asılı bir girinti olmasını istediğiniz gibi geliyor. Böyle CSS şey hile yapmak gerekir:

.hanging-indent 
{ 
    text-indent : -3em ; 
    margin-left : 3em ; 
} 

Ama <span> bir satır içi elemanı, metin girinti özelliği yanı sıra bir bloğa ilişkin diğer CSS özelliklerini olduğundan, anlamsızdır.

İlgili konular