为什么以下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>
答案 0 :(得分:1)
摆脱span标记之间的换行符。像这样:
<div>
8:00
<span>8</span><span>:</span><span >00</span>
</div>
我很难在规范中找到它,但似乎几乎所有的浏览器都占用了所有的空格并将其“压缩”到一个空格。
接受的答案建议使用String.Format
来更准确地处理渲染 - 这可能对您的特定情况有所帮助。
<强>更新强>
根据HTML 4 spec:
SGML(见[ISO8879],第7.6.1节) 指定换行符 必须紧跟在开始标记之后 被忽略,必须断线 紧接在结束标记之前。这个 适用于所有HTML元素 异常。
还有一篇有趣的文章将此描述为一个错误here。