时间:2010-12-08 18:24:41

标签: html character spacing

为什么以下2次不显示相同,我该怎么做才能使第二次看起来像第一次?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
</head>
<body>
    <div>
     8:00
                <span>8</span>
                <span>:</span>
                <span >00</span>
    </div>            

</body>
</html>

1 个答案:

答案 0 :(得分:1)

摆脱span标记之间的换行符。像这样:

<div>
 8:00
            <span>8</span><span>:</span><span >00</span>
</div>     

我很难在规范中找到它,但似乎几乎所有的浏览器都占用了所有的空格并将其“压缩”到一个空格。

这是related SO post

接受的答案建议使用String.Format来更准确地处理渲染 - 这可能对您的特定情况有所帮助。

<强>更新

根据HTML 4 spec

  

SGML(见[ISO8879],第7.6.1节)   指定换行符   必须紧跟在开始标记之后   被忽略,必须断线   紧接在结束标记之前。这个   适用于所有HTML元素   异常。

还有一篇有趣的文章将此描述为一个错误here