一、a标签为例
单行超出隐藏
width: 200px; /* 设置一个固定宽度 */
display: block; /* 要变成块级元素才可以*/
over-flow: hidden; /* 自动隐藏文字 */
white-space: nowrap; /* 强制不换行 */
text-overflow: ellipsis; /* 文字隐藏后添加省略号 */
两行超出隐藏
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box; /* 作为弹性伸缩盒子模型显示 */
-webkit-box-orient: vertical; /* 设置伸缩盒子的子元素排列方式--从上到下垂直排列 */
-webkit-line-clamp: 2; /* 显示的行 */
- text-overflow
text-overflow: clip | ellipsis | string
值 | 描述 |
---|---|
clip | 修剪文本 |
ellipsis | 显示省略号来代替被修剪的文本 |
string | 使用给定的字符串来代替被修剪的文本 |
- white-space | word-wrap | word-break 的区别
文本换行有很多方法:
1.<br>
标签元素,强制换行。
2.<p>
元素,<div>
设定宽度,都可以对文本内容实现自适应换行。
3.对于长单词或链接,默认不会断开换行,这就需要word-wrap或word-break强制换行。
div {
white-space: nowrap;
}
/*
强制不换行(直到遇到<br>)
*/
div {
word-break: normal; // 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
word-break: break-all; // 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
word-break: keep-all; // 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本
}
div {
word-wrap: break-word; // 在长单词或URL地址内部进行换行
}
(1)white-space:如何处理元素内的空白
- normal:默认,空白会被浏览器忽略。
- pre:空白会被浏览器保留(类似HTML中的pre标签)。
- nowrap:强制不换行,直到遇到br标签。
- pre-wrap:保留空白符序列,但正常换行。
- pre-line:合并空白符序列,但保留换行符。
- inherit:从父元素继承该属性的值。
(2)word-wrap:是否允许浏览器在单词内进行断句
- normal:只在允许的断字点换行(浏览器保持默认处理)。
- break-word:在长单词或url地址内部进行换行(内容将在边界内换行 如果需要 单词内部允许断行)。
(3)word-break:怎么样进行单词内的断句
- normal:使用浏览器默认的换行规则。
- break-all:允许在单词内(任意非CJK(Chinese/Japanese/Korean)文本)换行
- keep-all:只能在半角空格或连字符处换行。