Question

Que puis-je utiliser en HTML si je souhaite avoir un espace au centre de la ligne qui ressemble à trois espaces, mais qui peut être interrompu si la ligne devient trop longue?

Les espaces normaux sont réduits (une série d'espaces ressemble à un seul espace) et, dans le cas d'espaces insécables (& amp; nbsp), la ligne ne peut pas être rompue.

Mise à jour : Je pense que ce que je veux vraiment, c'est un & # 65308; pré & # 65310; balise pouvant encore rompre les longues lignes (je dois afficher le code source).

Était-ce utile?

La solution

Qu'en est-il d'un ou plusieurs espaces em (& amp; emsp;)? Accordé, cela dépend de la taille de la police de l'utilisateur. Si cela ne fonctionne pas vraiment dans votre conception, considérez un en-espace (& Amp; ensp;).

Vous pouvez également consulter ce tableau d'espaces divers sur Wikipedia.

Autres conseils

J'ai en fait la réponse exacte que vous cherchez & # 8217; recherchez. J'ai cherché partout cette réponse et rien qui a été suggéré ne fonctionne parfaitement. Alors, j'ai imaginé une solution, je l'ai essayée et j'ai été convaincue qu'elle fonctionnait sans faille!

Garrow avait en fait raison (il ne & # 8217 vient pas de l'expliquer ou de le prendre à fond. ). La solution est au lieu de mettre &nbsp; seul, mettez &nbsp;<wbr>. Il suffit de faire une recherche simple, de remplacer et d'ajouter la balise <wbr> après chaque <=>. Fonctionne parfaitement!

La balise <=> est une balise peu connue prise en charge par tous les principaux navigateurs. Elle indique au navigateur de mettre une nouvelle ligne UNIQUEMENT si elle est nécessaire.

Mise à jour: j'ai trouvé un navigateur qui ne & # 8217; ne fonctionne pas exactement dans & # 8211; IE 8! Ils ont en fait sorti la balise <=>! J'ai résolu ce problème en créant une classe qui dit:

.wbr:before { content: "\200B" }

et au lieu de <=> remplacer par <=>, remplacez-le par ce qui suit:

&nbsp;<wbr><span class='wbr'></span>

En PHP, cela ressemblerait à:

$text = str_replace(" ","&nbsp;<wbr><span class='wbr'></span>", $text);

Don & # 8217; n'oubliez pas d'ajouter la classe également.

Évidemment, cela devient un peu excessif, remplacer un seul espace par tout cela, mais cela fonctionne comme souhaité et comme je n'ai jamais vu le balisage, cela a fonctionné pour moi.

Si cela est trop compliqué, une autre solution consiste à échanger les doubles espaces contre un <=> suivi d'un espace normal. Ceci alternera <=> avec les espaces normaux et fonctionnera dans mes tests.

En PHP, cela ressemblerait à:

$text = str_replace("  ","&nbsp; ", $text);

J'espère que ça aide! Je mets assez de recherches dans ce domaine; Je pensais que je devrais le transmettre.

Un espace entre deux espaces insécables ne fonctionne-t-il pas?

& amp; nbsp; & amp; nbsp;

Que diriez-vous de < wbr > ?

Si vous ne ciblez pas Internet Explorer (sauf le mode standard 8):

<span style="white-space: pre-wrap">   </span>

Pour IE, <span style="width:3ex"></span> fonctionne en mode quirks, fusionnez-les et ...

<span style="width:3ex;white-space:pre-wrap">   </span>

qui semble fonctionner partout où j'ai essayé ... sauf les normes IE7. D'oh!

Que diriez-vous de deux &nbsp; suivis d'un espace normal? Le seul inconvénient à cela (pour autant que je sache) est que si un saut de ligne tombe naturellement dans l’espace normal, vous aurez un peu d’espace de fuite sur la ligne précédente à cause des espaces insécables. ne pensez pas que cela ferait une différence dans l'apparence réelle de la page.

Il serait peut-être préférable de prendre du recul et de demander ce que vous essayez de rendre. Que signifie cet espace extra-large?

il donne 100px à l'espace gauche entre votre texte  exemple d'espaces

span style = " marge gauche: 100px; "

(n_n)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top