【问题标题】:HTML character spacing and spansHTML 字符间距和跨度
【发布时间】:2010-12-08 18:24:40
【问题描述】:

为什么以下 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>

【问题讨论】:

    标签: html character spacing


    【解决方案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

    【讨论】:

    • 感谢您的有效回复。但这实际上是 aspx 页面上的一些输出,它在其中放置标签控件的跨度。我想我需要解决这个问题。
    • 顺便说一句:感谢您的回答,我解决了我的问题。我把所有的 asp.net 标签标签放在一行上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 2021-08-09
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    相关资源
    最近更新 更多