首页 > 其他分享 >文字超出显示省略号及更多

文字超出显示省略号及更多

时间:2024-05-27 15:36:06浏览次数:8  
标签:文字 box 省略号 height 设置 超出 20px 如下

超出一行显示省略号

html如下:

<div className='box'>
    时维九月,序属三秋。
    潦水尽而寒潭清,烟光凝而暮山紫。
    俨骖騑于上路,访风景于崇阿;
    临帝子之长洲,得天人之旧馆。
    层峦耸翠,上出重霄;
    飞阁流丹,下临无地。
    鹤汀凫渚,穷岛屿之萦回;
    桂殿兰宫,即冈峦之体势。
</div>

css如下:

.box{
    width: 300px;
    height: 100px;
    border: 1px solid #ccc;
    white-space: nowrap; // 先要阻止文本换行,一行显示全部文本
    overflow: hidden; // 然后将超出容器的文本隐藏
    text-overflow: ellipsis; // 以省略号来表示被截断的文本
}

页面显示如下:

超出多行显示省略号

html同上。

css如下:

.box{
  display: -webkit-box; // 将容器设为弹性盒子模型
  -webkit-box-orient: vertical; // 设置盒子模型中的元素排列方向为从上到下垂直排列
  -webkit-line-clamp: 4; // 设置一个块元素中显示的文本的行数
  width: 300px;
  height: 100px;
  border: 1px solid #ccc;
  overflow: hidden; // 然后将超出容器的文本隐藏
}

这是我们最常见的做法,但是上述几个属性都是用于Webkit内核的浏览器中(如旧版本的ChromeSafari),其它浏览器不支持。要兼容现代浏览器,可使用下面的方法:

html如下:

<div className='boxWrap'>
    <div className='box'>
      <div className='ellipsis'>
          ...
      </div>
      <div className='text'>
          时维九月,序属三秋。
          潦水尽而寒潭清,烟光凝而暮山紫。
          俨骖騑于上路,访风景于崇阿;
          临帝子之长洲,得天人之旧馆。
          层峦耸翠,上出重霄;
          飞阁流丹,下临无地。
          鹤汀凫渚,穷岛屿之萦回;
          桂殿兰宫,即冈峦之体势。
      </div>
    </div>
</div>

css如下:

.boxWrap{
  display: flex;
}
.box{
    width: 300px;
    max-height: 100px;
    border: 1px solid #ccc;
    overflow: hidden;
}
.box::before{
    content:"";
    float: right; // 设置右浮动
    height: calc(100% - 20px); // 将高度设置为整个box的高度减去省略号占的高度
}
.ellipsis{
    float: right; // 给省略号也设置右浮动
    line-height: 20px;
    clear: both; // 清除浮动,使得下面的元素不受浮动影响
}
.text {
    line-height: 20px;
}

页面显示如下:

上面的html中,由于父元素设置的max-height,子元素设置100%时获取不到高度,所以在最外层又加了一层元素,将其设置为display:flex即可解决该问题。可参考 关于父元素设置min-height,子元素设置 height 100% 不生效的问题

超出多行显示省略号及更多

html如下:

const [isExpanded, setIsExpanded] = useState(false)

// 点击更多展开全部
const handleMoreClick = () => {
  setIsExpanded(!isExpanded)
}

return (
    <div className='boxWrap'>
        <div className={`box ${isExpanded ? 'boxMore' : ''}`}>
            <div className='more' onClick={handleMoreClick}>
                {
                  isExpanded ? <span>收起</span> : <span>...更多</span>
                }
            </div>
            <div className='text'>
                时维九月,序属三秋。
                潦水尽而寒潭清,烟光凝而暮山紫。
                俨骖騑于上路,访风景于崇阿;
                临帝子之长洲,得天人之旧馆。
                层峦耸翠,上出重霄;
                飞阁流丹,下临无地。
                鹤汀凫渚,穷岛屿之萦回;
                桂殿兰宫,即冈峦之体势。
            </div>
        </div>
    </div>
)

css如下:

