css white-space属性

white-space属性

自动换行:自动换行会尽量保持文本不向右溢出,当一行放不下才会换行。
属性属性值是否换行保留回车空格
white-spacenomal(默认值)自动换行多个空格回车变成1个空格,换行处变成1个回车
white-spacenowrap不换行不保留回车、多个空格回车变成1个空格
white-spacepre回车换行保留回车、空格
white-spacepre-wrap自动换行保留回车和空格、换行处空格会变成回车
white-spacepre-line自动换行保留回车、多个空格变成1个空格,换行处变成1个回车
white-spaceinherit继承父元素white-space属性的值

text-align:justify;文本作用

white-space:normal

自动换行

注:为了显示效果p标签设置了宽高和红色边框

p{
      width:500px;
      height: 200px;
      border: solid 1px red;
 }

英文文本

   多个空格和回车会变成一个空格,所以下面文本添加了多个空格和回车,正常英文文本就是由这些空格和回车组成的,所以我下面的文本也是正常英文文本
 <p>
        Lorem, ipsum dolor
        
        
             sit amet consectetur         adipisicing.
 </p>

  结果显示
在这里插入图片描述
  多个空格变成一个回车,只有换行处才会变成回车其它的都是上面那种情况
  还有多个空格和回车变成一个回车,这个就不做举例了

<p>
     Lorems, iipsum dolor sit amet consectetur adipisicing it do.Lorem      ipsum dolor sit.
</p>

  上面p标签文本假如排在一行上会这样
在这里插入图片描述

  结果显示
在这里插入图片描述

  英文文本是以空格回车作为一个单词分割标志的,自动换行时并不会拆开单词。自动换行时会判断文本中的单词在一行中是否放得下,放不下的单词将把单词前面的空格变成回车进行换行

  比如以下文本

<p>
   Lorem ipsum dolor sit amet consectetur. Repudiandaequibusdamquidem
</p>

  上面p标签文本假如排在一行上会这样
在这里插入图片描述

  自动换行把过长单词前面的空格变成回车,换行
在这里插入图片描述
  还有以下代码

<p>
    Loremipsumdolorsitametconsectetur.widthheightRepudiandaequibusdamquidem
</p>

  因为没空格回车,自动换行时故以为此文本为一个单词,所以就没法换行,这样的话文本就会溢出
在这里插入图片描述
在这里插入图片描述

  文本溢出的部分如果有多个空格,自动换行会把溢出部分的最前面一个空格变成回车换行,其他的被忽略

 <p>
      Loremipsumdolorsitametconsectetur.widthheightRepudiandaequibusdam    q u i
      dem
 </p>

  所以把m后面的空格变成回车,换行
在这里插入图片描述

中文文本

  中文文本不会出现文本向右溢出的情况,因为每个汉字处都能自动换行

  为举例自动换行可能在每个汉字处换行,以下举例文本是中英文文本

<p>
   你Loremipsumdolorsitametconsectetur.widthheightRepudiandaequibusdam    q u i
   dem
</p>

  "你"字后面和一连串没有空格回车的英文文本,无法在第一行上并列,所以自动换行在"你"字处换行,如果条件允许每个汉字处都能自动换行,和英文文本不同的是,它并不需要空格和回车才能换行
在这里插入图片描述
  再举例

 <p>
        你Loremipsumdolorsitametconsectetur.好widthheightRepudiandaequibusdam    q u i
       dem
    </p>

  显示结果
在这里插入图片描述
  还有一点需再次说明,默认值下(white-space:normal;)汉字永远不会向元素右边溢出

总结

   1.自动换行会尽量保持文本不向右溢出,其有可能把文本中某一个空格变成回车(换行符),也有可能在某个汉字处换行,来保持文本不向右溢出。
   2.只有没有空格回车的英文文本其长度超出了元素宽度才会向右溢出。

注意

  以下为当无法并列一行时能自动换行的符号,英文符号为英文输入法下键盘上敲出的符号,中文符号为中文输入法下键盘上敲出的符号。

  英文符号能换行的有:? -
  中文符号能换行的有:,》。、?;:、】——-)……!



white-space:nowrap;

不换行

  不会换行,文本多长都只是在一行上,文本长度超过元素宽度就会溢出。文本中多个空格回车处只保留一个空格


  

剩下属性值不做过多解释




text-align:justify;文本作用

  css 代码

p{
      width:500px;
      height: 100px;
      border: solid 1px red;
      text-align: justify;
 }

  1.文本未能占满一行,justify不会有作用

<p>Lorem ipsum dolor adipisicing elit.</p>
<p>君不见,黄河之水天上来,奔流到海不复回。</p>

  显示结果

在这里插入图片描述

  2.只有两行及以上才会有效果,一般情况下效果甚微

<p>Lorem ipsum dolor adipisicing elit. Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ipsum expedita.</p>
<p>君不见,黄河之水天上来,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪。人生得意须尽欢,莫使金樽空对月。</p>

  css中不添加 text-align:justify;看效果
  显示结果
在这里插入图片描述
  css添加 text-align:justify;之后,右边的小空隙被占满
在这里插入图片描述
  只有一行上只有几个字的效果才明显

<p>Lorem ipsum dolor adipisicing. Lorem,ipsumdolorsitametconsecteturadipisicingelit.Ipsum expedita.</p>
<p>君不见,黄河之水天上来 Lorem,ipsumdolorsitametconsecteturadipisicingelit.Ipsum expedita.</p>

  css中不添加 text-align:justify;看效果
在这里插入图片描述
  css添加 text-align:justify;之后,效果明显
在这里插入图片描述

总结

   文本未能占满一行justify不会有效果,只有两行及以上才会有效果,一行上字少的效果才明显
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值