[前端] html中把多余文字转化为省略号的实现方法方法

2069 0
黑夜隐士 2022-10-19 15:48:38 | 显示全部楼层 |阅读模式
在html中如果要把多余的文字显示为省略号,那么有以下几种方法:
单行文本:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Document</title>
  7.     <style type="text/css">
  8.     .box{
  9.         width: 200px;
  10.         background-color: aqua;
  11.         text-overflow: ellipsis;
  12.         overflow: hidden;
  13.         white-space: nowrap;
  14.     }
  15.     </style>
  16. </head>
  17. <body>
  18.     <div class="box">讲的是克辣椒的洒落看见斯科拉讲的是拉开讲的是了卡机快来撒建档立卡时间到了撒快乐到家撒了看见撒快乐到家撒健康了</div>
  19. </body>
  20. </html>
复制代码


多行文本:
1.利用-webkit-line-clamp属性
  1. .box{
  2.     width: 200px;
  3.     overflow : hidden;
  4.     text-overflow: ellipsis;
  5.     display: -webkit-box;
  6.     -webkit-line-clamp: 2;
  7.     -webkit-box-orient: vertical;
  8.     border:solid 1px black;
  9. }
复制代码
缺点:仅适用于webkit内核或移动端页面。在火狐,ie等浏览器并不支持。
2.用伪元素模拟实现
设定固定宽高,多余部分隐藏,在结尾用包含省略号(...)的元素覆盖部分内容。
  1. .box{
  2.     height: 200px;
  3.     width: 200px;
  4.     position:relative;
  5.     line-height:1.4em;
  6.     height:4.2em;
  7.     overflow:hidden;
  8. }
  9. .box::after {
  10.     content:"...";
  11.     font-weight:bold;
  12.     position:absolute;
  13.     bottom:0;
  14.     right:0;
  15.     padding:0 -20px 1px 45px;
  16.     background-color:white;
  17. }
复制代码


这里用一个包含了省略号,且背景色为白色的伪元素遮盖了部分内容。高度height 是行高 line-height 的三倍。需要显示几行文字就设置为几倍。
这种思路实现较为简单,兼容性也比较好。
注:如果要兼容ie6或7,则不能使用伪元素,可以使用一个<div>或者<span>标签。如果要支持ie8,需要将::after写成:after。
到此这篇关于html中把多余文字转化为省略号的实现方法方法的文章就介绍到这了,更多相关html多余文字转化为省略号内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章,希望大家以后多多支持中国红客联盟!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行