处理文字溢出的方案,HTML自动换行的问题

来源:http://www.smjxgs.com 作者:4887王中王鉄算盘奖结果 人气:149 发布时间:2019-08-13
摘要:HTML自动换行的问题,HTML自动换行问题 有时文本文字已经超过所在的区域,但是文字还是不自动换行可以用强制换行强制不换行div{ white-space:nowrap;}自动换行div{ word-wrap:break-word; word-bre

HTML自动换行的问题,HTML自动换行问题

有时文本文字已经超过所在的区域,但是文字还是不自动换行

可以用强制换行

强制不换行div{ white-space:nowrap;}
自动换行div{ word-wrap:break-word; word-break:normal;}
强制英文单词断行div{ word-break:break-all;}

这个是超出隐藏,注意设置宽度

overflow:hidden;  /*超出部分隐藏*/ 
white-space:nowrap; /*文本溢出用"..."表示*/
text-overflow:ellipsis;/*适用IE*/
-o-text-overflow:ellipsis; /*适用opera*/
-moz-binding: url('ellipsis.xml#ellipsis');/*适用火狐(firefox通过XUL实现效果)*/

  

有时文本文字已经超过所在的区域,但是文字还是不自动换行 可以用强制换行 强制不换行div{ white...

知识点

white-space、word-break、word-wrap

浏览器默认的换行规则

.default{
  white-space:normal;
  word-wrap:normal;
  word-break:normal;
}

默认情况下:
因为white-space:normal是默认值,css规范中要求会自动换行。HTML中文字长度如果超出外层边框是会自动换行的。
如果遇到一个长单词。浏览器会先尝试将长单词放在本行,如果文字超出了,那么会自动换到下一行。如果换行之后仍然超出,那就只能溢出了。

word-wrap与word-break的区别

  1. 首先来看word-break
    word-break 属性规定自动换行的处理方法。
属性值 描述
normal 使用浏览器默认的换行规则。
break-all 允许在单词内换行。
keep-all 只能在半角空格或连字符处换行。

2.再来看看4887王中王鉄算盘奖结果,word-wrap
word-wrap 属性允许长单词或 URL 地址换行到下一行。

属性值 描述
normal 只在允许的断字点换行(浏览器保持默认处理)。
break-word 在长单词或 URL 地址内部进行换行。
相同点

都与单词内换行有关系。事实上,word-wrap:break-wordword-break:break-all共同点是都能把长单词强行断句。

不同点

"不同点是word-wrap:break-word会首先起一个新行来放置长单词,新的行还是放不下这个长单词则会对长单词进行强制断句;而word-break:break-all则不会把长单词放在一个新行里,当这一行放不下的时候就直接强制断句了。"

解决方案

  1. 统一不换行,溢出则用省略号表示,css代码如下
.ellipsis{  
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;/*必须和overflow:hidden,连用才有效*/
}
  1. 自动换行 长单词内部换行,外层框自动承开。要求父级元素都没有高度限制。
{
word-break:break-all;
}

参考文献

  1. 你真的了解word-wrap和word-break的区别吗?
  2. 多行文本溢出显示省略号(…)全攻略

本文由4887王中王鉄算盘奖结果发布于4887王中王鉄算盘奖结果,转载请注明出处:处理文字溢出的方案,HTML自动换行的问题

关键词:

最火资讯