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.

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/


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.


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


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


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!


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;


5
To jest miękki łącznik, którego pytający nie chciał.
Ślimak mechaniczny
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.