webForumDet fria alternativet

Problem med span style=word-break

4 svar · 335 visningar · startad av Fireh

FirehMedlem sedan jan. 2003173 inlägg
#1

Jag har ett märkligt problem...

För att bryta ett långt ord så att inte en tabell ökar i bredd och till slut orsakar en sid-scroll, så har jag testat med Erik Juhlins ASP-script som sätter <span style="word-break: break-all"> framför det långa ordet och </span> efter.

Om jag ställer in scriptet på att lägga span-tagen på alla ord som är 3 tecken eller längre, så fungerar det bra med att det bryter mitt jättelånga ord. Problemet är att det även bryter alla andra ord som är minst 3 tecken (se bild). Så här ser HTML-koden ut då:

<span style="word-break: break-all;">Som</span> <span style="word-break: break-all;">t.ex.</span> <span style="word-break: break-all;">att</span>

Exakt samma resultat blir det om jag kör utan scriptet och sätter span-tagen runt hela stycket/inlägget. Det är ju inte så märkvärdigt. Det knäppa kommer när man ställer scriptet på att sätta span-tagen på ord som är minst 5, 10, 20 eller 30 tecken (allt från 5 och uppåt). Den sätter span-tagen runt mitt jättelånga ord, så här (webForum bryter långa ord efter 60 tecken, därav flera rader):

<p><br>Som t.ex. att <span style="word-break: break-all">ordsommanintetryckermellanslagiskabrytasautomatisktefterettvisstantalteckensåattintehelasidanblirheltfuckadsåsomdenblevnärNajtmareskrevientrådtidigareisommarnärhanskrevitrådensomhandladeomsnyggastecrewmedlemmen</span> då.<br> </p>

Men den bryter inte det ordet när man kollar in sidan (se bild). Vad kan vara fel? Finns det något sätt att tvinga den att bryta ordet med span, eftersom den tydligen inte gör det frivilligt.

jarvkloMedlem sedan juli 20013 295 inlägg
#2

Hmm...
Du kan lägga in tecknet &shy; överallt där du vill ha "mjuka radbrytningar" i ett långt ord - men det funkar tyvärr inte i alla webbläsare... :l

FirehMedlem sedan jan. 2003173 inlägg
#3

Fast jag vill inte att den ska bryta orden efter ett visst antal tecken, utan bryta automatiskt när raden tar slut. Det är det som <span style="word-break: break-all"> ska göra, men inte gör.

jarvkloMedlem sedan juli 20013 295 inlägg
#4

Hmm...

word-break är ju MSIE-specifikt iofs, och kollar man på MSDN finns inte mycket mer att hämta äm det du redan vet...

Hursomhelst - även om det tar emot borde du kunna lägga ett &shy; mellan varje bokstav i ord som är mer än X tecken långa...

Men gör det bara för folk som besöker dig med MSIE ;)

PepeJeriaMedlem sedan feb. 2003779 inlägg
#5

shy funkar även i Opera.

125 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
123 ms — hämta tråd, inlägg och bilagor (db)