2010-01-12 16 views
82

Znak   to spacja, która nie pozwala na przełamanie linii.Co jest przeciwieństwem nbsp?

<p>lorem ipsum here&nbsp;are&nbsp;some&nbsp;words and so on</p> 

| lorem ipsum    | 
| here are some words and so | 
| on       | 

Co jest przeciwieństwem tego? Oznacza to, że znak NIE jest renderowany jako spacja, ale MOŻE być używany do łamania linii.

<p>foo supercalifragilisticexpialidocious bar</p> 
<!-- put char here^ and here^--> 

|foo supercalifragi | 
|listicexpiali  | 
|docious bar  | 

or with wider size: 

|foo supercalifragilisticexpiali | 
|docious bar      | 

Jestem świadomy soft-hyphen character, ale do moich celów, ja specjalnie zrobić nie chcą myślnik dodany w przerwie.

+0

Nominacja @NoRefundsNoReturns za najbardziej wnikliwą uwagę 2010 roku –

Odpowiedz

92

Potrzebujesz znaku Unicode ZERO-WIDTH SPACE (\ u200B).

Możesz go pobrać w HTML za pomocą &#8203; lub &#x200b;.

Jawne przerwy i nie-przerwy:

LB7: nie pękają przed spacjami lub zerowej szerokości przestrzeni.
LB8: Przerwa przed dowolnym znakiem po przestrzeni o zerowej szerokości, nawet jeśli interweniuje co najmniej jedna spacja.
http://unicode.org/reports/tr14/

+0

Przetestowałem to, nie generuje przerwy linii w Firefoksie 3.5.7. –

+18

Nie jest przeznaczony do generowania jawnego podziału linii. Ma to oznaczać punkt, w którym linia * może * być owinięta, jeśli jest zbyt długa, aby zmieściła się tam, gdzie powinna. –

+2

Ach, cóż, w tym przypadku to * działa * i jest ładnie wykonane. –

38

Tam też jest mało znana, wbr tag która pozwala przeglądarkę do decydowania, czy należy przerwać linię czy nie.

+1

Należy zauważyć, że jest to niestandardowe i nie jest obsługiwane we wszystkich przeglądarkach. –

+1

@ Brian, sprawdź link fredden opublikowany przez quirksmode. – nickf

+10

Jeśli jest wystarczająco dobre dla Facebooka, to jest wystarczająco dobre dla każdego ;-) –

15

Jest fajna strona w quirksmode.org, która bardzo ładnie odpowiada na to pytanie. http://www.quirksmode.org/oddsandends/wbr.html

W skrócie: użyj < wbr/> lub & # 8203; (lub & nieśmiały, ale wspomniałeś, że nie chcesz kreska).

+0

Nie wszystkie z tych możliwości są obsługiwane przez wszystkie przeglądarki. Domyślam się, że najlepszym rozwiązaniem jest ​, ponieważ większość przeglądarek powinna rozpoznawać Unicode. – AndiDog

+0

i użytkownicy IE6 najwyraźniej dostają brzydki glif ... moje serce płacze. – nickf

-4

tam wiele dyskusji na ten temat, ale stało się mniej lub bardziej standardowe użycie &shy;

+4

To jest miękki łącznik, którego pytający nie chciał. –

1

Można użyć właściwości CSS3 nazywa word-wrap

p.test {word-wrap:break-word;} 

Nadzieję, że to pomaga!

+1

Działa to tylko wtedy, gdy nie interesuje Cię miejsce, w którym dodano podział wiersza. – JJJ

Powiązane problemy