最长的时间,我一直想了解为什么当浏览器在呈现的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设置为pre或pre-wrap设置的元素内。(或在XHTML中,该xml:space="preserve"属性。)
<pre>
white- space
pre
pre-wrap
xml:space="preserve"