W3C 规定 "ASCII 空格" 、 "ASCII 制表符" 、 "ASCII 换行符" 等属于空白符(white space),对于多个连续的空白符,浏览器将对他们进行合并。
关于空白符的详细信息,请参考 HTML4.01 规范 9.1 中的内容。
在 IE6 IE7 IE8(Q) 下
其他浏览器符合规范,不存在此问题
没有合并的空格,或忽略的空格,可能使文字这行,在各浏览器中布局产生差异。
| IE6 IE7 IE8(Q) |
|---|
对于此问题,通过以下测试用例来说明,分析以下代码:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;
charset=utf-8"/> <style> body{ font-family:consolas; font-size:15px; } div{ margin:2px; }
</style> </head> <body> <div style="background:gold;border:1px solid
black;padding:3px;width:150px;"> <span style="border:2px dotted;">text1</span><div
style="display:none;">div</div> <span style="border:2px dotted;">text2</span>
</div> <div style="background:gold;border:1px solid black;padding:3px;width:150px;">
<span style="border:2px dotted;">text1</span><div
style="display:none;">div</div> <div style="display:none;">div</div><span
style="border:2px dotted;">text2</span> </div> <div style="background:gold;border:1px
solid black;padding:3px;width:150px;"> <span style="border:2px
dotted;">text1</span><div style="display:none;">div</div> <div
style="display:none;">div</div> <span style="border:2px dotted;">text2</span>
</div> <br /> <div style="background:gold;border:1px solid
black;padding:3px;width:150px;"> <span style="border:2px dotted;">text1</span> <span
style="display:none;">span</span> <span style="display:none;">span</span><span
style="border:2px dotted;">text2</span> </div> <div style="background:gold;border:1px
solid black;padding:3px;width:150px;"> <span style="border:2px dotted;">text1</span>
<input type="hidden" /> <input type="hidden" /><span style="border:2px
dotted;">text2</span> </div> <div style="background:gold;border:1px solid
black;padding:3px;width:150px;"> <span style="border:2px dotted;">text1</span><span
style="display:none;">span</span> <span style="display:none;">span</span> <span
style="border:2px dotted;">text2</span> </div> <div style="background:gold;border:1px
solid black;padding:3px;width:150px;"> <span style="border:2px
dotted;">text1</span><input type="hidden" /> <input type="hidden" /> <span
style="border:2px dotted;">text2</span> </div> <br /> <div
style="background:gold;border:1px solid black;padding:3px;width:150px;"> <span style="border:2px
dotted;">text1</span> <span style="display:none;">span</span> <span
style="display:none;">span</span> <span style="border:2px dotted;">text2</span>
</div> <div style="background:gold;border:1px solid black;padding:3px;width:150px;">
<span style="border:2px dotted;">text1</span> <input type="hidden" /> <input
type="hidden" /> <span style="border:2px dotted;">text2</span> </div> </body>
</html>
各浏览器中表现如下:
| IE6 IE7 IE8(Q) | IE8(S) Firefox Chrome Safari Opera |
|---|---|
![]() |
![]() |
可以看出:
删除不必要的空格。
| 操作系统版本: | Windows 7 Ultimate build 7600 |
|---|---|
| 浏览器版本: |
IE6
IE7 IE8 Firefox 3.6.12 Chrome 9.0.597.10 dev Safari 5.0.2 Opera 10.63 |
| 测试页面: | word-wrap_spaces.html |
| 本文更新时间: | 2010-12-10 |
white space 空白符 合并