web-dev-qa-db-fra.com

Comment reproduire un espace de tabulation\t en HTML?

Comment puis-je utiliser le caractère d'échappement\t commun en html? Est-ce possible?

J'ai besoin d'un code ayant la même fonction que le caractère d'échappement/t

8
user2443085

J'ai besoin d'un code ayant la même fonction que le caractère d'échappement/t

Quelle fonction voulez-vous dire, créer un espace de tabulation? 

Rien de tel en HTML, vous devrez utiliser des éléments HTML pour cela. (Un <table> peut avoir un sens pour les données tabulaires ou un description <dl> pour les définitions.)

4
Pekka 웃

Vous pouvez entrer le caractère de tabulation (U + 0009 TABULATION DE CARACTÈRE, communément appelé TAB ou HT) à l'aide de la référence de caractère &#9;. C'est l'équivalent du caractère de tabulation en tant que tel. Ainsi, du point de vue HTML, il n’est pas nécessaire de «l’échapper» en utilisant la référence de caractère; mais vous pouvez le faire par exemple si votre programme de montage ne vous permet pas de saisir le caractère facilement.

D'autre part, le caractère de tabulation est dans la plupart des contextes équivalent à un espace normal en HTML. Il ne "tabule" pas, c’est juste un espace Word.

Cependant, le caractère de tabulation a un traitement spécial dans les éléments pre et (bien que cela ne soit pas très bien décrit dans les spécifications) dans les éléments textarea et xmp (dans ce dernier, les références de caractère ne peuvent pas être utilisées, seul le caractère de tabulation en tant que tel). Ceci est décrit de manière trompeuse dans les spécifications HTML, par exemple. en HTML 4.01 : “[Dans l'élément pre,] le caractère de tabulation horizontale (décimal 9 dans [ISO10646] et [ISO88591]) est généralement interprété par les agents d'utilisateur visuel comme le plus petit nombre non nul d'espaces nécessaires pour ligne de caractères en haut le long des tabulations qui sont tous les 8 caractères. Nous déconseillons vivement l'utilisation d'onglets horizontaux dans le texte préformaté, car il est courant, lors de l'édition, de définir l'espacement des onglets sur d'autres valeurs, ce qui entraîne des documents mal alignés. ”

Les avertissements sont inutiles, sauf en ce qui concerne la non-concordance potentielle de la tabulation dans votre logiciel de création et du rendu HTML dans les navigateurs. La vraie raison d’éviter la tabulation horizontale est qu’il s’agit d’un outil grossier et simpliste par rapport aux tableaux de présentation de matériel tabulaire. Et lors de l'affichage des programmes source informatiques, il est préférable d'utiliser uniquement des espaces dans pre, car la tabulation par défaut s'arrête à tous les 8 caractères ne convient pas pour un style d'indentation de code normal.

De plus, en CSS, vous pouvez spécifier white-space: pre (ou, avec une prise en charge de navigateur légèrement plus limitée, white-space: pre-wrap) pour créer un élément HTML normal, tel que div ou p, restitué comme pre, de sorte que tous les espaces soient préservés et horizontaux. Onglet a l'effet "tabulation".

Dans le module de texte CSS de niveau 3 (brouillon du dernier appel, c'est-à-dire en direction de l'échéance), il existe également la propriété tab-size , qui peut être utilisée pour définir la distance entre les tabulations, par exemple. tab-size: 3. C’est supporté par les dernières versions de la plupart des navigateurs, mais pas IE (pas même IE 11).

8
Jukka K. Korpela

&nbsp;&nbsp;&nbsp;&nbsp; serait un moyen de contourner le problème si vous n’êtes qu’après l’espacement.

6
xr280xr

Cette formule simple devrait fonctionner . Donnez à l’élément dont le texte va contenir un onglet la propriété CSS suivante: white-space:pre. Dans le cas contraire, votre code HTML pourrait ne pas restituer les onglets. Ensuite, partout où vous souhaitez insérer un onglet dans votre texte, tapez &#9;.

Puisque vous n'avez pas mentionné CSS, si vous voulez le faire sans fichier CSS, utilisez simplement

<tag-name style="white-space:pre">text in element&#9;more text</tag-name>

dans votre HTML.

1
Andrew P

HTML n'a pas de caractère d'échappement (car il n'utilise pas la sémantique d'échappement pour les caractères réservés, utilisez plutôt des entités SGML: &amp;, &lt;, &gt; et &quot;).

SGML ne possède pas d’entité nommée pour le caractère de tabulation car il existe dans la plupart des jeux de caractères (0x09 dans ASCII et UTF-8), ce qui le rend totalement inutile (c’est-à-dire appuyez simplement sur la touche Tab touche de votre clavier). Si vous travaillez avec du code qui génère du HTML (par exemple une application côté serveur, par exemple ASP.NET, PHP ou Perl, vous devrez peut-être l'échapper ensuite, mais uniquement à cause du langage côté serveur. l'exige - cela n'a rien à voir avec HTML, comme ceci:

echo "<pre>\t\tTABS!\t\t</pre>";

Cependant, vous pouvez utiliser des entités SGML pour représenter tout caractère ISO-8859-1 au moyen d'une valeur hexadécimale, par exemple. &#09; pour un caractère de tabulation.

0
Dai

Je ne peux pas donner de réponse directe, mais peut-être que quelqu'un trouve toujours cela utile… .. Le même problème existe pour un Mediawiki: il ne fournit pas d'onglets ni d'espaces consécutifs autorisés. 

Bien qu’il ne s’agisse pas vraiment d’une fonction de tabulation, la solution de contournement consistait à ajouter un modèle appelé "Tabulation", qui remplace chaque appel (c'est-à-dire {{tab}}) par 4 symboles d'espacement insécables:

 &nbsp;&nbsp;&nbsp;&nbsp; 

Celles-ci ne sont pas effondrées et créent une distance spatiale de 4 fois quelconque. Ce n'est pas vraiment une tabulation, car elle ne s'alignerait pas sur des positions de tabulation fixes, mais je trouve toujours de nombreuses utilisations.

Peut-être que quelqu'un peut trouver un mécanisme similaire pour un modèle de wiki en HTML (classe CSS ou autre).

0
CatMan