WebKit和Microsoft浏览器是否支持使用其-moz-tab-size和-o-tab-size属性来指定tab宽度的任何方法(如Firefox和Opera)?
例如,我想要我的< textarea>宽度为4个空格:
textarea { -moz-tab-size: 4; -o-tab-size: 4; /* How would I do this in Chrome,Safari,and IE? */ }
[更新:]
我创建了一个tab大小的polyfill(Demo):
<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> s,但仅适用于可以包含其他元素的元素.如果浏览器支持tab-size,它会改为使用它.
解决方法
tab-size
目前仅由Firefox和Opera使用您的给定供应商前缀实现.
对于WebKit,there’s a bug report请求实施该属性.我相信工作已经开始了,从该报告的评论中可以看出.
对于IE,那么我在IE9或IE10中找不到关于-ms-tab-size或tab-size实现的内容.我认为IE团队一直没有更聪明.