Co jest przeciwieństwem nbsp?

87

 Postać jest przestrzeń, która nie dopuszcza do łamania linii.

<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                       |

Zdaję sobie sprawę z charakteru łącznika miękkiego , ale do moich celów nie chcę, aby myślnik był dodawany na przerwie.

nickf
źródło

Odpowiedzi:

96

Chcesz znak Unicode ZERO-WIDTH SPACE (\ u200B).

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

Wyraźne przerwy i bez przerw:

LB7: Nie przerywaj przed spacjami lub spacjami o zerowej szerokości.
LB8: Przerwa przed dowolnym znakiem występującym po spacji o zerowej szerokości, nawet jeśli interweniuje jedna lub więcej spacji.
http://unicode.org/reports/tr14/

Zaraz.
źródło
Testowałem to, nie powoduje to podziału wiersza w przeglądarce Firefox 3.5.7.
Noon Silk
19
Nie jest to przeznaczone do tworzenia wyraźnego przełamania linii. Ma to na celu wskazanie punktu, w którym można zawinąć linię, jeśli jest zbyt długa, aby zmieścić się w dowolnym miejscu.
Anon.
13
Cóż, to IE6 dla ciebie.
Mike Weller
2
Więc ... ta postać może być zła, ponieważ jeśli skopiujesz zawartość, która ją zawiera (w edytorach obsługujących Unicode, które z przyjemnością będą się z nią bawić), będziesz nieświadomy jej obecności i spowoduje to, że np. Kompilatory będą się nią dławić. ciężko. Na przykład Chrome powie Ci „NIELEGALNA ZNAK”, ale nie wskaże Ci, gdzie się znajduje. Użyłbym tej, co prawda, zgrabnej sztuczki jako ostateczności
Steven Lu
1
Widoczną alternatywą jest myślnik.
davidcondrey
38

Istnieje również mało znany znacznik wbr , który pozwala przeglądarce zdecydować, czy przerwać linię, czy nie.

Matt Hampel
źródło
1
Należy zauważyć, że jest to niestandardowe i nie jest obsługiwane we wszystkich przeglądarkach.
Brian Campbell
1
@Brian, sprawdź link do quirksmode, który opublikował Fredden.
nickf
10
Jeśli to wystarczająco dobre dla Facebooka, to wystarczy dla każdego ;-)
Martin Bean
1
WBR działa w Chrome 34.0.1847.131 m, Firefox 29.0.1 i Opera Chromium 12.17. Nie działa w IE 11.0.9600.17105.
Dave Burton
czy <wbr> dodaje -?
beppe9000
16

Na quirksmode.org jest fajna strona, która całkiem ładnie odpowiada na to pytanie IMHO. 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 myślnika).

fredden
źródło
Nie wszystkie z tych możliwości są obsługiwane przez wszystkie przeglądarki. Chyba & # 8203; jest najlepszym rozwiązaniem, ponieważ większość przeglądarek powinna rozpoznawać Unicode.
AndiDog
a użytkownicy IE6 najwyraźniej otrzymują brzydki glif ... moje serce płacze.
nickf
4

użyj <wbr> .

jrharshath
źródło
1

Możesz użyć właściwości CSS3 zwanej zawijaniem słów

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

Mam nadzieję, że to pomoże!

Swanidhi
źródło
2
Działa to tylko wtedy, gdy nie obchodzi Cię, gdzie zostanie dodany podział wiersza.
JJJ
Chodzi o to, aby w określonym słowie ustawić pozycję, w której ma nastąpić przerwa, a nie jak ogólnie umożliwić przerwę w pracy.
Frode Evensen
-5

toczy się o tym wiele dyskusji, ale stało się mniej lub bardziej standardem w użyciu &shy;

Surrican
źródło
5
To jest miękki łącznik, którego pytający nie chciał.
Ślimak mechaniczny