pre
les balises sont super utiles pour les blocs de code en HTML et pour le débogage de la sortie lors de l'écriture de scripts, mais comment puis-je faire le retour à la ligne du texte au lieu d'imprimer une longue ligne?
721
La réponse, à partir de cette page en CSS:
pre {
white-space: pre-wrap; /* Since CSS 2.1 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
white-space:pre-line;
(et toutes les versions compatibles avec le navigateur) semble plus adéquat dans certains cas (sans onglets par exemple) car il enlève de l'espace au début de la ligne (s'il y en a)pre-line
réduit tous les espaces (pas seulement au début de la ligne). developer.mozilla.org/en-US/docs/Web/CSS/white-space dispose d'un tableau résumant le comportement deswhite-space
valeurs.word-wrap: break-word
ne fait pas ce que la question demande, il provoque des sauts de ligne même entre les mots. Vous pouvez supprimer cette ligne. Sur les navigateurs modernes, vous n'avez besoin d'aucun-moz
ou d'autres préfixes.Cela fonctionne très bien pour encapsuler le texte et maintenir l'espace blanc dans le
pre
-tag:la source
J'ai trouvé que sauter la balise pre et utiliser l'espace blanc: pré-envelopper sur une div est une meilleure solution.
la source
style="white-space: pre-wrap; font-family:monospace;"
<pre>
de blocs de code peut être plus sémantique .Plus succinctement, cela force le contenu à s'enrouler à l'intérieur d'une balise «pré» sans casser les mots. À votre santé!
Voir l'exemple en direct ici .
la source
Voilà ce dont j'avais besoin. Il empêchait les mots de se casser mais permettait une largeur dynamique dans la zone de pré.
la source
Je suggère d'oublier le pré et de le mettre dans une zone de texte.
Votre retrait restera et votre code ne sera pas enveloppé de mots au milieu d'un chemin ou quelque chose.
Sélectionnez plus facilement la plage de texte dans une zone de texte si vous souhaitez la copier dans le presse-papiers.
Ce qui suit est un extrait de php, donc si vous n'êtes pas en php, la façon dont vous emballerez les caractères spéciaux html variera.
Pour plus d'informations sur la façon de copier du texte dans le presse-papiers en js, voir: Comment copier dans le presse-papiers en JavaScript? .
Toutefois...
Je viens d'inspecter les blocs de code stackoverflow et ils enveloppent dans une balise <code> enveloppée dans une balise <pre> avec css ...
De plus, le contenu des blocs de code stackoverflow est la syntaxe mise en évidence en utilisant (je pense) http://code.google.com/p/google-code-prettify/ .
C'est une bonne configuration mais je vais juste avec des zones de texte pour l'instant.
la source
<pre>
avoir de sens sémantique (contrairement<code>
), cela signifie simplement que les nouvelles lignes et les espaces multiples doivent être préservés.J'ai combiné les réponses @richelectron et @ user1433454.
Cela fonctionne très bien et préserve la mise en forme du texte.
la source
Vous pouvez soit:
pour conserver la police monospace mais ajouter un retour à la ligne, ou:
ce qui permettra une taille fixe avec défilement horizontal pour les longues lignes.
la source
Essayez d'utiliser
Ou mieux jeter CSS.
la source
Utilisez
white-space: pre-wrap
et certains préfixes pour le saut de ligne automatique à l'intérieur depre
s.Ne l'utilisez pas,
word-wrap: break-word
car cela brise bien sûr un mot en deux, ce qui est probablement quelque chose que vous ne voulez pas.la source
Le meilleur moyen de navigation croisée a fonctionné pour moi pour obtenir des sauts de ligne et affiche le code ou le texte exact: (Chrome, Internet Explorer, Firefox)
CSS:
HTML:
la source
Ce qui m'a aidé:
Merci
la source
white-space: pre-wrap;
car il respecte les espaces blancsLe
<pre>
-Element signifie « pré-formaté texte » et est destiné à maintenir la mise en forme du texte (ou autre) entre ses balises. Par conséquent, il n'est en fait pas prévu d'avoir un retour automatique à la ligne ou des sauts de ligne dans le<pre>
-Tagsource: w3schools.com , souligne le fait par moi-même.
la source