CSS tab-size — ширина табуляції в pre і textarea
автор: Svitlana
Загальний опис
автор: NagarD
- Нотатка
-
Оскільки специфікація цієї технології ще не стабілізувалася, перевірте таблицю сумісності з браузерами.
Також зауважте, що синтаксис і поведінка цієї технології можуть змінюватися в майбутніх версіях браузерів, через можливу зміну специфікації.
автор: Svitlana
Синтаксис
tab-size: number|length|initial|inherit;
Властивість tab-size може отримувати 4 значень:
-
number -
Визначає ширину табуляції в пробілах. Без задання 8. Тобто, якщо Ви вкажете в якості значення число 0, то слова які були розділені символом табуляції, зіллються в єдине.
автор: Svitlana -
length -
Визначає довжину відступу. На даний момент це значення не підтимується жодним із браузерів.
автор: Svitlana -
initial -
Встановлює властивість у значення без задання
автор: Svitlana -
inherit -
Вказує на спадковість властивості від свого батьківського елемента
автор: Svitlana
| Значення без задання: | 8 |
|---|---|
| Наслідує: | Так |
| Анімується: | Ні |
| JavaScript синтаксис: | object.style.tabSize="16" |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 21 | 91 | 7 | 15 | 79 | — |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 25 | 91 | 7 |
Приклади
+ запропонувати свій приклад у пісочниці
Обидва рядки починаються з одного символу табуляції; tab-size каже, скільком пробілам він дорівнює — 4 чи 16.
HTML
<pre class="t4"> tab-size: 4</pre>
<pre class="t16"> tab-size: 16</pre>
CSS
pre {
border-left: 3px solid #0172ad;
}
.t4 { tab-size: 4; }
.t16 { tab-size: 16; }
Динамічний приклад впливу значення на елементи
HTML
<p>Встав адресу зображення:</p>
<input type="text" placeholder="url" id="field"></input>
<ul id="block">
<li>Це елемент один</li>
<li>Це елемент два</li>
<li>Це елемент три</li>
</ul>
CSS
body {
padding: 36px;
text-align: center;
line-height: 1.45;
font-size: 20px;
font-family: sans-serif;
}
#field {
padding: 8px;
font-size: 20px;
}
#block {
text-align: left;
}
JS
var block = document.getElementById('block');
document.getElementById('field').onchange = function () {
block.style.listStyleImage = 'url("' + this.value + '")';
};
//# sourceURL=pen.js
Простий приклад використання
HTML
<pre>
Normal
tab
size
</pre>
<pre class="small-tab">
Small
tab
size
</pre>
CSS
pre{
font-size: 18px;
border: 2px solid blue;
padding: 20px;
width: 50%;
}
.small-tab {
background: yellow;
-moz-tab-size: 2;
tab-size: 2;
}
Той самий текст із табуляціями за чотирьох різних значень tab-size, плюс дві перевірки: у звичайному блоці з white-space: normal табуляція просто склеюється з пробілами, а в полі textarea властивість працює. Рядки навмисно мають різну довжину перед табуляцією — видно, що це позначки табулятора, а не відступ.
HTML
<p class="cap">tab-size: 8 (типове) — X стає на 8-му, 16-му, 24-му знаку:</p>
<pre class="t8"> X
ab X
abcdefg X
abcdefgh X
abcdefghijklmnop X</pre>
<p class="cap">tab-size: 4 — той самий текст, крок удвічі коротший:</p>
<pre class="t4"> X
ab X
abcdefg X
abcdefgh X
abcdefghijklmnop X</pre>
<p class="cap">tab-size: 20px — крок задано довжиною, а не знаками:</p>
<pre class="tpx"> X
ab X
abcdefg X</pre>
<p class="cap">tab-size: 0 — табуляція не займає місця:</p>
<pre class="t0"> X
ab X</pre>
<p class="cap">Звичайний блок (white-space: normal) — властивість не діє:</p>
<div class="plain"> X — табуляція склеїлася з пробілами</div>
<p class="cap">У полі форми tab-size працює:</p>
<textarea rows="3" cols="30"> X
ab X</textarea>
CSS
.cap {
margin: 16px 0 4px;
font: 600 .9em/1.4 system-ui, sans-serif;
color: #5a6472;
}
pre,
.plain,
textarea {
margin: 0;
padding: 6px 8px;
background: #eef1f5;
border-left: 4px solid #2f6fd0;
font: 14px/1.45 ui-monospace, monospace;
}
.t8 {
tab-size: 8;
}
.t4 {
tab-size: 4;
}
.tpx {
tab-size: 20px;
}
.t0 {
tab-size: 0;
}
.plain {
white-space: normal;
tab-size: 4;
}
textarea {
tab-size: 4;
border: 1px solid #b9c6d8;
border-left: 4px solid #2f6fd0;
}
Коментарі
Коментарів ще немає — будьте першим!