Her ikisi de alan anlamına gelir, ancak herhangi bir fark var mı?
Her ikisi de alan anlamına gelir, ancak herhangi bir fark var mı?
Yanıtlar:
Biri kırılmayan alan , diğeri düzenli bir alan. Kesintisiz boşluk, satırın bir kelimenin ortasına sarılmaması gerektiği gibi bu noktada sarılmaması gerektiği anlamına gelir.
Ayrıca, Svend'in yorumunda belirttiği gibi, kırılmayan alanlar daraltılmamıştır.
&hairsp      , [ jsfiddle.net/medmunds/4crt3c9j/]
Varlık , o konumda otomatik satır sonu istemediğinizde kullanılan, kesilmeyen bir alan üretir. Normal boşluk 32 karakter koduna, kırılmayan boşluk 160 karakter koduna sahiptir.
Örneğin, binlik ayırıcı olarak boşluklu sayıları görüntülediğinizde: 1 234 567, o zaman sayıları ayrı satırlara bölünemeyecek şekilde kesmeyen boşluklar kullanırsınız. Para birimini görüntülüyorsanız ve tutar ile para birimi arasında bir boşluk varsa: 42 SEK, o zaman bir satırda ve bir sonraki para biriminde parayı almamanız için kırılmaz bir alan kullanırsınız.
Buradaki diğer cevaplara ek olarak, kırılmayan alanlar normal boşluklar gibi "daraltılmayacaktır". Örneğin, her ikisi de
<p>Word1 Word2</p>
ve
<p>Word1 Word2</p>
aynısını herhangi bir tarayıcıda oluştururken
<p>Word1 Word2</p>
işlendiğinde boşlukları koruyacaktır.
Örnekler kadar bir cevap değil ...
Örnek 1:
<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
Hello There
</div>
Örnek 2 -
<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
Hello There
</div>
Burada çalışan bir örnek görebilirsiniz:
http://codepen.io/anon/pen/GJzBxo
ve
http://codepen.io/anon/pen/LVqBQo
Aynı div, aynı metin, farklı "boşluklar"
<div style="width: 500px; background: red"> [loooong text with spaces]</div>
vs
<div style="width: 500px; background: red"> [loooong text with ]</div>
edityayınınız ya yanıtın kodun çıktısını dahil etmesini ya da SO'nun kendi kodlanmış gömülü sürümünü eklemesini sağlar, böylece ziyaretçi kodları çalıştırabilir ve sonucu harici bir sayfaya gitmeden görebilir. Bağımsız politikanın nedeni, bağlantıya ulaşılamazsa, cevabın işe yaramaz hale gelmesidir. Ayrıca, kullanıcıların cevap vermesini istemek , sadece bir cevap almak için zayıf UX .
Birden çok normal beyaz boşluk karakteri (boşluk, tablo ve satır sonu) tek bir boşluk karakteri olarak değerlendirilir :
PREBeyaz boşluk dizileri hariç tüm HTML öğeleri için "kelimeler" birbirinden ayrılır (burada "boşluk olmayan karakterlerin dizileri" anlamında "kelime" terimini kullanıyoruz). Metin biçimlendirilirken, kullanıcı aracıları bu sözcükleri tanımlamalı ve belirli bir yazılı dil (script) ve hedef ortamın kurallarına göre düzenlemelidir.
Yani
foo bar
olarak görüntülenir
foo bar
Ancak aralıksız alan her zaman görüntülenir. Yani
foo   bar
olarak görüntülenir
foo bar
Daha önce de belirtildiği gibi, "kesintisiz alan" olan bir satır sonu almayacaksınız.
Ayrıca, yalnızca "" içeren öğelerin yanlış görünebileceğinden, & nbsp; çalışacak. Yani en az 6 (hatırladığım kadarıyla, IE7'de aynı sorun var), boş bir tablo öğeniz varsa, içerik yoksa veya yalnızca beyaz varsa öğeye stil, örneğin kenarlıklar uygulamaz. Uzay. Yani aşağıdakiler kenarlıklarla oluşturulmayacaktır:
<td></td>
<td> <td>
Halbuki bu örnekte sınırlar görünecektir:
<td>& nbsp;</td>
Hmm -burada doğru bir şekilde işlemek için kukla bir boşluk koymak zorunda kaldı
boşluk olarak ele alınmalıdır.
iki boşluk olarak ele alınmalıdır
'' ilginç olmayan bir boşluk olarak ele alınabilir
'' + '' tek olarak ele alınabilir ''
istiflenebilir, yani hep birlikte birden çok alan oluşturabilirsiniz.
HTML yalnızca bir alanı ayrıştırır '' ve gerisini bırakır ...
Beş boşluk istiyorsanız, 5 x
@Zoidberg haklı, örnek:
<h1>title</h1> <h2>date</h2>
başlık işaretlemesi arasında boşluk gösterilmeyecek
& nbsp ;
yer yapacak :)
Satır kesmeleri olduğunda, $ bnsp kullandığınızda satır kesilmez; çünkü bu bir 'kırılmaz alan'. Bu, her zaman birlikte yazılacak belirli ürün adlarınız veya benzerleriniz varsa önemli olabilir.
Fransa'da 12 344 567 görüntülenen 12344567 gibi sayılarda sınırlayıcı olarak bir boşluk kullanmanız gerekirse ilginç olabilir. Çizgi olmadan sayının ortasında çok çirkin kırılır. Test: 12344567
TLDR; Kabul edilen cevaba ek olarak; Biri örtük, diğeri açık.
Bir uygulama / kütüphane / çerçeve tarafından yazdığınız veya oluşturduğunuz HTML tarayıcınız tarafından okunduğunda, HTML'nizin ne anlama geldiğini (tarayıcıdan tarayıcıya değişebilir) yorumlamak en iyisidir. HTML varlık kodlarını kullandığınızda, tarayıcıya daha açık olursunuz. Açıkça kullanıcıya bir karakter görüntülemek istediğinizi söylüyorsunuz (örneğin, geliştiricinin daha kolay okunabilmesi için HTML'nizi aralıklandırdığınızdan değil).
Daha somut olmak gerekirse, çıktı HTML'si şöyle olsaydı:
<html>
<title>hello</title>
<body>
<p>
Tell me and I will forget. Teach me and I
may remember. Involve me and I will learn.
</p>
</body>
</html>
Tarayıcı, tüm bu kelimeler arasında (geliştiricinin daha iyi okunabilmesi için girintili olanlar bile) yalnızca bir boşluk oluşturur.
Ancak, aynı şeyi koyduysanız ve <p>etiketi yalnızca şu şekilde değiştirdiyseniz :
<p>Hello There</p>
O zaman, daha açık bir şekilde talimat verdiğiniz gibi, boşlukları oluşturacaktır. Bu alanları şekillendirme için kullanmanın bir geçmişi var. CSS olgunlaştıkça bu kullanım bir miktar azalmıştır. Bununla birlikte, HTML karakter varlıklarının çoğu için hala geçerli kullanımlar vardır: beklenmedik / kasıtsız yorumlamadan kaçınmak (örneğin, kodu görüntülemek istiyorsanız). W3 diğer karakter kodlarını göstermek için harika bir sayfası vardır .
<p>Hello There</p>VEYA <p>Hello There</p>(Kırılma bir sorun değilse, önce ve sonra Düzenli boş alanı kullanarak bazı bitleri kaydedebilirsiniz ).