当前位置: 首页 > 面试题库 >

为什么浏览器将换行符呈现为空格?

施恩
2023-03-14
问题内容

最长的时间,我一直想了解为什么当浏览器在呈现的HTML元素之间存在换行符时,为什么在它们之间添加空白区域,例如:

<span>Hello</span><span>World</span>

上面的html将输出“ HelloWorld”字符串 在“ Hello”和“ World”之间 没有 空格,但是在以下示例中:

<span>Hello</span>
<span>World</span>

上面的html将输出“ Hello World”字符串 在“ Hello”和“ World”之间 一个空格。

现在,我可以毫无疑问地接受这只是它的工作方式,但令我有些烦恼的是,我总是觉得html元素之间的空格(或换行符)在当时是无关紧要的。浏览器将html呈现给用户。

所以我的问题是,是否有人知道这种行为背后的哲学或技术原因。

谢谢。


问题答案:

呈现时,浏览器将多个空格字符(包括换行符)压缩为一个空格。唯一的例外是<pre>元素内或CSS属性white- space设置为prepre-wrap设置的元素内。(或在XHTML中,该xml:space="preserve"属性。)



 类似资料:
  • 从这个Bugzilla线程(还有)可以看出,Firefox并不总是在POST请求中发送Origin头。RFC声明不应在某些未定义的“隐私敏感”上下文中发送。Mozilla在这里定义了这些上下文。 我很想知道,这些是不是Firefox不会发送Origin头的唯一情况。据我所知,它也不会在跨源POST请求中发送它(尽管Chrome和Internet ;Explorer会),但我不能在文档中确认这一点。

  • 我正在研究SAML和SSO,看起来使用SAML的应用程序需要是一个web应用程序,并且依赖于浏览器。 有人能告诉我为什么吗? 我对SAML的有限知识告诉我,SAML依赖于会话和cookie,这在桌面应用程序或移动应用程序中是不可用的。这是唯一的原因吗?你能告诉我更多的细节吗?

  • 我正在做一个测试,Firefox如何编码字符。 但事实让我困惑。 超文本标记语言代码: xxx是一些汉字。这些字符必须编码成%xx等格式才能通过HTTP传输。 首先,我用UTF-8编码源文件。使用firefox打开html文件。img标签将发送一个请求,“xxx”字符由UTF8编码。 (用UTF8编码HTML源文件,字符集=UTF8,浏览器用UTF编码URL) 我把meta改成了

  • gRPC基于HTTP/2,浏览器广泛支持HTTP/2(假设)。因此,我觉得从浏览器使用gRPC应该没有问题。 然而,很明显有一个问题。协议grpc web是不同的,因为“由于浏览器限制”而存在。还有许多博客文章描述了为让gRPC从浏览器工作而部署的复杂技术堆栈。 我忽略了实际的问题——为什么gRPC不只是在浏览器上工作?

  • 我这里有个问题。当我使用ajax传递一个包含"的参数给我的控制器时,它被一个空格所取代。 例如,我将使用ajax传递value=。当我在控制器中使用System.out.println()时,它会显示。我试过使用其他特殊字符,但似乎没有问题。 请帮忙。提前谢谢。