实现文本溢出用“…”来显示
说明:
在工作中正好,需要实现一个溢出出现省略的效果,所于是上网查了一些资料,由于这不是单一一个属性就能实现的,需要多属性配合使用,所以就写一篇学习记录的博客,方便之后自己学习回顾,同时也给需要帮助的朋友作为一个参考。
由于本人也才刚开始学习前端,所以会存在很多问题,希望大家能多多留言,一起探讨学习,共同进步。
单行溢出显示“…”
实现CSS代码
单行溢出相对比较简单只要三个属性就能实现,代码如下
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试溢出点点点</title>
<style type="text/css">
.box{
width: 200px;
height: 30px;
border: #549FF4 solid 0.1875rem;
line-height: 30px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<div class="box">
这个是用来测试溢出内容为点点点形式显示
</div>
</body>
</html>
了解个属性
具体了解一下关于这三个属性,以及他们的属性值,方便以后的运用
overflow的属性
-
这个属性的中文名就是“溢出”,它常用的属性值有5个,visible,hidden,auto,scroll,inherit
-
值 描述 visible 默认值。内容不会被修剪,会呈现在元素框之外。 hidden 内容会被修剪,并且其余内容是不可见的。 scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。 inherit 规定应该从父元素继承 overflow 属性的值。 -
visible:为默认属性,当内容大于盒子时会换行,溢出的部分会显示
-
hidden:表示为隐藏,当内容大于盒子时会换行,溢出部分会被隐藏
-
auto:表示自动,浏览器根据盒子内容产生不同的显示,当内容大于盒子时会换行,并且盒子会显示滚动条,拖动显示溢出内容
当内容小于盒子时会换行,并且盒子不会显示滚动条,内容全部显示在盒子内
(与scroll的最大区别)
-
scroll:表示滚动,当内容大于盒子时会换行,并且盒子会显示横向和竖向滚动条,拖动显示溢出内容
当内容小于盒子时会换行,并且盒子依旧会显示滚动条,内容全部显示在盒子内
(与auto的最大区别)
-
inherit:表示继承,继承父的overflow的属性值
white-space属性
-
这个属性的中文含义就是”空白部分“,一般产生空白效果的键有,tab key(制表符),space key(空格键),enter key(回车键),常用的属性值有6个,normal,nowrap,per,per-line,per-wrap,inherit
-
值 描述 normal 默认。空白会被浏览器忽略。 pre 空白会被浏览器保留。其行为方式类似 HTML 中的 pre标签。 nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 br标签为止。 pre-wrap 保留空白符序列,但是正常地进行换行。 pre-line 合并空白符序列,但是保留换行符。 inherit 规定应该从父元素继承 white-space 属性的值。 -
normal:表示默认值,多个空格键,多个tab键,回车键只占用一个位置,自动换行,br标签会换行
-
nowrap:表示不自动换行,多个空格键,多个tab键,回车键只占用一个位置,br标签会换行
-
pre:和html中
标签一样,能够保留文本格式。多个空格键,多个tab键占用多个位置,回车和br标签有换行效果,不自动换行
-
pre-line:多个空格键,多个tab键只占用一个位置,自动换行,br标签和回车键有换行效果
-
pre-wrap:比pre多了一个自动换行效果,多个空格键和多个tab键占用多个位置,回车键和br标签有换行效果,可以自动换行
-
inherit:表示继承,继承父的overflow的属性值
text-overflow
-
这个属性的中文字面含义就是”文本溢出“,常用的属性值有3个,clip,ellipsis,string
-
值 描述 clip 修剪文本。 ellipsis 显示省略符号来代表被修剪的文本。 string 使用给定的字符串来代表被修剪的文本。 -
clip:这是一个默认值中文意思是“剪辑”,显示效果比较粗暴,直接显示截断效果,兼容性较好
-
ellipsis:表示省略,和clip效果一样也是截断文字,只不过视觉效果会好点,将不显示的内容以“…”的形式显示,兼容性较好。
-
string:这个表示输入一个字符串,然后将不显示的内容用自己输入的字符串来代替。兼容性价差,火狐游览器可用。
在做测试的时候,我发现要达到这样的效果,必须作用在块级元素上面,不能作用在行内元素或者行内块级元素上面。