关于文本溢出的相关属性:

1. text-overflow: clip|ellipsis|string;   该属性规定当文本溢出包含元素时发生的事情。

  clip : 修剪文本。

   ellipsis : 显示省略符号来代表被修剪的文本。

   string : 使用给定的字符串来代表被修剪的文本。

2. white-space 属性设置如何处理元素内的空白。

可能的值及含义:

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

这里用上面两个属性实现单行文本溢出:

<p>该属性规定当文本溢出包含元素时发生的事情。</p>
p {
white-space:nowrap; /* 规定段落中的文本不进行换行:*/
width: 5rem; /* 规定容器的宽度,文本内容长度一定要小于容器宽度 */
overflow: hidden; /*隐藏超出部分*/
text-overflow: ellipsis; /*显示省略符号来代表被修剪的文本。*/
}

 (单行文本溢出效果图 :)

上面实现了单行文本溢出显示省略号,比较简单,那如果要实现多行文本溢出的话则涉及到更多的属性:

3. box-orient  属性规定框的子元素应该被水平或垂直排列。

浏览器支持:

 目前没有浏览器支持 box-orient 属性。

 Firefox 支持替代的 -moz-box-orient 属性。

 Safari、Opera 以及 Chrome 支持替代的 -webkit-box-orient 属性。

可能的取值:

horizontal 在水平行中从左向右排列子元素。
vertical 从上向下垂直排列子元素。
inline-axis 沿着行内轴来排列子元素(映射为 horizontal)。
block-axis 沿着块轴来排列子元素(映射为 vertical)。
inherit 应该从父元素继承 box-orient 属性的值。

4. -webkit-line-clamp 是一个不规范的属性,因为它没有出现在 CSS 规范草案中。

 限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他外来的WebKit属性。常见结合属性:

  • display:-webkit-box;必须结合的属性,将对象作为弹性伸缩盒子模型显示 。

  • -webkit-box-orient:必须结合的属性,设置或检索伸缩盒对象的子元素的排列方式 。

  • text-overflow:可以用来多行文本的情况下,用省略号“...”隐藏超出范围的文本 。

这里用上面的属性实现多行文本溢出:

<p>
这里是显示书目内容简介,H+IDE是一个能够大大提升Html页面开发速度的一个模板资源整合开发工具,提升工作效率,值得推广使用!
</p>
p {
font-size: 0.6rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp:; //控制显示的文本的行数
overflow: hidden;
}

(多行文本溢出效果图)

5. 设置了文本溢出显示省略号后,往往需要判断当前文本是否溢出,从而做相应的操作:

$("p").mouseover(function() {
  // 单行的判断width 或者 多行的判断 height
if (this.offsetWidth < this.scrollWidth) {
console.log("溢出了");
}else{
console.log("没有溢出");
}
});

  经测试,该判断文本是否溢出的代码在IE8下可以正常运行!!! : )

css单行文本及多行文本溢出显示省略号的更多相关文章

  1. css单行文本和多行文本溢出实现省略号显示

    1.单行文本溢出 文本内容 <div class="singleLine"> HelloWorldHelloWorldHelloWorldHelloWorldHello ...

  2. CSS 实现单、多行文本溢出显示省略号(…)

    如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...

  3. HTML技巧篇:如何让单行文本以及多行文本溢出时显示省略号(…)

    参考:https://baijiahao.baidu.com/s?id=1621362934713048315&wfr=spider&for=pc 本篇文章主要给大家介绍一下在html ...

  4. CSS实现单行、多行文本溢出显示省略号(…)

    如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...

  5. CSS和JS实现单行、多行文本溢出显示省略号(该js方法有问题不对)

    如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...

  6. CSS单行、多行文本溢出显示省略号(……)

    这个问题经常遇到 1.单行文本溢出显示省略号(…) text-overflow:ellipsis-----部分浏览器还需要加宽度width属性 overflow:hidden;text-overflo ...

  7. CSS单行、多行文本溢出显示省略号

    如果实现单行文本的溢出显示省略号小伙伴们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; t ...

  8. CSS单行、多行文本溢出显示省略号(……)解决方案

    单行文本溢出显示省略号(-) text-overflow:ellipsis-----部分浏览器还需要加宽度width属性 .ellipsis{ overflow: hidden; text-overf ...

  9. CSS 单行 多行文本溢出显示省略号

    单行文本 overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 多行文本溢出显示省略号: <style type=&quo ...

随机推荐

  1. ubuntu系统下安装pyspider:安装命令集合。

    本篇内容的前提是你已安装好python 3.5.在ubuntu系统中安装pyspider最大的困难是要依赖组件经常出错,特别是pycurl,但把对应的依赖组件安装好,简单了.下面直接上代码,所有的依赖 ...

  2. org.hibernate.HibernateException: /hibernate.cfg.xml not found等三个问题

    初次配置hibernate在myeclipse上: 出现三个问题,怎么都不好使,比对代码,没有问题,查看路径还是没有问题: 1.org.hibernate.HibernateException: /h ...

  3. DIV+CSS实战(五)

    一.说明 前面实现了关键词订阅模块,现在实现站点订阅模块,主要实现的是站点添加界面.站点添加界面里面实现一个提示框不在提示的功能(保存到cookie中),还有就是实现一个站点的选择框,包括输入文字自动 ...

  4. cmake检测g++编译器是否支持c++11

    # 相关链接:https://cmake.org/cmake/help/v3.0/module/CheckCXXCompilerFlag.html​​include(CheckCXXCompilerF ...

  5. React 组件的生命周期API和事件处理

    一.简单记录React的组件的简洁的生命周期API: A:实例化期: 一个实例第一次被创建时所调用的API与其它后续实例被创建时所调用的API略有不同. 实例第一次被创建时会调用getDefaultP ...

  6. 谷类 cereal

  7. 安卓读写INI文件

    安卓读写INI文件 uses System.IoUtils procedure TForm1.Button1Click(Sender: TObject);var IniFile:TIniFile; C ...

  8. 【算法34】蓄水池抽样算法 (Reservoir Sampling Algorithm)

    蓄水池抽样算法简介 蓄水池抽样算法随机算法的一种,用来从 N 个样本中随机选择 K 个样本,其中 N 非常大(以至于 N 个样本不能同时放入内存)或者 N 是一个未知数.其时间复杂度为 O(N),包含 ...

  9. memcached分布式缓存系统

    在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活.此时 ...

  10. MVC批量上传文件

    初始图片: 选中图片后 ---------------------------------------------------------------------------------- 前端代码 ...