Размер табуляции в CSS
В CSS3 есть хорошее свойство tab-size, оно контролирует размер, в пробелах, отображаемой табуляции. Оно пока в стадии черновика; например, неизвестно будет ли введена новая единица измерения (скажем «sp») и можно ли будет указать размер в процентах, пикселях и т. п.
Тем временем, свойство уже реализовано в некоторых браузерах, с собственным префиксом. Свойство первым поддержала «Опера» (с версии 10.60, именно от этой компании и было выдвинуто предложение добавить это свойство в CSS3), затем оно было реализовано в четвёртой версии FireFox. Остальные браузеры пока не подтянулись.
Вот как выглядит CSS-код:
body {
-o-tab-size: 4; /* размер табуляции — 4 (для Оперы 10.60+) */
-moz-tab-size: 4; /* размер табуляции — 4 (для FireFox 4+) */
-webkit-tab-size: 4; /* для будущих версий Safari и Chrome */
tab-size: 4; /* размер табуляции — 4, на будущее */
}
Значение по-умолчанию для этого свойства — 8 (пробелов), так же можно указать специальное значение «inherit», в этом случае значение будет унаследовано от родительского элемента.
Добавлено позднее: для WebKit уже есть патч для поддержки свойства «-webkit-tab-size».
Странно, что такой очевидной казалось бы вещи, нет в CSS с самого начала.
Комментарий для roman.yankovsky.me:
+1
А зачем это свойство вообще нужно? Есть хоть какой-никакой пример? Может, конечно, сгодиться в тегах «pre», но, пффф…
Комментарий для Артур:
Мне, вот, нужно. Чтобы листинги программ компактнее смотрелись.
Фе, код с табуляцией?!
Есть ли другие примеры, где может пригодится это свойство?
Табуляция вообще выглядит жутким атавизмом. Странно, что модная спецификация поддерживает её жизнь. Чудеса.
Комментарий для boltai-shaltai:
Да, код с табуляцией.
Не знаю. То, что для меня ценно, я уже написал. Возможно есть что-то ещё, но мне это не интересно.
Почему это?
Ну на тему табуляция vs. пробелы аргументы давно озвучены, чего их повторять.
Мне казалось, что все здравомыслящие люди используют пробелы. Совсем все, без исключений. Слишком всё однозначно.
Корпоративные стайлгайды всяких авторитетных контор тоже почти хором говорят о пробелах. Я тему сильно не изучал, конечно, но предпочтений табуляции не встречал никогда. И те яндексовые гайды, что мне попадались, тоже предписывали пробелы.
Атавизм — тоже понятно откуда. Моноширинность, матричные принтеры, листинги и т. п. Никакой разметки, никаких трутайпов, никаких em-ов. Единственным (!) способом форматирования на всех вообще девайсах были отступы.
Комментарий для boltai-shaltai:
А можно какую-нить емкую ссылочку на статейку «пробелы vs. табы». Ну, так, чтобы прочитать и проникнуться, а не желтушную статейку с субъективным мнением.
А сам лично пользую табы — это же удобнее и быстрее, чем 4 пробела фигачить. Да и размеры табов всегда ставят на 4 пробела, не встречал еще 3 или 2, ыыы.
Комментарий для Артур:
Для юниксовых утилит (редакторы, вьюверы) обычно по умолчанию 8.
Комментарий для Артур:
нееет уж, увольте, в вашем случае налицо моторная привычка и предубеждённость. Вы ЛЮБОЕ высказывание на эту тему обзовёте «желтой статейкой» ;))
Сами вбивайте в яндекс «пробелы vs. табы» и обрящете дофига мнений.
Они все справедливы. Но при коллективной работе вся эта справедливость и демократия идут лесом.
А кустарь-одиночка может фигачить как угодно, лишь бы ему было хорошо.
Комментарий для boltai-shaltai:
Так же как не кустарь, но одиночка.
Комментарий для Евгения Степанищева:
я и не знал, что кустарь — это ремесленник, который фигачит именно _на дому_. Теперь знаю — спасибо за камент (и яндекс-словарям тоже спасибо).
Товарищи, а разве свойство text-indent: 20px; уже не катит?
Вообще, всегда считал идиотизмом ставить пробелы вместо табуляции (это моё мнение), поясню: табуляция, это один единственный символ, позволяющий отодвинуть текст на определённый отступ, допустим у вас абзац с выравниванием по ширине и от количества символов пробелов в начале, красная строка (если кто ещё использует :)), будет растянута в соответствии с растяжением пробелов по первой строке, в то время как с табуляцией таких проблем не возникнет.
Комментарий для xema:
Я в курсе холивара «табы версус пробелы», мне в нём участвовать не хочется.
Для чего так рьяно отстаивать «эти ваши пробелы»? У вас батхерт что ли? Пользуйтесь ими на здоровье. Четырьмя байтами больше, четырьмя меньше, кому что... Меня лично табы в один байт больше устраивают.