DanneSt Medlem sedan feb. 2004 1 311 inlägg Frågan 20 dec. 2006 20:34 #1 Jag har lagt till två rader i css:n för att snygga till texten lite med radavstång och bokstavsmellanrum:
line-height: 1.5em;
letter-spacing: 0.1em;
Tyvärr så "äter" koden upp en radbrytning av någon anledning!?
Uh?
Troxy Medlem sedan mars 2004 1 505 inlägg Låt mig gissa: När du använder letter-spacing så kan du lägre inte använda två <br> efter varandra i IE?
Detta problem stötte jag på för några år sedan:
http://www.webforum.nu/showthread.php?t=100254
Det diskuteras även här:
http://www.webforum.nu/showthread.php?t=134522
DanneSt Medlem sedan feb. 2004 1 311 inlägg Helt rätt gissat!
Men jag ser ingen lösning på problemet.
Snabblösningen som presenteras i den första tråden kan jag inte använda då texten hämtas från en input som kommer att användas av en "icke-hacker"...
Troxy Medlem sedan mars 2004 1 505 inlägg Alltså det finns väl ingen lösning, tror jag. Det är en IE-bugg, bara att leva med.
Det bästa är väl att använda <p>-taggar för att dela in texten i stycken.
DanneSt Medlem sedan feb. 2004 1 311 inlägg
Troxy skrev:
Alltså det finns väl ingen lösning, tror jag. Det är en IE-bugg, bara att leva med.
Det bästa är väl att använda <p>-taggar för att dela in texten i stycken.
Amen asså, det måste finnas en lösning!! :x :bla x(
...tycker inte om buggar...
T tanten Medlem sedan nov. 2005 1 596 inlägg Men det är ingen bra idé att använda två <br> heller. Med två <p> kan du med margin få precis det avstånd du vill. Om du har det noll:at från början vill säga.
Äh läste inte en av dina länkar innan jag skrev.
DanneSt Medlem sedan feb. 2004 1 311 inlägg Kan inte använda <p>.
Texten genereras av att man skriver i en textarea och där använder man ju retur/enter för radbrytningar...
Z zcorpan Medlem sedan dec. 2004 2 245 inlägg Ja? Går det inte ersätta två radbrytningar med en <p>?
DanneSt Medlem sedan feb. 2004 1 311 inlägg Eeehhh, jooooo....det borde ju gå iofs...
Har ju fått hjälp med en funktion som ersätter andra saker så detta borde ju funka.
Provar ikväll!
Kriko Medlem sedan dec. 2006 382 inlägg PHP:
<p> <?= str_replace("\n\n", "</p>\n<p>", $foobar) ?> </p>
ASP:
<p> <%= Replace(foobar, vbCrLf & vbCrLf, "</p>" & vbCrLf & "<p>") %> </p>
Så typ... ;)
<p> <%= Replace(foobar, vbCrLf & vbCrLf, "</p>" & vbCrLf & "<p>") %> </p>
<p> <?= str_replace("\n\n", "</p>\n<p>", $foobar) ?> </p>
Om jag fattar det rätt :P
Kriko Medlem sedan dec. 2006 382 inlägg Ja visst, det är jag som agerar först och tänker sen. :P
Jag har rättat min exempelkod.
DanneSt Medlem sedan feb. 2004 1 311 inlägg Nix, får inte till det.
Lade till raden i ersättningsfunktionen så den blev så här:
Function fReplace(ByVal strText)
strText = Replace(strText ,"&", "&")
[I]strText = Replace(strText ,vbCrLf & vbCrLf, "</p>" & vbCrLf & "<p>")[/I]
fReplace = strText
End Function
Detta resulterar i att radbrytningar byts ut mot <p>-taggarna, men flera såna efter varann blir ju inga radbrytningar i webbläsaren!
Z zcorpan Medlem sedan dec. 2004 2 245 inlägg Det har du ju rätt i.
Och HTML4 rekommenderar att man inte har tomma P-element...
Behöver det bli mer avstånd? Kan du inte bara filtrera bort tomma P-element eller konvertera 2+ radbrytningar till en <p>?
Annars kan det bli krångligare ändå, om man ska börja med saker som <p style="margin-top:3em"> för fler radbrytningar...
DanneSt Medlem sedan feb. 2004 1 311 inlägg Jo, det behöver bli mer avstånd. Genom att lägga in fler radbrytningar får man en enkel styckeindelning som gör det lättare för ögat att läsa.
Är för trött för att förstå ditt nya förslag just nu, kanske det går lättare imorgon... :-)
Tillsvidare får jag helt enkelt strunta i bokstavsmellanrummet. Trist.