一文大白话讲清楚CSS单行和多行文本溢出的省略样式

server/2025/1/7 22:37:37/

文章目录

  • 一文大白话讲清楚CSS单行和多行文本溢出的省略样式
  • 1.啥是文本溢出
  • 2. 单行文本溢出省略符样式
  • 3. 多行文本溢出省略符样式
    • 3.1 行数截断
  • 3.2 高度截断

一文大白话讲清楚CSS单行和多行文本溢出的省略样式

1.啥是文本溢出

  • 一句话,就是文字的宽度超出了我们设定的元素的宽度,放不下了。
  • 比如我div的宽度设置为100px,现在所有的文字加起来的宽度是200px,那怎么办
  • 三种办法
    1. 直接换行显示
    1. 不换行,多出的文字截掉,用…代替,这就是单文本溢出省略符替代
    1. 换行,但是不能无限换行,换个几行或者高度超过了设定的高度,如果还显示不下,剩下的也截掉,用…代替;这就是多行文本溢出省略符替代

2. 单行文本溢出省略符样式

  • 通过上面的分析我们明白,如果要让单行文本溢出用…代替,需要满足三个条件
    1. 文本不能换行,设置white-space:nowrap
    1. 超出的部分要截掉,设置overflow:hidden
    1. 指定一下截掉的文本用…代替,设置text-overflow:ellipse
  • 上代码
html"><meta charset="utf8">
<style>html" title=css>css">#div{width: 200px;height: 40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border: 1px solid black;}
</style>
<div id="div">我是单行文本我是单行文本我是单行文本我是单行文本我是单行文本我是单行文本我是单行文本我是单行文本</div>

在这里插入图片描述

3. 多行文本溢出省略符样式

  • 多行文本超出省略因为是多行,所以就可以两种方式限定
  • 一种是,限定行数,超过了函数就用…代替
  • 一种是不管行数,你爱几行几行,我管高度,超过这个高度就用…代替

3.1 行数截断

  • 1.设定文本的行数,设置-webkit-line-clamp,这个属性需要配合使用display:-webkit-box和-webkit-box-orient:vertical一起使用
    1. 超出的部分要截掉,设置overflow:hidden
    1. 指定一下截掉的文本用…代替,设置text-overflow:ellipse
  • 上代码
html"><meta charset="utf8">
<style>html" title=css>css">#div{width: 200px;-webkit-line-clamp:2;display: -webkit-box;-webkit-box-orient: vertical;overflow:hidden;text-overflow:ellipsis;border: 1px solid black;}
</style>
<div id="div">我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本</div>

在这里插入图片描述

3.2 高度截断

  • 利用 伪元素+定位
  • 原理就是通过伪元素将“…”绝对定位到行尾并遮住文字,在通过overflow:hidden隐藏多余的文字
html"><style>html" title=css>css">.div{position:relative;line-height: 20px;height: 40px;overflow: hidden;}.div::after{content: '...';position: absolute;bottom:0;right: 0;padding: 0 20px 0 10px;}
</style><div id="div">我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本我是多行文本</div>

在这里插入图片描述


http://www.ppmy.cn/server/156302.html

相关文章

基于SpringBoot的文档管理系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

代码随想录 day62 第十一章 图论part11

第十一章&#xff1a;图论part11 Floyd 算法精讲 Floyd 算法代码很简单&#xff0c;但真正理解起原理 还是需要花点功夫&#xff0c;大家在看代码的时候&#xff0c;会发现 Floyd 的代码很简单&#xff0c;甚至看一眼就背下来了&#xff0c;但我为了讲清楚原理&#xff0c;本…

OKHttp调用第三方接口,响应转string报错okhttp3.internal.http.RealResponseBody@4a3d0218

原因分析 通过OkHttp请求网络&#xff0c;结果请求下来的数据一直无法解析并且报错&#xff0c;因解析时String res response.body().toString() 将toString改为string即可&#xff01;

小程序组件 —— 24 组件案例 - 绘制公司信息区域

在小程序中&#xff0c;如果想渲染文本&#xff0c;需要使用 text 组件&#xff0c;常用的属性有 2 个&#xff1a; user-select&#xff1a;用来控制文本是否可选&#xff0c;用于长按选择文本&#xff1b;space&#xff1a;显示连续空格&#xff1b; 注意事项&#xff1a; …

uniapp3 手写签名组件(vue3 语法)封装与应用

本文介绍了基于 uniapp3&#xff08;vue3 语法&#xff09;封装的手写签名组件。 包括父组件的调用方式&#xff0c;如通过条件判断展示签名图片或点击进入签名页面&#xff0c;以及接收签名照片的逻辑。子组件涵盖了自定义导航栏、清除、取消、确认等操作按钮&#xff0c;利用…

CSS进阶和SASS

目录 一、CSS进阶 1.1、CSS变量 1.2、CSS属性值的计算过程 1.3、做杯咖啡 1.4、下划线动画 1.5、CSS中的混合模式(Blending) 二、SASS 2.1、Sass的颜色函数 2.2、Sass的扩展(extend)和占位符(%)、混合(Mixin) 2.3、Sass的数学函数 2.4、Sass的模块化开发 2.5、Sass…

Linux菜鸟级常用的基本指令和基础知识

前言:很多Linux初学者都会头疼于指令太多记不住&#xff0c;笔者刚学习Linux时也是如此&#xff0c;学习Linux指令时&#xff0c;学了后面的指令&#xff0c;前面的指令也会忘的差不多了&#xff0c;针对于以上这些情况&#xff0c;笔者今天来分享一篇Linux菜鸟级的常用指令的博…

SpringCloudAlibaba实战入门之Sentinel服务降级和服务熔断(十五)

一、Sentinel概述 1、Sentinel是什么 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 一句话概括:sentinel即Hystrix的替代品,官网: https://sentinelguard.io/zh…