DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!
Die CSS-Eigenschaft tab-size wird verwendet, um die Anzahl der Leerzeichen anzupassen, die für das Tabulatorzeichen angezeigt werden.
pre {
tab-size: 8; /* default. Pretty big! */
tab-size: 2;
tab-size: 13px; /* you can set a width-per-tab also */
}
Spielen Sie mit diesen Bereichsschiebereglern, um zu sehen, wie sich unterschiedliche Werte auf die Darstellung von Tabs auswirken (wenn Sie Tabs tatsächlich sehen können).
Sehen Sie den Pen
rNBLYaP von Chris Coyier (@chriscoyier)
auf CodePen.
Das Tabulatorzeichen (Unicode U+0009) wird normalerweise durch die Regeln für die Leerzeichenverarbeitung in Leerzeichen (Unicode U+0020) umgewandelt und dann so zusammengefasst, dass im Browser nur ein Leerzeichen hintereinander angezeigt wird. Daher ist die Eigenschaft tab-size nur nützlich, wenn die Regeln für die Leerzeichenverarbeitung nicht angewendet werden, nämlich innerhalb eines <pre>-Tags und wenn die white-space-Eigenschaft eines Elements auf pre-wrap gesetzt ist.
Der Standardwert für die Eigenschaft tab-size sind 8 Leerzeichen, und sie kann jeden positiven Ganzzahlwert annehmen.
Hier sind einige Beispiele für die verschiedenen Möglichkeiten, wie tab-size verwendet werden kann
Sehen Sie den Pen
rNBLYjg von Chris Coyier (@chriscoyier)
auf CodePen.
Wie Sie in den obigen Beispielen sehen können, passt die Eigenschaft tab-size die für das Tabulatorzeichen vorgesehene Menge an Leerzeichen an. Im zweiten Beispiel muss die white-space-Eigenschaft des <p>-Tags auf pre-wrap gesetzt werden, damit die Tabulatorzeichen nicht in normale Leerzeichen umgewandelt und zusammengefasst werden.
Sie werden auch im CSS feststellen, dass die Präfixe -moz- und -o- für Firefox und Opera erforderlich sind, während Chrome die nicht-präfixierte Version akzeptiert.
Polyfill
Der Standardwert von acht Leerzeichen ist ziemlich groß. Wenn Sie einen nicht unterstützten Browser unterstützen müssen, könnten Sie diesen Polyfill verwenden (den JavaScript-Code in diesem Pen).
Sehen Sie den Pen
tab-size polyfill von CSS-Tricks (@css-tricks)
auf CodePen.
Weitere Ressourcen
- W3-Spezifikation zur
tab-size-Eigenschaft - MDN
- Ursprüngliche E-Mail aus dem Jahr 2008 an das W3C, in der die Idee von
tab-sizevorgestellt wurde
Browser-Unterstützung
Diese Browser-Supportdaten stammen von Caniuse, wo Sie weitere Details finden. Eine Zahl gibt an, dass der Browser die Funktion ab dieser Version und aufwärts unterstützt.
Desktop
| Chrome | Firefox | IE | Edge | Safari |
|---|---|---|---|---|
| 42 | 53* | Nein | 79 | 13.1 |
Mobil / Tablet
| Android Chrome | Android Firefox | Android | iOS Safari |
|---|---|---|---|
| 127 | 127 | 127 | 13.4-13.7 |
Diese Eigenschaft verschlechtert sich sehr gut. Jeder Browser unterstützt Tabulatorzeichen. Fehlende Unterstützung für diese Eigenschaft bricht nichts, der Browser zeigt lediglich Tabulatoren mit einer Breite von acht Zeichen an.
Ich habe kürzlich ein jQuery-Plugin erstellt, um tabulatorgestützten Inhalt in Browsern, die die Tabulatorbreite noch nicht unterstützen, korrekt anzuzeigen.
https://github.com/davestewart/jquery-plugins/tree/master/tabSize
Es verwendet die CSS3-Eigenschaft
tab-size, falls verfügbar, aber wenn nicht, wandelt es Tabs *korrekt* in Leerzeichen um, einschließlich der Tabs, die keine volle Tabulatorbreite einnehmen, auch bekannt als Spalten.Kurzer Hinweis zum vorgeschlagenen Polyfill: Durch das (Neu-)Setzen von
.innerHTMLwerden alle Ereignishandler, die an untergeordnete Elemente gebunden sind, zerstört.Dies gilt auch für Daves Plugin.
Diese Eigenschaft funktioniert auf iOS7 tatsächlich einwandfrei. (getestet auf iOS 7.1.1)
Wie füge ich einen Tabulatorabstand für die nummerierte/nicht nummerierte Liste hinzu?
Überschrift
left
right
footer
Ich verstehe nicht, warum die erste Demo bei mir (FF 69-70) nicht funktioniert, während die anderen beiden funktionieren (im selben Browser).