Html 为什么在源代码'\n';使用了什么?

Html 为什么在源代码'\n';使用了什么?,html,browser,Html,Browser,在处理我的项目时,我发现html源代码中的\n在浏览器中显示为这两行之间的空格。比如说, a b <pre>a b</pre> 在浏览器中显示为ab。如何在不删除换行符的情况下避免此“空格”?我想要的结果是ab紧挨着彼此-不是在单独的行上,也不是在它们之间有空格 我使用php动态生成相当大的表单,为了可读性,我使用与\n相同的php\u EOL,但在浏览器中会出现额外的空格。我想摆脱它们。用这样的内联标记围绕它们 <span>a</span >

在处理我的项目时,我发现html源代码中的
\n
在浏览器中显示为这两行之间的空格。比如说,

a
b
<pre>a
b</pre>
在浏览器中显示为
ab
。如何在不删除换行符的情况下避免此“空格”?我想要的结果是
ab
紧挨着彼此-不是在单独的行上,也不是在它们之间有空格


我使用php动态生成相当大的表单,为了可读性,我使用与
\n
相同的
php\u EOL
,但在浏览器中会出现额外的空格。我想摆脱它们。

用这样的内联标记围绕它们

<span>a</span
><span>b</span>
ab

用一些像这样的内联标记围绕它们

<span>a</span
><span>b</span>
ab

要在html中使用空格,请使用

而不是\n。
\n在代码中用于换行符。

要在html中使用空格,请使用

而不是\n。
\n在换行代码中使用。

更新答案

在下面的评论中,您已经说过,您正在寻找的结果是“ab”紧挨着彼此,它们之间没有空格或换行符

如果“a”和“b”确实是文本,我认为您没有任何选择,如果您希望它们彼此相邻,则必须删除换行符。(我知道你说过你不想那样做,我只是说,我觉得你别无选择。)

如果“a”和“b”是元素(你说过你要输出一个大表单),你可以玩CSS边距为负的游戏,但它很快就会变得难看。或者将该行插入标记的旧技巧,例如:

<input name="a" type="text"
><input name="b" type="text"
>
  • 您可以将
    a
    b
    放在使用块显示的单独容器中(默认情况下两者都是和do,并且您可以使用CSS将
    display:block
    应用于其他容器)

    …您可以使用CSS(值
    pre
    pre-wrap
    ,和
    pre-line
    )将相同的处理应用于其他元素


  • 更新的答案

    在下面的评论中,您已经说过,您正在寻找的结果是“ab”紧挨着彼此,它们之间没有空格或换行符

    如果“a”和“b”确实是文本,我认为您没有任何选择,如果您希望它们彼此相邻,则必须删除换行符。(我知道你说过你不想那样做,我只是说,我觉得你别无选择。)

    如果“a”和“b”是元素(你说过你要输出一个大表单),你可以玩CSS边距为负的游戏,但它很快就会变得难看。或者将该行插入标记的旧技巧,例如:

    <input name="a" type="text"
    ><input name="b" type="text"
    >
    
  • 您可以将
    a
    b
    放在使用块显示的单独容器中(默认情况下两者都是和do,并且您可以使用CSS将
    display:block
    应用于其他容器)

    …您可以使用CSS(值
    pre
    pre-wrap
    ,和
    pre-line
    )将相同的处理应用于其他元素


  • \n可能不是新行“显示”所需的唯一字符

    取决于平台\n可能只在代码中或同时在代码和可视输出中为您提供换行符。某些平台要求\r具有可视回车符。在某些情况下,您甚至可能需要\r\n获取所需的输出


    进一步阅读SO>

    \n可能不是新行“显示”所需的唯一字符

    取决于平台\n可能只在代码中或同时在代码和可视输出中为您提供换行符。某些平台要求\r具有可视回车符。在某些情况下,您甚至可能需要\r\n获取所需的输出


    进一步阅读SO>

    如果您不希望在渲染输出中使用空白,请不要将其放入输入中-就这么简单。或者,生成可读性极佳的xml作为中间步骤,并使用xslt将其处理为不含多余空格的html


    注意:建议用户在此答案中插入适当的
    标记;)

    如果您不希望在渲染输出中使用空白,请不要将其放在输入中—就这么简单。或者,生成可读性极佳的xml作为中间步骤,并使用xslt将其处理为不含多余空格的html



    注意:建议用户在此答案中插入适当的
    标记;)

    浏览器折叠空白。@Oded-为单个空白,而不是零空白。@Holf我使用php动态生成相当大的表单,为了可读性,我使用与
    \n
    相同的
    php\u EOL
    ,但在浏览器中会出现额外的空白。我想摆脱它们。@PLB-所以,为了让事情变得非常清楚,你想让它呈现
    ab
    ,而不是
    ab
    ,也不是
    a
    ,后面跟着一个新行,然后
    b
    ?@Quentin是的,我想呈现
    ab
    ,而不是
    ab
    ,在html源代码中,它们位于不同的行上。浏览器将空格折叠。@Oded-为单个空格,而不是零空格。@Holf我使用php动态生成相当大的表单,为了可读性,我使用与
    \n
    相同的
    php\u EOL
    ,但在浏览器中会出现额外的空白。我想摆脱它们。@PLB-所以,为了让事情变得非常清楚,你想让它呈现
    ab
    ,而不是
    ab
    ,也不是
    a
    ,后面跟着一个新行,然后
    b
    ?@Quentin是的,我想呈现
    ab
    而不是
    ab
    ,并在html源代码中将它们放在不同的行上。新的首字母缩略词:DVWE=Down Vote,无需解释。谢谢你!公平地说,解释很简单。它不起作用,空格还在那里。@n8wrl:我猜是那个人否决了你,因为你的答案没有保留新行(或者更确切地说,正确地表示它们)。解释:
    span
    不会接受空格和换行符。我猜
    <div>a</div>
    <div>b</div>
    
    <pre>a
    b</pre>