2012-10-02 6 views

Antwort

25

Während ich mit der ersten Antwort einverstanden, dass Sie könnte genauso gut nur 4 Leerzeichen setzen, es scheint eine gewisse Unterstützung für eine tab-size Eigenschaft in CSS zu sein (obwohl IE Unterstützung fehlt):

pre { 
    -moz-tab-size: 4; /* Firefox 4+ */ 
    -o-tab-size:  4; /* Opera 11.5 & 12.1 only */ 
    tab-size:   4; /* Chrome 21+, Safari 6.1+, Opera 15+ */ 
} 

Nur wirksam mit white-space: pre oder white-space: pre-wrap (oder innerhalb <pre> Tags).

+0

+1 obwohl Browser-Unterstützung für Tab-Größe ist derzeit sehr begrenzt (nach [MDN] (https://developer.mozilla.org/en-US/docs/CSS/tab-size)) - sie behaupten, die Die '-moz'-Präfix-Version wurde lange Zeit in FF unterstützt, aber Chome unterstützte sie erst 21, Opera erst ab 10.6 und IE unterstützte sie überhaupt nicht. Die Demo, die Sie zur Verfügung stellen, funktioniert sicherlich nicht in IE8. – DaveRandom

6

Es gibt eine Reihe von vier Zeichen, die Sie verwenden können, die immer auf vier Leerzeichen erweitert wird. Es ist vier Leerzeichen (innerhalb pre mindestens und andere Elemente entsprechend gestaltet).

Da es keine allgemein akzeptierte Methode gibt, wie breit eine Registerkarte sein sollte und wie genau sie sich verhalten sollte, ist es am besten, sie nicht an Orten zu verwenden, wo genaue Kontrolle über die Ausgabe benötigt wird. Weder HTML noch Browser bieten Möglichkeiten, die Tabbreite einzustellen.

+4

Pfft. * Jeder * weiß Tabs sind 3 Leerzeichen. –

+0

Sie wollen jedoch vier Räume. Daran kann ich nicht viel ändern. – Joey

1

CSS ist der beste Weg, diese Zwecke für die Anzeige zu handhaben. Wenn Sie jedoch möchten, dass Benutzer den Text kopieren und einfügen können und vier Leerzeichen für einen Tab erhalten, verwenden Sie am Ende Javascript, um Ihre Vor-Tags zu ändern.

Die wahre Magie hier ist die replace() -Funktion, mit einem global abgestimmten Regex.

2

Nach HTML-Spezifikationen und in der Browser-Praxis, Tabstopps sind alle 8 Zeichen. Dies bedeutet nicht, dass ein Tab 8 Leerzeichen enthält. Wenn Sie zum Beispiel ABC DEF haben, bewirkt die Registerkarte einen Vorlauf von 5 Zeichen.

In CSS, durch einen CSS3 Entwurf, können Sie set the “tab size”, d. H. Der Abstand zwischen Tabstopps, z. tab-size: 4. Die Browser-Unterstützung ist ziemlich gut, wenn Anbieter-Präfixe mit Ausnahme von IE verwendet werden.