我需要通过CSS将8个空格的标签(\t
键)的默认行为更改为4个空格。有可能吗?
如果没有,我可以使用javascript进行模拟吗?有一些库或方法可以做到吗?
示例
自:
[tabtab][tabtab][tabtab]Hello World
[tabtab] Hey!
更改为:
[tb][tb][tb]Hello World
[tb] Hey!
修改
请注意:如果我在标签字符之前有1到3个字符,则该标签将只显示1个空格,而不是4个。
H[tabtb]ello World! --will be--
H[t]ello World!
另一个例子,没有[tab] 伪键:
TAB GRID
---4---8---4---8-...
H ello World (1 tab key after H = 7 spaces, instead of 8) --will be--
H ello World (1 tab key sized 4 will be 3 spaces because of H)
He llo World
He llo World
Hel lo World
Hel lo World
Hell o World
Hell o World*
*
此示例不会删除它,只是发送到下一个块。
修改2
我向Chrome发布了一个问题:read here。
答案 0 :(得分:4)
div,p,span,textarea {
-tab-size : 3;
-o-tab-size : 3;
-moz-tab-size : 3;
}
答案 1 :(得分:2)
可以通过将制表符转换为空格来在JavaScript中完成,您可以控制每个制表符的空格数。与white-space
样式结合使用可以使其正常工作。
JavaScript看起来像这样:
function tabs2spaces(str, spaces) {
return str.toString().replace(/\t/g, (new Array(spaces+1)).join(' '));
}
alert(tabs2spaces("\thello world\there\twe\tgo", 4));