2012-03-08 20 views
7

Biraz daha yeni bir açıklama olması gerekirse, daha fazla açıklama gerekiyorsa veya bu soru bir anlam ifade etmiyorsa, lütfen bunu belirtmekten çekinmeyin.Metni hizalamak için aralık kenar boşluklarını kullanma

Ben bir div içinde metin taşımak için & nbsp tasarladığım ve kullandığım bir web formunu div için kullanıyorum her zaman sayfanın düzeni kadar istediğiniz sonucu üretmiyor.

<span style="margin-left:(variable)px"></span> 

i bunu istiyorum tam olarak nerede metni taşımak mümkün duyuyorum:

denemelere ve kullanarak başladı.

Sorum şu, bu kötü bir uygulama mı? yapmaya çalıştığım şeyi veya daha geleneksel bir yolu yapmak için daha iyi bir yol var mı? Ya da henüz keşfettiğim html'ye yerleşik bir şey bile.

i düzeni için olmayan kırılabilir boşluk kullanılması

Complainant's Address 
    <input type="text" size="50" id="complainantAddress"/> 
    <span style="margin-left:3px"></span> 
    City 
    <input type="text" name="city" maxlength="15" size="15"/> 
    <span style="margin-left:16px"></span> 
    State 
    </div> 
+0

Kodunuzun bir örneğini gönderdiyseniz yararlı olabilir, ancak boşluk için css kullanmak, çok sayıda frensiz alandan çok daha iyi! – Evert

cevap

5

başarmaya çalışıyorum göstermek için kod * Katma Blok size

ederiz/konumlandırma kötü bir uygulamadır. style öznitelikleriyle yapmaya çalıştığınız şey daha iyidir, ancak satır içi stil öznitelikleri de genellikle kötü bir pratice olarak kabul edilir.
Stil niteliklerini korumak zor ve birçok bilgi vb. Çoğaltır. Buna ek olarak, bu stil en yüksek özgüllüğe sahiptir ve diğer stillerin (kullanıcı CSS dosyaları gibi) üzerine yazamaz. Dikkatli kullanılmalıdırlar. Bunun için CSS özelliklerini margin, padding ve text-align kullanın.

Numune
http://jsfiddle.net/UYUA7/

HTML

Text<br /> 

&nbsp;&nbsp;&nbsp;&nbsp;Text <!-- Do NOT use this --> 

<div class="center">Center</div> 
<div class="right">Right</div> 
<div class="indent">Indented</div> 

.center { 
    text-align: center; 
} 

.right { 
    text-align: right; 
} 

.indent { 
    margin-left: 20px; 
} 
+2

Harika cevap, hatta oy kullandım. :) Tek endişem, "satır içi stil özniteliklerinin kötü uygulama" olduğunu söylemiş olman. Tek seferlik elemanlar için satır içi stilleri kullanmak kesinlikle kabul edilebilir. Her şeyin kimlikleri ve sınıfları ile işaretlenmiş olması gerekmez. – evasilchenko

+2

@DeviantSeev Satır içi stilin kabul edilebilir olduğu birkaç durum olabilir. Genelde bu kötü bir uygulamadır ve CSS_'e _learn yapmaya başladığınızda bu şekilde öğrenmemelisiniz. - İçeriğin/yapının ve stilin sıkı bir şekilde ayrılmasını şiddetle tercih ederim. – Smamatti

+1

Üzgünüm ama ben sana katılmıyorum. Sadece bir şekilde yapılması gereken bir şeyi tercih ettiğiniz için, diğer yoldan 'kötü bir uygulama' yapmazsınız. Aslında, öncelikle stil için sınıfları kullanmaktan yanayım, ancak inline-styling kötü pratiği bir streçtir. Her bir öğenin bir sınıf veya kimlik tarafından şekillendirilmesi gerektiğini söyleyen bir kural yoktur. Aslında, bunu yapmak, stil sayfanızı gereksiz yere şişirecek ve daha zor takip edecektir. Sadece iki sentim. – evasilchenko

3

Yaptığınız şey aslında daha iyi bir wa olan CSS y & nbsps'ye güvenmek yerine boşluk yapmak. Bu, uzun vadede size daha fazla esneklik kazandıracak ve değişiklikleri daha hızlı yapabilmenizi sağlayacaktır. Ben öneriyoruz (Az yazarak)

tek şey bu CSS el kitabını okumaktır:

http://www.w3schools.com/css/css_intro.asp

Bu css ile konumu hakkında öğrenmeye devam yardımcı olacaktır.

GÜNCELLEME:

Bu kod benzeyebilir budur:

CSS - başlığındaki

<style type="text/css"> 
#complainantAddress { 
    margin-right: 3px; 
} 

#city { 
    margin-right: 16px; 
} 
</style> 

HTML

Complainant's Address: <input type="text" size="50" id="complainantAddress"/> 
City: <input type="text" name="city" maxlength="15" size="15" id="city"/> 

Bildirim günlerde kullan ben Her eşleşen giriş kutusu için bir tane olmak üzere iki css stili oluşturuldu. Her stilde, giriş kutusunun sağına uygun boşluk ekleyebilecek bir kenar boşluğu tanımladım.

"ŞikayetçiAdres" adı verilen ilk giriş kutusunun sağında 3px boşluk ve ikincisinin "şehir" inin sağında 16 piksellik bir boşluk olacak.

İlgili konular