文字超出部分变成省略号的三种方式

目录

1.单行文本溢出显示省略号

        实例:

2.多行文本溢出显示省略号

        实例:

3.利用伪类实现省略号

        实例:

4.英文自动换行



1.单行文本溢出显示省略号

.box {
 /*强制文本在一行内显示*/
 white-space: nowrap; 
 overflow: hidden;
 text-overflow: ellipsis;
}

        实例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      /*强制文本在一行内显示*/
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width: 100px;
    }
  </style>
</head>

<body>
  <div class="box">啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</div>
</body>

</html>

         

       

2.多行文本溢出显示省略号

.box {
  overflow: hidden;
  text-overflow: ellipsis;
  /* 将对象作为弹性伸缩盒子模型显示 */
  display: -webkit-box;
  /* 限制在一个块元素显示的文本的行数 */
  /* -webkit-line-clamp 其实是一个不规范属性,使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;*/
  -webkit-line-clamp: 2;
  /* 设置或检索伸缩盒对象的子元素的排列方式 */
  -webkit-box-orient: vertical;
}

        实例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
 .box {
   
  overflow: hidden;
  text-overflow: ellipsis;
  width: 200px;
  /* 将对象作为弹性伸缩盒子模型显示 */
  display: -webkit-box;
  /* 限制在一个块元素显示的文本的行数 */
  /* -webkit-line-clamp 其实是一个不规范属性,使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;*/
  -webkit-line-clamp: 2;
  /* 设置或检索伸缩盒对象的子元素的排列方式 */
  -webkit-box-orient: vertical;
}
  </style>
</head>

<body>
  <div class="box">啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</div>
</body>

</html>

            

            多行文本内容英语单词不太合适,下面的也是。

            

3.利用伪类实现省略号

.t3{
  position: relative;
  height: 40px;
  line-height: 20px;
  overflow: hidden;
}
.t3::after{
  content: '...';
  position: absolute;
  bottom: 0;
  right: 0;
  padding-left: 40px;
  background: linear-gradient(to right, transparent, #fff 55%);
}

        实例:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
.t3{
  width: 200px;
  position: relative;
  height: 40px;
  line-height: 20px;
  overflow: hidden;
}
.t3::after{
  content: '...';
  position: absolute;
  bottom: 0;
  right: 0;
  padding-left: 40px;
  background: linear-gradient(to right, transparent, #fff 55%);
}
  </style>
</head>

<body>
  <div class="t3">省略号的位置可以通过定位调整啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</div>
</body>

</html>

4.英文自动换行

  1. word-break:break-all;只对英文起作用,以字母作为换行依据
  2. word-wrap:break-word; 只对英文起作用,以单词作为换行依据
  3. white-space:pre-wrap; 只对中文起作用,强制换行
  4. white-space:nowrap; 强制不换行,都起作用
  5. white-space:nowrap; overflow:hidden; text-overflow:ellipsis;不换行,超出部分隐藏且以省略号形式出现(部分浏览器支持)
.t3{
  position: relative;
  height: 40px;
  line-height: 20px;
  overflow: hidden;
  word-break:break-all;
}
.t3::after{
  content: '...';
  position: absolute;
  bottom: 0;
  right: 0;
  padding-left: 40px;
  background: linear-gradient(to right, transparent, #fff 55%);
}
<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
.t3{
  width: 200px;
  position: relative;
  height: 40px;
  line-height: 20px;
  overflow: hidden;
word-break:break-all
}
.t3::after{
  content: '...';
  position: absolute;
  bottom: 0;
  right: 0;
  padding-left: 40px;
  background: linear-gradient(to right, transparent, #fff 55%);
}
  </style>
</head>
 
<body>
  <div class="t3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
 <div class="t3">啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</div>
</body>
 
</html>

### 单行文本溢出显示省略号 为了使单行文本在超出指定宽度时自动显示省略号,可以通过设置特定的 CSS 属性组合来达成这一效果。具体来说: - `white-space: nowrap` 防止单词换行。 - `overflow: hidden` 确保超出容器的内容被隐藏。 - `text-overflow: ellipsis` 当内容超过设定宽度时,在结尾处添加省略号。 这些属性共同作用于目标元素上,能够有效地处理单行文本溢出的情况[^1]。 ```html <div class="single-line"> 这是一段非常长的文字,当它超过了父级盒子所能容纳的最大长度之后就会变成一个省略号... </div> ``` ```css .single-line { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 200px; /* 容器固定宽度 */ } ``` ### 多行文本溢出显示省略号 对于多行文本而言,实现方式稍有不同。除了上述提到的基础样式外,还需引入 `-webkit-line-clamp` 和其他辅助属性以控制最大可见行数并正确应用省略号标记。注意此方案主要适用于 WebKit 浏览器内核环境下的浏览器版本。 ```html <div class="multi-lines"> 对于较长的文章片段或者评论区留言等内容较多的情况下,我们希望只保留前几行作为预览,并通过...的形式告知用户还有更多未读取的信息等待查看。 </div> ``` ```css .multi-lines { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; /* 控制最多显示多少行 */ overflow: hidden; text-overflow: ellipsis; word-break: break-all; } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值