html文字两行后,就用省略号代替剩下的

html文字两行后,就用省略号代替剩下的

一、总结

一句话总结:

实现原理很简单,将box的高度设置为行高的两倍,超出之后隐藏,这样就只有两行了,然后再用after属性绝对定位在第二行后面加几个点 ...
  .style2{
      position:relative;
      line-height:21px;
      height:42px; /*height是line-height的整数倍,防止文字显示不全*/
      overflow:hidden;
  }
  .style2::after {
      background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
      bottom: 0;
      content: "...";
      padding: 0 5px 1px 30px;
      position: absolute;
      right: 0;
  }

1、一行截断效果?

注意设置宽高,剩下的就是记住用white-space(不换行),overflow(超出部分隐藏),text-overflow(隐藏使用的替代符号)
  .font_cut{
      width: 100%;
      white-space:nowrap;
      overflow:hidden;
      text-overflow: ellipsis;
  }

2、after属性里面如何指定内容?

content: "...";
  .style2::after {
      background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
      bottom: 0;
      content: "...";
      padding: 0 5px 1px 30px;
      position: absolute;
      right: 0;
  }

3、after属性里面可以绝对定位么?

可以,操作after属性就和操作普通样式一样
  .style2::after {
      background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
      bottom: 0;
      content: "...";
      padding: 0 5px 1px 30px;
      position: absolute;
      right: 0;
  }

二、html文字两行后,就用省略号代替

1、效果图

2、代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <style>
 7         .font_cut{
 8             width: 100%;
 9             white-space:nowrap;
10             overflow:hidden;
11             text-overflow: ellipsis;
12         }
13         .style2{
14             position:relative;
15             line-height:21px;
16             height:42px; /*height是line-height的整数倍,防止文字显示不全*/
17             overflow:hidden;
18         }
19         .style2::after {
20             background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
21             bottom: 0;
22             content: "...";
23             padding: 0 5px 1px 30px;
24             position: absolute;
25             right: 0;
26         }
27
28     </style>
29
30
31 </head>
32 <body>
33     <div class="font_cut" style="width: 300px;">
34         <span>一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;</span>
35     </div>
36     <div style="margin-bottom: 60px;"></div>
37     <div class="style2" style="width: 300px;">
38         <span style="" class="">HTML文字超过两行以后 就用省略号显示代替;HTML文字超过两行以后 就用省略号显示代替;HTML文字超过两行以后 就用省略号显示代替;HTML文字超过两行以后 就用省略号显示代替;HTML文字超过两行以后 就用省略号显示代替;HTML文字超过两行以后 就用省略号显示代替;</span>
39     </div>
40 </body>
41 </html>

三、html文字超出两行,则显示省略号

转自或参考:html文字超出两行,则显示省略号
https://blog.csdn.net/camillezj/article/details/52767267

多行超出显示省略号

overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2; //2行
-webkit-box-orient: vertical;
注意:-webkit-line-clamp是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。只适用于WebKit内核的浏览器,因此firebox、ie等并不支持该属性。

其他浏览器做法:

比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现:
文字容器样式设置:

position:relative;
line-height:1.4em;
height:4.2em; //height是line-height的整数倍,防止文字显示不全
overflow:hidden;

文字容器::after {
background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0);
bottom: 0;
content: "...";
padding: 0 5px 1px 30px;
position: absolute;
right: 0;
}

或者使用插件:js插件-Clamp.js 、 jquery插件-jQuery.dotdotdot

单行不换行:width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;

原文地址:https://www.cnblogs.com/shihaiying/p/11780257.html

时间: 2024-10-22 07:46:52

html文字两行后,就用省略号代替剩下的的相关文章

文字超出隐藏并显示省略号

文字超出了需要隐藏并显示省略号这个在工作中很多时候都要用到,我想很多人都碰到过吧,这个有两种解决方法 一是用程序开截取字符长度,这个其实也是可以的 第二种是用样式来做,这里主要介绍一下用样式怎么来做吧,我话也不多说了吧直接上代码吧, css样式如下: .css1{ color:#6699ff;border:1px #ff8000 dashed; margin-bottom:20px; width: 20em;/*不允许出现半汉字截断*/ } .css2 { overflow: hidden; /

设置一个DIV的文字超出隐藏,并用省略号表示未完待续

<div style="width:50px;height:18px;white-space: nowrap;overflow:hidden;text-overflow:ellipsis;">设置一个DIV的文字超出隐藏,并用省略号表示未完待续 设置一个DIV的文字超出隐藏,并用省略号表示未完待续 设置一个DIV的文字超出隐藏,并用省略号表示未完待续</div>

css使文字显示两行后显示省略号

本人喜欢把一些实用的东东拿过来,写成文章或者收藏起来.于是乎... 直接上代码: .article { color: #000000; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-all; } 狠狠的点击,查看效果吧 原文地址:https://www.cnblogs.com/homehtml/p/12625871.htm

CSS div内文字显示两行,超出部分省略号显示

1. 概述 1.1 说明 在项目过程中,有时候需要控制div内文字最多显示两行,超出的使用省略号进行处理.使用识别码/前缀-webkit进行处理可直接得到相应效果. 1.1 -webkit WebKit内核的css前缀为“-webkit-”,Comodo Drangon(科摩多龙),苹果,安卓,搜狗高速浏览器3,快快浏览器,枫树浏览器,云游浏览器,360极速浏览器,世界之窗极速版,SRWare Iron,猎豹浏览器,RockMelt,QQ浏览器都可识别. 备注:IOS版的微信.android版本

微信小程序 解决 view 文字 过多 溢出的问题,超过行数后隐藏显示省略号

多行文本 .note_item text { display: -webkit-box; font-size: 28rpx; color: #000000; line-height: 40rpx; word-break: break-all; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; } 单行文本 .note2_item text { displa

标签内显示文字超过行宽度显示省略号

在table中或者一些特殊的需求情况下,需要展示部分文字并在title中显示全部信息,例如一个简短的说明如果超过15个字就显示省略号 以前自己做的时候都是通过js或者razor语法来实现,但是这样却有一个缺陷,不能自适应页面或者说屏幕的分辨率.当屏幕分辨率改变时,页面就会变形了. 这里给出一个解决方案,采用css技术来实现相应的功能. 页面代码如下: <td> <a class="textbox" title="@(item.Note == null ? &

css文字描述,换行,省略号的一般设置

强制不换行:white-space: nowrap; 强制换行:word-break: break-all; 文字超出范围用省略号:text-overflow: ellipsis;overflow: hidden; 段落换行的一般的设置:设置固定的宽高,然后,设置文字的line-height: 注意:设置line-height:18px;height:18px;text-align:center;文字就会居中

css文本强制两行超出就显示省略号

1. 强制一行的情况很简单 overflow:hidden;  //超出的隐藏 text-overflow:ellipsis; //省略号 white-space:nowrap; //强制一行显示 2. 如果要强制两行的话,得用到css3的知识 overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; //以此类推,3行4行直接该

css设置文字不换行并显示省略号

1.单行文本显示省略号 width:value(具体的值):设置容器具体的宽度 white-spacing:nowrap:强制文本在一行内显示 overflow:hidden:溢出内容为隐藏 text-overflow:ellipsis:溢出文本显示省略号 2.多行文本显示省略号 display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden: text-overflow:ellipsis: -webkit-line-clamp