css 一行、多行文本隐藏,显示省略符

基础知识

案例用到知识省略图

overflow: 超出模块如何处理;主要有多种格式:

visible:显示。

hidden:隐藏。

scroll:滚动显示(注意:一定会显示滚动条)。

auto:自动显示(注意:达到条件就显示滚动条,没达到就不现实滚动条)。

white-space:空白空间;主要有pre,pre-line,nowrap,wrap四种类型。

pre:保留回车、空格符号。

pre-line:只保留回车,不保留空格。

nowrap:不换行。

wrap:换行。

-webkit-box:弹性盒子展示,不支持ie浏览器,只支持谷歌内核的浏览器。

-webkit-box-orient:子元素排列方式。一共有horizontal 横向排序;   vertical 纵向排序; inherit 继承父元素排序方式三种类型。

-webkit-line-clamp:显示多少行的内容。

应用场景

单行:设置宽度,自动隐藏。具体看代码:

.texts1 {
      width: 200px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      border: 1px solid;
    }

多行1:弹性盒子展示。具体看代码:

.texts2 {
      width: 200px;

      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box; //设置排列方式为 弹性盒子排列方式
      -webkit-box-orient: vertical; //子元素排列方式  horizontal 横向排序;   vertical 纵向排序; inherit 继承父元素排序方式
      -webkit-line-clamp: 2; //显示多少行的内容

      border: 1px solid;
    }

多行2:设置高度和行高,高度=行高*行数;如40px  = 20px * 2。然后after模拟省略符。具体看代码:

.texts3 {
      width: 200px;
      position: relative;//设置相对定位
      line-height: 20px;//设置行高
      height: 40px;//根据行高,设置行数,2行,就是 line-height * 2 = 40px
      padding-right: 10px;//预留空间显示 省略符
      overflow: hidden;
      border: 1px solid;

    }

    .texts3::after {
      content: "...";//模拟省略符
      position: absolute;//绝对定位
      bottom: 0;//定位在底部
      right: 0px;//定位在右边
      z-index: 10;//显示层级
    }

代码实施

<template>
  <div class="content">
    <div class="contentBox bg1">
      <p class="title1">单行溢出</p>
      <div class="texts1">金钱是善物;工作是自己的;金钱可以让生活更幸福;虽然钱不是万能的,但没有钱是万万不能的;</div>
    </div>
    <div class="contentBox bg2">
      <p class="title2">多行溢出1</p>
      <div class="texts2">金钱是善物;工作是自己的;金钱可以让生活更幸福;虽然钱不是万能的,但没有钱是万万不能的;</div>
      <div>注意:该方式不支持ie内核,只支持谷歌内核</div>
    </div>
    <div class="contentBox bg3">
      <p class="title3">多行溢出2</p>
      <div class="texts3">金钱是善物;工作是自己的;金钱可以让生活更幸福;虽然钱不是万能的,但没有钱是万万不能的;</div>
    </div>
  </div>
</template>

<script setup>
</script>
<style scoped lang="less">
.content {
  .contentBox {
    border: 1px solid;
    margin: 0 auto;
    width: 200px;
    margin-bottom: 20px;

    //单行
    .title1 {
      width: 200px;
    }

    .texts1 {
      width: 200px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      border: 1px solid;
    }

    //多行1
    .title2 {
      width: 200px;
    }

    .texts2 {
      width: 200px;

      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box; //设置排列方式为 弹性盒子排列方式
      -webkit-box-orient: vertical; //子元素排列方式  horizontal 横向排序;   vertical 纵向排序; inherit 继承父元素排序方式
      -webkit-line-clamp: 2; //显示多少行的内容

      border: 1px solid;
    }

    .title3 {
      // width: 200px;
    }

    .texts3 {
      width: 200px;
      position: relative;//设置相对定位
      line-height: 20px;//设置行高
      height: 40px;//根据行高,设置行数,2行,就是 line-height * 2 = 40px
      padding-right: 10px;//预留空间显示 省略符
      overflow: hidden;
      border: 1px solid;

    }

    .texts3::after {
      content: "...";//模拟省略符
      position: absolute;//绝对定位
      bottom: 0;//定位在底部
      right: 0px;//定位在右边
      z-index: 10;//显示层级
    }

  }


}</style>

总结

在做了多年的开发之后,发现最容易忘的就是基础的知识;越基础越不常用代码,就越容易忘。所以还是需要偶尔复习一些。最后以一句禅语结束:常常勤拂拭,何处惹尘埃。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现CSS多行文本溢出显示省略号的效果,可以使用以下方法: 1. 首先,需要设置容器的固定宽度和高度,例如通过设置`.wrap`的`width`和`height`属性来确定容器的大小。 2. 然后,需要对文本内容的容器设置一些样式,例如`.content`类。可以使用`overflow: hidden;`来隐藏超出容器尺寸的内容。使用`text-overflow: ellipsis;`来在文本溢出时显示省略号。 3. 如果想要显示多行文本并且超出部分显示省略号,可以使用`-webkit-line-clamp`属性来设置行数。例如,可以使用`-webkit-line-clamp: 3;`来限制显示文本的行数为3行。但是请注意,这个属性只在WebKit浏览器中生效,其他浏览器可能需要添加一些兼容性样式。 4. 最后,你可以通过设置`display: -webkit-box;`和`-webkit-box-orient: vertical;`来使文本多行情况下垂直排列。 示例代码如下: ``` <div class="wrap"> <div class="content"> 测试数据:css多行文本溢出显示省略号,多行文本溢出显示省略号--明天也要努力 </div> </div> <style> .wrap { width: 200px; height: 300px; } .content { width: 100%; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; } </style> ``` 以上代码将在一个宽度为200px,高度为300px的容器中显示多行文本。超出3行的部分将被隐藏,并以省略号"..."显示。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [CSS中 设置( 单行、多行 )超出显示省略号](https://blog.csdn.net/ZYS10000/article/details/127607497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [CSS实现单行、多行文本溢出显示省略号(…)](https://blog.csdn.net/qq_43000315/article/details/125313649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值