css处理文本换行和省略

关于这个问题会有很多css的相关属性,我就来一一列举出来,并分析属性作用。最后总结策略。
CJK=中日韩
word-break指定了怎样在单词内断行:
normal : 默认换行规则;可以看到CJK文本会自动行,非CJK文本不会自动换行,会超出容器,但是在查找到空格这类可以作为换行依据的内容时,非CJK内容也能实现换行

break-all:break-all属性很霸道,只要容器装不下了,就会立即换行,不管是CJK内容还是非CJK内容,也可以理解为break-all将非CJK内容作为CJK处理。

Keep-all:CJK 文本不断行。 Non-CJK 文本表现同 normal。相当于恰好和break-all相反,将CJK内容当成非CJK内容处理。不过如果行末出现空格CJK也会换行。

overflow-wrap(word-wrap)是用来说明当一个不能被分开的字符串太长而不能填充其包裹盒时,为防止其溢出,浏览器是否允许这样的单词中断换行:
normal:行只能在正常的单词断点处中断。(例如两个单词之间的空格)。

break-word:表示如果行内没有多余的地方容纳该单词到结尾,则那些正常的不能被分割的单词会被强制分割换行。

overflow-wrap其实原来叫word-wrap,用来判断单词的换行形式。不同于word-break是通过容器宽度限制换行。

white-space属性是用来设置如何处理元素中的 空白 :
normal:连续的空白符会被合并,换行符会被当作空白符来处理。换行在填充「行框盒子(line boxes)」时是必要。
nowrap:和 normal 一样,连续的空白符会被合并。但文本内的换行无效。
pre:连续的空白符会被保留。在遇到换行符或者
元素时才会换行。 
pre-wrap:连续的空白符会被保留。在遇到换行符或者
元素,或者需要为了填充「行框盒子(line boxes)」时才会换行。
pre-line:连续的空白符会被合并。在遇到换行符或者
元素,或者需要为了填充「行框盒子(line boxes)」时会换行。

hyphens此属性告诉浏览器在换行时使用连字符连接单词:none | manual | auto

text-overflow属性确定如何向用户发出未显示的溢出内容信号。它可以被剪切,显示一个省略号或显示一个自定义字符串:
clip:默认值
ellipsis:省略号

-webkit-line-clamp CSS 属性 可以把 块容器 中的内容限制为指定的行数.

文本超出三行省略的策略:
p {
width: 300px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值