webForumDet fria alternativet

Problem med span style=word-break

HTML & CSS

4 svar · 337 visningar · startad av Fireh

Medlem sedan jan. 2003173 inlägg
Frågan#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.

Medlem sedan juli 20013 378 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

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

Medlem sedan juli 20013 378 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 ;)

Medlem sedan feb. 2003774 inlägg
#5

shy funkar även i Opera.

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)