2011-12-05 25 views
67

Bazı HTML vardır:HTML span hizalama merkezi çalışmıyor?

<div align="center" style="border:1px solid red"> 
This is some text in a div element! 
</div> 

Div benim belge üzerinde aralık değişiyor, bu yüzden bu yerine bir yayılma kullanmak istiyorum. Bunu düzeltmek nasıl

<span style="border:1px solid red;align=center"> 
This is some text in a div element! 
</span> 

:

Ama yayılma içeriğini merkezileştirilmesi değil?

DÜZENLEME:

Benim tam kodu: align nitelik kullanımdan kaldırılmıştır

<html> 
<body> 

<p>This is a paragraph. This text has no alignment specified.</p> 

<span style="border:1px solid red;text-align=center"> 
    This is some text in a div element! 
</span> 

</body> 
</html> 
+1

Sizin div olduğunu "boşlukları değiştirmek"? Bununla ne demek istiyorsun? Ve açıklığınız, varsayılan olarak bir _inline_ öğesi iken, bir div ise _block_ level öğesidir. – Bojangles

+0

Merhaba JamWaffles, "spacing" ile div, içeriklerin üstünde ve altında yer kalacağı anlamına gelir. Açıklık bunu yapmaz. – David19801

+0

Öğenize hangi CSS kurallarının uygulandığını görmek için Firebug veya Chrome denetçisini kullanın ve dolgu veya kenar boşluğu ekleyen nesneyi arayın. Çevreleyen elemanların da dolgu/kenar payı olması da mümkündür. – Bojangles

cevap

126

Bir div, bir blok öğedir ve bir genişlik belirlenmedikçe kabın genişliğine yayılacaktır. Bir açıklık, satır içi bir öğedir ve içindeki metnin genişliğine sahip olacaktır. Şu anda, bir CSS özelliği olarak hizalamayı ayarlamaya çalışıyorsunuz. Hizala bir özelliktir. Ancak, align niteliği kullanımdan kaldırılmıştır. Kapsayıcıdaki CSS text-align özelliğini kullanmalısınız.

<div style="text-align: center;"> 
    <span style="border:1px solid red;"> 
     This is some text in a div element! 
    </span> 
</div> 
+18

Lütfen "align =" center "' kullanmayın, çünkü kullanımdan kaldırılmıştır. – Biotox

+42

@Biotox tam cevabı okudun mu? – Will

+3

Evet, ama bir seçenek olarak bile koyamazdım ... – Biotox

19

. Bunun yerine CSS text-align'u kullanın. Ayrıca, display:block veya display:inline-block kullanmıyor ve genişlik için bir değer ayarlamadığınız sürece yayılma metni ortalamaz, ancak bir div (blok öğesi) ile aynı davranacaktır.

Düzeninizin bir örneğini gönderir misiniz? Kullanın www.jsfiddle.net

+0

Doğru yanıt bu olmalıdır –

+0

Büyük çalıştı! Teşekkürler. – dallinchase

+0

Satır içi öğeleri korurken iki satır içi öğesini farklı şekilde hizalayamıyorum? –

35

Lütfen aşağıdaki stili kullanın. Normalde içeriği hizalamak için margin:auto kullanılır. display:tablespan eleman

<span style="margin:auto; display:table; border:1px solid red;"> 
    This is some text in a div element! 
</span> 
0

Açıklık inline-block ve bloklar çoğu çabaları satır içi bağlamın dışında stil bir azimle, metin boyutunu satır içi ayarlar için gereklidir. Düzen stilini basitleştirmek için (çakışmaları sınırlayın), satır sonu ile 'p' etiketine div ekleyin.

<p> some default stuff 
<br> 
<div style="text-align: center;"> your entered stuff </div> 
-2

Yalnızca css'de word-wrap:break-word; kullanın. İşe yarıyor.

6
span.login-text { 
font-size: 22px; 
display:table; 
margin-left: auto; 
margin-right: auto; 

}

<span class="login-text">Welcome To .....CMP</span> 

Benim için çok iyi çalıştı.

<span style="border:1px solid red;text-align=center"> 

Olmalıdır: Bu deneyin da

diğer tüm açıklamaların üzerine
0

, ben yerine kolon ":" arasında eşit "=" işareti kullanıyoruz inanıyoruz

<span style="border:1px solid red;text-align:center"> 
İlgili konular