white-space详解

【目录】

  • white-space详解
    • 属性介绍
    • 属性使用
      • 一、列表溢出换行处理
      • 二、文字溢出省略处理
      • 三、文字展示

white-space 属性设置处理元素内的空白,所谓空白有哪些?

Space(空格)、Enter(回车)、Tab(制表符)

我们熟知的是:

  1. 在开发中,无论我们敲多少空格和回车,显示在页面上的都会合并成一个。
  2. 我们的文字在超过一行的情况下,就会自动换行。

属性介绍

但是开发的要求各种各样,white-space的功能属性也很强大,可以有各种各样的不同效果,下面来看一张图:

whiteSpace.png

这个古诗是怎么打出来的呢?

床(空格)前(空格)(空格)(空格)(空格)明月光,疑是地上霜
(回车)
举头望明月,低头(Tab)思故乡

下面一个表格来说明一下出现这种情况的原因:

属性 效果 兼容
normal(默认) 所有空格、回车、制表符都合并成一个空格,文本自动换行 IE7\IE6+
nowrap 所有空格、回车、制表符都合并成一个空格,文本不换行 IE7\IE6+
pre 所有东西原样输出,文本不换行 IE7\IE6+
pre-wrap 所有东西原样输出,文本换行 IE8+
pre-line 所有空格、制表符合并成一个空格,回车不变,文本换行 IE8+
inherit 继承父元素 IE不支持,不推荐用

属性使用

一、列表溢出换行处理

同样是320px的手机,iphone4可以在一行显示,但是安卓端就会有错位现象,这个开始让我很头疼:
ios端


row.png

andriod


overrow.png

这样的话使用媒体查询也无法处理,所以在这一行的父元素中设置,所有的元素强制一行显示。

ul{
  white-space: nowrap; /*强制内容在一行显示*/
  overflow:hidden; /*超出部分隐藏*/
}

二、文字溢出省略处理

文字超出去怎么办?

overtext.png

一般都自动换行了,想要文字溢出的部分自动用省略号表示,那么离不开三个属性:

white-space: nowrap; /*强制内容在一行显示*/
overflow: hidden;/*超出部分溢出*/
text-overflow: ellipsis;/*溢出的部分使用省略号*/

可以看到下面的效果:

overEllipsis.png

三、文字展示

如果是显示诗歌,或者文案之类的,很多情况需要输入什么样子,出来什么样子。

poetry.png

这个时候用pre属性是最合适的(毕竟兼容性最好么):

white-space:pre;

version1.0 —— 2018/4/23,首次创建white-space详解
©burning_韵七七

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 2,083评论 1 4
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,198评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,275评论 0 13
  • CSS3新特性中关于文本方面的内容不少,会有两节内容:文字渲染和文本格式。今天来谈谈最复杂的部分——文本格式。今天...
    荷小音阅读 1,047评论 0 2
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,272评论 2 33