In HTML gibt es kein Zeichen für einen Tab, aber ich bin verwirrt, warum ich hier eines kopieren und einfügen kann :. (Sie können nicht die gesamte Breite sehen, aber wenn Sie auf klicken, um meine Frage zu bearbeiten, wird das Zeichen angezeigt.) Wenn ich ein Tabulatorzeichen kopieren und einfügen kann, sollte es ein Unicode-Äquivalent geben, das in HTML codiert werden kann . Ich weiß, dass es das nicht gibt, aber das ist ein Rätsel, das ich nie erfassen konnte.
Meine Frage lautet also: Warum gibt es kein Unicode-Zeichen für einen Tab, auch wenn ich ihn kopieren und einfügen kann?
Antworten:
Sicher gibt es eine Entität für Registerkarten:
(Die Registerkarte enthält das ASCII-Zeichen 9 oder Unicode U + 0009.)
Genau wie bei wörtlichen Tabulatoren (die Sie in Ihren Texteditor eingeben) werden alle Tabulatorzeichen von HTML-Parsern als Leerzeichen behandelt und in einem einzigen Leerzeichen zusammengefasst, mit Ausnahme derjenigen innerhalb eines
<pre>
Blocks, in dem wörtliche Tabulatoren als 8 Leerzeichen in a gerendert werden Monospace-Schriftart.quelle
Tab
. (Ich denke, Sie könnten HTML-Entitäten mit dem Unicode-Zeichensatz verwechseln.)Versuchen
 
gemäß den Dokumenten:
Link zu Dokumenten: https://www.w3.org/MarkUp/html3/specialchars.html
quelle
Setzen Sie es zwischen
<pre></pre>
Tags und verwenden Sie diese Zeichen	
Ohne die
<pre></pre>
Tags würde es nicht funktionierenquelle
	
alleine zu benutzen , aber es hat nicht funktioniert. Danke fürs Erwähnen<pre>
!white-space: pre-wrap;
oderwhite-space: pre;
Eine weitere Alternative veröffentlichen, um vollständiger zu sein. Als ich die "vor" basierten Antworten ausprobierte, fügten sie auch zusätzliche vertikale Zeilenumbrüche hinzu.
Jede Registerkarte kann in eine Sequenz ohne Unterbrechungen konvertiert werden, für die kein Umbruch erforderlich ist.
Dies wird nicht für die wiederholte / umfassende Verwendung innerhalb einer Seite empfohlen. Ein Div-Rand / Polster-Ansatz würde viel sauberer erscheinen.
quelle
Ich benutze
<span style="display: inline-block; width: 2ch;">	</span>
für eine zwei Zeichen breite Registerkarte.quelle
Tab ist [HT] oder Zeichennummer 9 in der Unicode-Bibliothek.
quelle
Wie bereits erwähnt, werden aus Effizienzgründen sequentielle Bereiche in einem Bereich zusammengefasst, den der Browser tatsächlich anzeigt. Denken Sie daran, wofür die ML in HTML steht. Es handelt sich um eine Auszeichnungssprache, mit der gesteuert wird, wie Text angezeigt wird. Nicht Leerzeichen: p
Sie können jedoch so tun, als ob der Browser die Registerkarten respektiert, da das TAB lediglich 4 Leerzeichen voranstellt. Dies ist mit CSS ganz einfach. entweder in einer Linie wie ...
Oder als reguläre Klasse in einem Stylesheet
Dann könnte der HTML-Code so aussehen
quelle