Ich bin heute auf ein interessantes Problem gestoßen. Ich habe eine Text-E-Mail, die ich von einer Webseite sende. Ich zeige eine Vorschau an und wollte die Vorschau in eine feste Schriftart setzen, wobei der Leerraum beibehalten wird, da so die reine Text-E-Mail angezeigt wird.Behalten Sie Zeilenumbrüche in HTML bei, aber umbrechen Sie den Text: möglich?
Grundsätzlich möchte ich etwas, das wie Notepad: die Newlines wird ein Newline Signal, aber der Text wird andernfalls wickeln, um in den Container passen.
Leider erweist sich das als schwierig, es sei denn, ich vermisse etwas wirklich Offensichtliches. Ich habe es versucht:
CSS
white-space: pre
. Dadurch wird Leerraum beibehalten, jedoch werden Textzeilen nicht umbrochen, sodass sie bei langen Linien über die Rahmen hinausgehen.Styling ein Textarea-Element nur gelesen werden, ohne Grenze so im Grunde Apepars wie ein
div
. Das Problem hier ist, dass IE 100% Höhen auf Textareas im strikten Modus nicht mag. Bizarrerweise ist es okay, wenn sie im Quirkmodus sind, aber das ist keine Option für mich.CSS
white-space: prewrap
. Dies ist CSS 2.1, also wahrscheinlich nicht weit verbreitet (Ich bin glücklich, wenn es in IE7 und FF3 obwohl unterstützt wird; ich interessiere mich nicht für IE6 als dies ist eine Admin-Funktion und niemand wird IE6, die diese Seite verwenden wird laufen) .
Haben Sie noch weitere Vorschläge? Kann das wirklich so schwer sein?
bearbeiten: kann nicht kommentieren so mehr Info. Ja im Moment benutze ich Schriftart Courier New (zB feste Breite) und benutze einen Regex auf der Serverseite, um die Zeilenumbrüche durch <br>
Tags zu ersetzen, aber jetzt muss ich den Inhalt bearbeiten und es fällt mir einfach unangenehm auf, dass du strippen musst aus und fügen Sie die <br>
s hinzu, damit es funktioniert.
gibt es keinen besseren Weg?
Siehe http://stackoverflow.com/questions/638648/getting-linebreaks-in-pre-tags – bobince