WebKit和Microsoft的浏览器是否支持类似Firefox和Opera使用其-moz-tab-size
和-o-tab-size
属性指定制表符宽度的方法?
例如,我想让我的<textarea>
中的制表符宽度为4个空格:
textarea {
-moz-tab-size: 4;
-o-tab-size: 4;
/* How would I do this in Chrome, Safari, and IE? */
}
[更新:]
我创建了一个 tab-size
模拟器(演示):
<script> // tab-size polyfill
var codeElements = document.getElementsByTagName('code'), // Applies to all code elements. Adjust to your needs.
codeElementCount = codeElements.length,
e = d.createElement('i');
if(e.style.tabSize !== '' && e.style.mozTabSize !== '' && e.style.oTabSize !== '') {
for(var i = 0; i < codeElementCount; i++) {
codeElements[i].innerHTML = codeElements[i].innerHTML.replace(/\t/g,'<span class="tab">	</span>');
}
}
</script>
<style>
.tab {
width: 2.5em; /* adjust to your needs */
display: inline-block;
overflow: hidden;
}
</style>
注意: 这种方法不能用于<textarea>
,只能用于可以包含其他元素的元素。如果浏览器支持tab-size
属性,则会使用该属性。
tab-size
属性相关规范:http://www.w3.org/TR/css3-text/#tab-size - BoltClock