为了账号安全,请及时绑定邮箱和手机立即绑定

white-space详解

标签:
Html/CSS

【目录】

  • white-space详解

    • 一、列表溢出换行处理

    • 二、文字溢出省略处理

    • 三、文字展示

    • 属性介绍

    • 属性使用

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

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

我们熟知的是:

  1. 在开发中,无论我们敲多少空格和回车,显示在页面上的都会合并成一个。

  2. 我们的文字在超过一行的情况下,就会自动换行。

属性介绍

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

https://img1.sycdn.imooc.com//5d32aec800018dcd04760580.jpg

whiteSpace.png

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

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

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

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

属性使用

一、列表溢出换行处理

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


https://img1.sycdn.imooc.com//5d32aecd0001a60805280385.jpg

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

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

二、文字溢出省略处理

文字超出去怎么办?

https://img1.sycdn.imooc.com//5d32aed90001682101800080.jpg

overtext.png

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

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

可以看到下面的效果:

https://img1.sycdn.imooc.com//5d32aedc000136b002030070.jpg

overEllipsis.png

三、文字展示

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

https://img1.sycdn.imooc.com//5d32aeea0001638603220190.jpg

poetry.png

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

white-space:pre;

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

             

小礼物走一走,来简书关注我



作者:顽皮的雪狐七七
链接:https://www.jianshu.com/p/8ddbe4016778


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消