8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

为什么浏览器不呈现由 'white-space: pre' 元素内的尾随换行符引起的换行符?

monti 1月前

30 0

这两个 div 渲染效果相同。为什么前导换行符被渲染,而尾随换行符没有被渲染(在第二个 div 中)?我阅读了 CSS3 规范中的换行符和单词边界部分,但它

这两个 div 呈现的结果相同。为什么前导换行符被呈现,而尾随换行符没有呈现(在第二个 div 中)?我阅读了 换行符和单词边界 部分,但它没有解释这种行为。

.pre {
  white-space: pre;
  border: 1px solid red;
  margin-bottom: 10px;
}
<div class="pre">
hello
world</div>

<div class="pre">
hello
world
</div>
帖子版权声明 1、本帖标题:为什么浏览器不呈现由 'white-space: pre' 元素内的尾随换行符引起的换行符?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由monti在本站《jquery》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 就像 br 一样,如果它位于最后,它不会创建额外的空行。它只会中断它。如果你想要它显示出来,那么在它后面添加内容:

  • LoVo 1月前 0 只看Ta
    引用 3

    为什么?显然是为了避免兼容性问题。

    表示 W3C

    为了避免 SGML 换行规则问题以及现有实现之间的不一致,作者不应依赖用户代理在开始标记之后或结束标记之前立即呈现空格。

    还有 :

    请注意,在进行这些检查(针对空白属性的值)之前,空白处理规则已经删除了分段符后的所有制表符和空格。

    现在尚不清楚 如果允许浏览器保留结束标记前的空格,究竟会引入哪些不一致性,但事实就是如此

  • 在 op 示例中,有一个空格/换行符,将不会被渲染。如果有两个换行符,则将渲染一个,最后一个仍将被删除。W3C 对我来说似乎很清楚:)

  • 因为最后一个 \n 不起作用。而该属性的 white-space: pre 作用正如它的名字一样。它只会在单词前添加换行符。最后一个 \n 不会被识别为单词。

  • ?? 你能解释一下吗?我看不出它与 white-space:pre; 有什么联系

  • @GCyrillus 我的意思是 white-space: pre 函数,正如它的名字一样。它只在你包含的单词之前起作用

    and the last \n is not recognized as a word.
返回
作者最近主题: