CSS文本溢出显示省略号

项目中常常有这种需要我们对溢出文本进行"..."显示的操作,单行多行的情况都有(具体几行得看设计师心情了),这篇随笔是我个人对这种情况解决办法的归纳,欢迎各路英雄指教。

单行

语法

    overflow:hidden;text-overflow:ellipsis; white-space:nowrap

示例

文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号

多行

1.直接用css属性设置(只有-webkit内核才有作用)

语法

  overflow: hidden;text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;

移动端浏览器绝大部分是WebKit内核的,所以该方法适用于移动端;

  • -webkit-line-clamp 用来限制在一个块元素显示的文本的行数,这是一个不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。

  • display: -webkit-box 将对象作为弹性伸缩盒子模型显示 。

  • -webkit-box-orient 设置或检索伸缩盒对象的子元素的排列方式 。

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

示例

文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略

 

2.利用伪类

语法

<div id="con"> <span id="txt">文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略</span> <span class="t"></span> </div> <style> #txt{ display: inline-block; height: 40px; width: 250px; line-height: 20px; overflow: hidden; font-size: 16px; } .t:after{ display: inline; content: "..."; font-size: 16px; } </style>

示例

文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略

3.利用绝对定位和padding;(跨浏览器解决方案)
看到上例是不是觉得“哇,终于可以跨浏览器使用了”,但你这样想的时候有没有考虑过IE的感受?IE6/7是没有伪类的,还不赶快跪下对IE叫声“大哥”,虽然IE6已经退出市场,但是IE7还是需要兼容的,所以呢,我自己又想到了以下的办法,我这边测试了下感觉还行。

上代码

<p id="con2">文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略<span class="t2">...</span> </p> <style> #con2{ position: relative; height: 40px; width: 250px; line-height: 20px; overflow: hidden; padding-right: 12px; } .t2{ position: absolute; right: 0; bottom: 0; } </style>

这个方法的原理是:首先在包含文字的元素里,嵌入一个<span>...</span>,然后包含文字的元素右侧留出...的位置(padding-right),最后利用绝对定位将...定位至右侧的padding-right区域
示例

文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略...

4.其他
利用js插件来实现该功能,这里有俩款插件推荐,这篇主要介绍的是css方法,所以它们使用方法就不废话了。

  • Clamp.js
  • jQuery.dotdotdot

问题
感谢村长指出了第二种和第三种都没有考虑到内容不足俩行的情况,这种情况下,我的上面说到的第二种和第三种方法,“...”依旧会存在,并不会隐藏。暂时还没有想出利用css来实现不到俩行隐藏的办法,sorry。所以如果存在不到俩行的情况尽量还是不要用了吧,可以使用js。这个就先放在这儿,什么时候想到办法再来修改

     function mitulineHide(num,con){var contain = document.getElementById(con); console.log(con); var maxSize = num; var txt = contain.innerHTML; if(txt.length>num){ console.log('1') txt = txt.substring(0,num-1)+"..." contain.innerHTML = txt; }else{ console.log("error") } };

该函数传入俩个参数:允许的最大文字数目包含文字的元素节点Id

如果觉得本文不错的话,帮忙点击下面的推荐哦
>>>>点击阅读原文

如果觉得本文不错的话,帮忙点击下面的推荐哦,文章未经说明,均为原创,转载请注明出处,谢谢!

转载于:https://www.cnblogs.com/best-coder/p/11550185.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@JsonFormat Date类型时间 格式化 注解 使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 JsonFormat注解是一个时间格式化注解&#xff0c;比如我们存储在mysql中的数据是date类型的&#xff0c;当我们读取出来封装在实体类中的…

好用的在线工具

1.在线工具 http://tool.oschina.net/ 网站里面包含很多强大的工具&#xff0c;代码对比&#xff0c;正则表达式在线验证&#xff0c;各种语言的语法对照表等。 2.so JSON在线工具 https://www.sojson.com/ 这个网站可能更加偏向前端一些吧&#xff0c;里面有一些加密解密&…

解决 Idea 卡在 Resolving Maven dependencies ...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Idea卡在Resolving Maven dependencies的解决方案 在Reimpot All Maven Porjects时, 如果项目过大, maven依赖过多, 会直接卡在Resolvin…

VS Code (visual studio code) VSC 编辑器(微软出品,js开发的编辑器)

一.选择合适的编辑器&#xff0c;提高编程效率 代码编辑器的选择&#xff0c;可以说是开发者社区中一个经久不衰的话题&#xff0c;现今编辑器的数量数不胜数&#xff0c;vim&#xff0c;sublime Text,Emacs,Atom等等&#xff0c;那么对于一个开发者而言&#xff0c;挑选一个合…

Docker 安装 redis 、Redis docker 方式部署

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 找镜像&#xff1a; docker search redis2. 拉取镜像&#xff1a; 在这一步可以选择版本&#xff0c;不选择版本&#xff0c;默认为…

xcode windows版安装使用教程

