这里记录下如何用CSS实现单行、多行文本溢出容器的时候用省略号代替溢出部分。

单行文本溢出容器时显示省略号的CSS实现方法

/* 规定当内容溢出元素框(容器)时隐藏 */
overflow: hidden;
/* 规定当文本溢出包含元素(容器)出现省略号 */
text-overflow: ellipsis;
/* 规定段落中的文本不进行换行 */
white-space: nowrap;

要注意的是,因为是要在文本溢出容器时候显示省略号,因此容器是需要有固定的宽度的。

示例:我是想要省略号的文本,哈哈哈哈哈哈啊哈哈。

在上面的示例中,后面的85646464654495467417个哈哈哈都被省略成省略号了。

然后我们来对这些属性和值逐个分解。

overflow

overflow属性规定当内容溢出元素框时发生的事情。

描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承overflow属性的值,IE不支持这个值。

这里使用的是hidden。

text-overflow

text-overflow属性规定当文本溢出包含元素时发生的事情。

描述
clip 默认值。修剪文本。
ellipsis 显示省略符号来代表被修剪的文本。
string 使用给定的字符串来代表被修剪的文本。

这里使用的是ellipsis,是显示省略号的重点。

white-space

white-space属性规定如何处理元素内的空白。

描述
normal 默认值。空白会被浏览器忽略。
pre 空白会被浏览器保留。其行为方式类似HTML中的<pre>标签。
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到<br>标签为止。
pre-wrap 保留空白符序列,但是正常地进行换行。
pre-line 合并空白符序列,但是保留换行符。
inherit 规定应该从父元素继承white-space属性的值,IE不支持这个值。

这里使用的是nowrap。

多行文本溢出容器时显示省略号的CSS实现方法

overflow: hidden;
/* 用来限制在一个块元素显示的文本的行数。为了实现该效果,它需要组合其他的WebKit属性,比如下面的两个 */
-webkit-line-clamp: 3;
/* 必须结合的属性,将对象作为弹性伸缩盒子模型显示 */
display: -webkit-box;
/* 必须结合的属性,设置或检索伸缩盒对象的子元素的排列方式,这里是垂直 */
-webkit-box-orient: vertical;

多行这个用的是Webkit的CSS扩展属性,因此只兼容Webkie内核的浏览器,实际场景基本用不上(我没有用过所以这么说,网上找的,嘻嘻)。

同时这些扩展属性也比较新,不知道有没有什么稀奇古怪的Bug(柠檬酸),已知的一个问题是即使末行文本未超出行的情况下也会出现省略号。因此建议还是想想别的折衷方法,比如修改页面布局配合其他CSS属性实现或用JavaScript实现。

"跟雨伞学做人,如果你不为别人挡风遮雨,谁又会把你高高举在头上。"

css文本省略号的更多相关文章

  1. css 文本省略号显示

    文本省略号是非常常见的需求,而省略号展示又通常分为俩种情况折行和不折行.不折行: div { white-space:nowrap;/* 规定文本是否折行 */ overflow: hidden;/* ...

  2. css 文本省略号设置

    本文推荐2种方法. 1. css tip:只兼容chrome内核的浏览器.ff不支持. .box { overflow: hidden; /* 溢出时不显示溢出的内容 */ text-overflow ...

  3. css文本超出省略号

    终于完成了项目了,今天我就分享自己在项目中比较实用的一些功能的实现,第一个就是纯css文本超出省略号 /* 文本单行超出省略号 */ .textels { overflow: hidden; text ...

  4. CSS多余文本省略号显示

    CSS多余文本省略号显示 本次案例代码是在 elementui 当中的 table 组件中实际需求 当然使用的是纯 CSS3 代码,所以原生支持度高,兼容性高,所以可多场景应用 对于过长文本进行单行省 ...

  5. css文本属性用法总结

    稍稍总结了下css文本的一些属性用法,自己忘记的时候也可以用来查查,不用去查网站那么麻烦. 下面是部分总结,也希望对其他人有用 文本修饰 (1)text-decoration:  文本修饰(横线) 4 ...

  6. css 实现省略号. text-overflow: ellipsis; 同时设置四个属性才可以.

    这个同时需要. text-overflow  ;  overflow  ;  white-space ; width ;  四个属性才可以. <!DOCTYPE html> <htm ...

  7. CSS 文本控制

    one more time one more chance. 一歩重头学前端, css入门. 学习一些 CSS 文本控制的属性,防止做傻事.请大家对照下面列表检验下: 会的.不会的.似懂非懂的.笔者是 ...

  8. 第 15 章 CSS 文本样式[下]

    学习要点: 1.文本总汇 2.文本样式 3.文本控制 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 文本样式,通过文本样式的设置,更改字体的大小.样式以及文本的方位. 一.文本总汇 本节课, ...

  9. 第 15 章 CSS 文本样式[上]

    学习要点: 1.字体总汇 2.字体设置 3.Web 字体 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 文本样式,通过文本样式的设置,更改字体的大小.样式以及文本的方位. 一.字体总汇 本节 ...

随机推荐

  1. C++之封装继承和多态

    C++中非常重要的概念,尤其是相对于C语言而言,也是其具有如此高的工程使用性的重要原因. 封装 所谓封装是将某些东西隐藏起来,让外界无法直接使用,而必须通过某些特定的方式才能访问.也即是,将抽象得到的 ...

  2. jQuery-文件上传问题解决

    后端要求文件上传需传参数为二进制流,用form-data方式传递,如下图所示: 为了满足该输入参数要求,上传代码如下: <input type="file" id=" ...

  3. Oracle数据库的sql语句性能优化

    在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目 ...

  4. java中窗口的打开与关闭

    作为小白的我,今天学习了java中打开与关闭窗口的方法. 1.在java中创建一个窗口 import java.awt.*;import java.awt.event.*;public class L ...

  5. Python深拷贝与浅拷贝区别

    可变类型 如list.dict等类型,改变容器内的值,容器地址不变. 不可变类型 如元组.字符串,原则上不可改变值.如果要改变对象的值,是将对象指向的地址改变了 浅拷贝 对于可变对象来说,开辟新的内存 ...

  6. 发布一个简单的npm包

    本文简单地记录了发布一个简单npm包的过程,以便后续参考使用. 初始化npm init 通过npm init创建一个package.json文件 D:\robin\lib\weapp-utils> ...

  7. Python 條件式 Condition

    除了重複使用Function,有時我們須檢查結果,依此判斷下個步驟該怎麼進行,如此就需要條件式 condition statement. if ... elif ... ese ( 或 if ... ...

  8. 【转载】Android App应用启动分析与优化

    前言: 昨晚新版本终于发布了,但是还是记得有测试反馈app启动好长时间也没进入app主页,所以今天准备加个班总结一下App启动那些事! app的启动方式: 1.)冷启动  当启动应用时,后台没有该应用 ...

  9. Android 开发时使用 ViewPager 的问题及解决方案整理

    1. ViewPager 的页面重置问题 当我们使用ViewPager控件时,假设我们的ViewPager有三页,当我们第一次启动ViewPager显示第一页的时候,ViewPager会预加载第二页, ...

  10. vue的类element的input类型组件封装

    前提:题主之前只是随意的封装,项目统一ui,然后只实现了父组件拿子组件值,没有实现父组件修改子组件的值,仔细看了文档才知道用model的作用,直接上代码 Vue.component("bas ...