重拾基础耐人寻味的CSS属性whitespace

23次阅读

共计 871 个字符,预计需要花费 3 分钟才能阅读完成。

《耐人寻味的 CSS 属性 white-space》,本文说的 white-space 是一个控制换行和空白处理的 CSS 属性。我曾经被这个属性烦死,一直没记住,今天决定还是写下来好好琢磨下。

属性值

normal

默认值,正常换行,空白和换行符会被浏览器忽略。啥意思呢?

  • 正常换行的意思是,单词间会正常换行,如果下一个单词太长,不足以在当前行剩余部分完整展示,则会在下一行显示。哪些情况算一个单词呢?

    • 一个中文字
    • 一个英文单词

      // 这是两个单词
      Tusi Blog
      // 这只算一个单词
      TusiBlog
    • 连续的数字或符号也只算一个单词

      // 这只算一个单词,如果超长也不会换行,会挤出横向滚动条
      10000000000000000000000+2000000000000000000*200000000000000
  • 空白和换行符会被浏览器忽略。就是你输入连续的空格,只会表现出一个空格的效果;如果敲了回车,也不会换行。
<!-- 代码 -->
<div>00000000                  00000000000000000></div>
<!-- 实际效果 -->
00000000 00000000000000000

pre

  • 行为方式类似 HTML 中的 pre 标签。pre标签一般用来包裹源代码。
  • 不会自动换行(想想,你写代码时,不回车会换行吗?),除非在文本中遇到换行符(敲了回车)或使用了 br 标签。
  • 空白会被浏览器保留。意思就是连续的空格会被保留,不会合并成一个。

nowrap

  • 不换行,内容再多也不换行。
  • 忽略换行符,也就是说回车也不会换行,直到遇到 br 标签为止。

pre-wrap

  • 正常换行
  • 连续的空白符会被保留
  • 换行符(回车)也是有效的

pre-line

  • 正常换行
  • 连续空白符会被合并成一个
  • 换行符(回车)也有效

inherit

继承父元素的 white-space 属性值

总结

可以从几个方面来对比下这几种属性值的差异。

是否正常换行 是否合并连续空白符 换行符是否有效
normal
pre
nowrap
pre-wrap
pre-line

妈呀,还是挺难记的,多多复习!

首发链接


扫一扫下方小程序码或搜索Tusi 博客,即刻阅读最新文章!

正文完
 0