Je suis tombé sur un problème intéressant aujourd'hui. J'ai un email de texte que j'envoie d'une page Web. J'affiche un aperçu et je voulais mettre l'aperçu dans une police fixe en conservant l'espace blanc puisque c'est ainsi que le message en texte brut apparaîtra.Conserver les nouvelles lignes en HTML, mais envelopper le texte: possible?
Fondamentalement, je veux quelque chose qui va agir comme Bloc-notes: les retours à la ligne signaleront une nouvelle ligne, mais le texte sera envelopper pour s'adapter à l'intérieur de son conteneur.
Malheureusement, cela s'avère difficile à moins que je ne manque quelque chose de vraiment évident. J'ai essayé:
CSS
white-space: pre
. Cela conserve l'espace blanc mais n'emballe pas les lignes de texte afin qu'ils sortent des frontières sur de longues lignes; Styler un élément de zone de texte à lire uniquement sans bordure de sorte qu'il ressemble àdiv
. Le problème ici est que IE n'aime pas 100% de hauteurs sur les textareas en mode strict. Bizarrement c'est OK avec eux en mode bizarreries mais ce n'est pas une option pour moi.CSS
white-space: prewrap
. Ceci est CSS 2.1 donc probablement pas largement supporté (je suis heureux si elle est prise en charge dans IE7 et FF3 cependant, je ne me soucie pas de IE6 pour cela comme une fonction d'administration et personne ne sera en cours d'exécution IE6 qui utilisera cette page) .
Autres suggestions? Cela peut-il être si difficile?
edit: ne peut pas commenter plus d'informations. Oui en ce moment j'utilise la police Courier New (c'est-à-dire la largeur fixe) et en utilisant une regex côté serveur pour remplacer les newlines avec les tags <br>
mais maintenant je dois éditer le contenu et ça me frappe comme si je devais déshabiller et ajoutez les <br>
s pour le faire fonctionner.
est-il pas de meilleure façon?
See http://stackoverflow.com/questions/638648/getting-linebreaks-in-pre-tags – bobince