.boxWrap{
  ·display: flex;
}
.box{
    width: 300px;
    max-height: 100px;
    border: 1px solid #ccc;
    overflow: hidden;
}
.box::before{
    content:"";
    float: right;
    height: calc(100% - 20px);
}
.boxMore{
    max-height: none;
}
.more{
    float: right;
    line-height: 20px;
    clear: both;
    cursor: pointer;
    font-size: 14px;
    color: #2f54eb;
}
.text {
    line-height: 20px;
}

点击更多时,将box元素的高度设置为max-height: auto 即可展开所有的文字,页面显示如下:

标签:文字,box,省略号,height,设置,超出,20px,如下
From: https://www.cnblogs.com/summerstar/p/18215625

相关文章

  • word页眉线如何置于文字下方(推荐)
    双击激活页眉敲黑板,点红圈那里会变化如下......
  • 【ERNIE + PaddleOCR】 创建自己的论文字典,更好的写论文吧!
    一、项目背景        在撰写论文的过程中,许多作者习惯先以中文完成初稿,随后再将其翻译为英文。然而,这种翻译过程往往伴随着一系列挑战。尤其是在词汇选择和语法结构上,很容易使用到一些在学术论文中不常用或不符合规范的表达。为了克服这一难题,我结合PaddleOCR和ERNIE......
  • 【2024】文字游侠AI丨一键创作爆文赚米!只需简单五步,小白可上手,附渠道和详细教程!
    在信息爆炸的今日,如何借助AI人工智能工具在头条等平台赚取收入?何谓“文字游侠”?它又是如何操作的?它的可靠性又如何呢?作为一名实践者,我愿与大家分享一些经验,希望对你们有所帮助。首先,让我们来了解一下什么是“文字游侠”。它是一种AI智能创作工具,能够根据原始内容进行二次创......
  • 【达梦问题解决】to_date转换之【文字与格式字符串不匹配】
    【问题描述】因为要转换的值中包含了不属于时间格式的字符(T,Z),这可能是数据迁移时时间参数设置不对导致的。具体没有进行考究【问题解决】使用DATE分隔符解决【手册链接】格式符解释实际分隔符的处理办法【自定义转换函数】这里的自定函数是不完善的,因为我的数......
  • CSS多行多列 间隔 ,文字超出省略
    .village-list{margin:0auto;width:calc(100%-10px);display:flex;flex-wrap:wrap;justify-content:space-between;}.village-list:after{content:'';width:-webkit-calc((100%-3px*2)/2);width:calc(......
  • Python爬虫--爬取文字加密的番茄小说
    一、学爬虫,看小说很久没有去研究爬虫了,借此去尝试爬取小说查看小说,发现页面返回的内容居然都是加密的。 二、对小说目录进行分析通过分析小说目录页面,获取小说名称等内容引用parsel包,对页面信息进行获取url="https://fanqienovel.com/reader/7276663560427471412?e......
  • Java如何显示不同字体的文字?
    Java如何显示不同字体的文字?在Java的GUI编程中,如何显示不同字体的文字?以下示例演示如何使用Font类的setFont()方法显示不同字体的文本。packagecom.yiibai;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassDisplayTextFontextendsJPane......
  • wpf 动画显示隐藏_[UWP]用Win2D和CompositionAPI实现文字的发光效果,并制作动画
    weixin_39880899于2020-12-1109:26:23发布阅读量521 收藏点赞数文章标签: wpf动画显示隐藏  1.成果 献祭了周末的晚上,成功召唤出了上面的番茄钟。正当我在感慨“不愧是Shadow大人,这难道就是传说中的五彩斑斓的黑?”“那才不是什么阴影效果,那是......
  • .NET 8 使用官方OpenXml SDK,替换Word中的文字和图片
    安装好DocumentFormat.OpenXml后,准备好一个docx文件usingDocumentFormat.OpenXml.Drawing.Wordprocessing;usingDocumentFormat.OpenXml.Packaging;usingDocumentFormat.OpenXml.Wordprocessing;usingSystem.Text.RegularExpressions;usingA=DocumentFormat.OpenXm......
  • 使用poi向word中插入文字或图片
    参考自https://blog.csdn.net/weixin_50638065/article/details/133958393依赖包最下面的两个包肯定需要的,其他的有几个不需要的,自己试着删一下,用不了这么多<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</v......