随着iPhone、iPad、Mac等苹果产品越来越火爆&#xff0c;越来越多的初学者想要了解和尝试苹果平台&#xff0c;包括苹果操作系统Mac OS X、苹果演示软件Keynote、苹果开发工具Xcode等。然而&#xff0c;苹果电脑价格昂贵&#xff0c;并不是每个人都可以承受。 因此&#xff0c;…

解决:Unable to open debugger port (127.0.0.1:55017): java.net.SocketException “Socket closed“

项目以前启动正常&#xff0c;突然报错&#xff0c;启动不起来了&#xff0c;报了个Unable to open debugger port (127.0.0.1:55017): java.net.SocketException "Socket closed"这个错。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;…

html5 如何打包成apk,将H5封装成android应用APK文件的几种方法

直接使用编程软件提供的方法&#xff1a; 1、需要下载安装MyEclipse2014&#xff0c;Android SDK&#xff0c;eclipse(需配置Android开发环境) Java和Android环境安装与配置。 2、打开MyEclipse2014&#xff0c;新建一个HTML5 Mobile Application Project&#xff0c;命名&…

解决 Unmapped Spring configuration files found.Please configure Spring facet.

最近在学习使用IDEA工具&#xff0c;觉得与Eclipse相比&#xff0c;还是有很多的方便之处。 但是&#xff0c;当把自己的一个项目导入IDEA之后&#xff0c;Event Log提示“Unmapped Spring configuration files found.Please configure Spring facet.” 这个提示不影响工程正…

uni-app—从安装到卸载

uni-app实现了一套代码&#xff0c;同时运行到多个平台。支持iOS模拟器、Android模拟器、H5、微信开发者工具、支付宝小程序Studio、百度开发者工具、字节跳动开发者工具 工具安装 开发uni-app需要安装HBuilder X.下载地址。 下载成功后直接解压即可 简单的配置一下开发偏好&am…

jenkins 执行构建 并查看结果

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 继完成构建项目配置http://www.cnblogs.com/yajing-zh/p/5111060.html后&#xff0c;则要执行构建。 回到jenkins主页之后&#xff0c;…

使用jquery获取url及url参数的方法

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1、jquery获取url很简单&#xff0c;代码如下&#xff1a; window.location.href; 其实只是用到了javascript的基础的window对象&#xff0c;并没有用jquery的知识。 2、jquery获取url参数比较复杂&#xff…

js 遍历对象的几种方法

第一种&#xff1a; for......in const obj {id:1,name:zhangsan,age:18}for(let key in obj){console.log(key --- obj[key])} 输出结果&#xff1a; 第二种&#xff1a; 1&#xff09;、Object.keys&#xff08;obj&#xff09; 2&#xff09;、Object.values&#xff08…

你辛苦来人间一趟,不是来作任务的,你应该好好享受阳光、雨露和爱 ...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 摘记以下格言&#xff0c;愿已今生不忘&#xff1a;------------------------------------------------------- 1) 忽视就是一种认输。 …

人生五不为

人生如若以百年算&#xff0c;除去童年和老年&#xff0c;一般也有60多年的活跃期。在这活跃期中&#xff0c;人们要求学择业、要成家育子、要做许许多多的事情&#xff0c;同时也被人世间的不少因素所困扰。这些因素都有哪些呢&#xff1f;不外乎是&#xff1a;名、利、钱、情…

解决:Intellij idea 启动项目报错 error:java: 无效的源发行版: 8

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.我的情况&#xff1a; 我自已电脑环境变量配置的 JDK8 &#xff0c;后来公司项目沿用 JDK7&#xff0c;我就换回了 7 。 今天打算运行…

补肾分男女,养肾如养命

肾虚是一个笼统的名词&#xff0c;主要区分为肾阳虚和肾阴虚&#xff0c;这两个症形表现不一样。 肾阳虚的病人畏寒怕冷浮肿&#xff0c;腰腿冷痛、尿频、慢性腹泻伴有性功能失常的表现&#xff0c;阳萎、遗精、早泄。 肾阴虚的病人主要是面容憔悴、腰背酸痛、下肢无力&#…

vscode 编辑器快捷键

代码段同时缩进&#xff1a; 选中代码段&#xff0c;按下tab键可以同时时代码缩进。 先按下shifttab键可以取消缩进&#xff0c;向前移动。 转载于:https://www.cnblogs.com/150536FBB/p/11555744.html

简述 maven 命令 package、install、deploy 的区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 原文有图片说明命令运行过程&#xff0c;我只记录最终结论&#xff1a; 区别即&#xff1a; package &#xff1a;打包&#xff08;到项…

教给孩子的10句“保命金言”(图)

1、平安成长比成功更重要。 教育孩子人人有若干权利&#xff0c;如呼吸权、生命权、隐私权&#xff0c;这些权利任何人不能剥夺。告诉孩子&#xff0c;任何人也无权剥夺他的安全权&#xff0c;安全重于一切。 2、背心裤衩覆盖的地方不许别人摸。 孩子应当知道身体属于自己&a…