2010-06-22 13 views

Odpowiedz

10

stosując następujące style:

.divideMe{ 
width:100px; 
word-wrap: break-word; 
} 

<div class='divideMe'>reallyreallyreallyreallyreallyreallylongstring</div> 

Byłoby wyjście

reallyreallyreally 
reallyreallyreallyl 
ongstring 

Choć tak naprawdę nie złamać słowo w kawałkach więc nadal można wybrać go przez podwójne (potrójne) kliknięcie . Nie jestem pewien, w jaki sposób jest to zgodne z przeglądarką, ale wygląda na to, że działa dobrze na przeglądarkach, które mam dostępne. Należy pamiętać, że jest to właściwość CSS3 o nazwie.

Testowany na IE 6,7,8 działa dobrze. Również w porządku na FF 3.6

Innym rozwiązaniem byłoby ukryć przepełnienie i pokazać pasek przewijania, jeśli chcesz zachować go w jednym wierszu. Ale ponieważ twoim pierwszym podejściem było pokazanie całej struny zamiast jej ukrywania, myślę, że to może być dobre podejście.

+0

Działa, ale nie w3 - ważne. – Phliplip

+0

@Phliplip - To [będzie ważne] (http://www.w3.org/TR/css3-text/#word-wrap), ale [obecny weryfikator W3] (http://jigsaw.w3.org/css-validator /) nie może sprawdzić zgodności z CSS 3. –

+0

Wadą tego rozwiązania jest to, że nie masz żadnej kontroli, gdzie pojawią się przerwy. Używając elementu '', jak opisano w mojej odpowiedzi, możesz ustawić miejsca, w których chcesz, aby URL się przerywał (np. Przed każdym '&'). –

0

Jeśli chcesz mieć znak dzielenia na końcu linii, możesz użyć encji HTML &shy;.

Ale jeśli chcesz po prostu złamać linię, wstaw element <wbr> do tekstu linku. Należy pamiętać o niespójnościach przeglądarek, opisanych pod adresem Quirksmode.org.

Powiedziałem, że zmieniłbym tekst linku na coś bardziej znaczącego niż taki długi URL.

Powiązane problemy