css属性如何实现文字省略_利用溢出和省略属性组合
技术百科
P粉602998670
发布时间:2026-01-28
浏览: 次 text-overflow: ellipsis 实现单行省略需同时设置 white-space: nowrap 和 overflow: hidden;多行省略须用 -webkit-line-clamp 配合 display: -webkit-box。
单行文字省略用 text-overflow: ellipsis 必须配 white-space: nowrap 和 overflow: hidden
只写 text-overflow: ellipsis 没用,浏览器根本不会触发省略逻辑。它只是“告诉浏览器:该省略时请显示省略号”,但前提得让文字不换行、容器截断内容。
三个属性缺一不可

-
white-space: nowrap—— 强制单行,否则文字会自然折行,text-overflow不生效 -
overflow: hidden—— 容器必须有明确的宽高(或受父容器约束),且内容溢出时要裁剪掉,否则没“可省略”的边界 -
text-overflow: ellipsis—— 真正渲染省略号的属性,仅对块级元素或 inline-block 有效
常见错误:给 它必须配合 Flex 或 Block 布局使用,典型写法: 注意点: 几个现实限制: 当容器宽度随屏幕变化(比如 更隐蔽的问题: 真遇到这类问题,优先检查 computed styles 中 加了 text-overflow 却忘了设 width 或 max-width,结果文字照常撑开容器——因为没触发 overflow。
多行文字省略不能靠
text-overflow,得用 -webkit-line-clamp
text-overflow: ellipsis 天然只支持单行。想截两行、三行并加省略号,必须换方案:-webkit-line-clamp 是目前最稳定、兼容性够用(Chrome/Safari/Firefox 73+ / Edge 79+)的 CSS 方案。.clamp-2 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
display: -webkit-box 是必需的,不能用 flex 或 grid 替代,否则 -webkit-line-clamp 失效-webkit-line-clamp 是个非标准属性,但已被主流引擎长期支持,MDN 标记为 “widely supported”
text-overflow 的值不止 ellipsis,但其他值基本没人用text-overflow 还支持 clip(直接裁掉,不显示省略号)和自定义字符串(如 text-overflow: "…"),但实际中极少需要。
clip 和默认裁剪行为几乎一样,视觉上无差别,没必要显式声明……),若需后者,只能 JS 截取 + 拼接响应式场景下,省略逻辑容易被宽度重算破坏
max-width: 80% 或 flex 自适应),text-overflow 可能突然失效——不是代码错了,而是浏览器在 resize 后没及时重绘省略状态。
vw/vmin 设置宽度时,某些安卓 WebView 对 text-overflow 触发不敏感transform(如缩放),可能干扰 overflow 计算,导致省略失效overflow 是否为 hidden、width 是否有确定值,而不是怀疑属性本身。
# safari
# 浏览器
# css
# edge
# js
# 字符串
# chrome
# 重绘
# firefox
# 安卓
# overflow
# webkit
# css属性
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11怎么清理C盘OneDrive缓存_Win
- c++怎么设置线程优先级与cpu亲和性_c++ 多
- Linux怎么设置磁盘配额_Linux系统Quot
- Windows怎样关闭Edge新标签页广告_Win
- 如何使用Golang包导出规则_控制函数和变量可见
- Win11任务栏怎么调到左边_Win11开始菜单居
- Python安全爬虫设计_IP代理池与验证码识别策
- Python列表推导式与字典推导式教程_简化代码高
- Windows10如何查看保存的WiFi密码_Wi
- VSC里PHP变量未定义报错怎么解决_错误抑制技巧
- Win10如何备份驱动程序_Win10驱动备份步骤
- VSC怎么创建PHP项目_从零开始搭建项目的步骤【
- php打包exe怎么传递参数_命令行参数接收方法【
- 如何解决Windows字体显示模糊的问题?(Cle
- PythonPandas数据分析项目教程_时间序列
- 短链接怎么自定义还原php_修改解码规则适配需求【
- 如何使用Golang优化模块引入路径_Golang
- 如何使用Golang benchmark测量函数延
- MAC怎么一键隐藏桌面所有图标_MAC极简模式切换
- Windows10蓝屏代码DPC_WATCHDOG
- PythonFastAPI项目实战教程_API接口
- Linux如何挂载新硬盘_Linux磁盘分区格式化
- Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系
- Windows10电脑怎么设置电源按钮_Win10
- Windows10如何删除Windows.old_
- Win11鼠标灵敏度怎么调 Win11鼠标指针移动
- Windows10如何更改桌面图标间距_Win10
- c++如何实现多态性_c++ 虚函数表原理与动态绑
- Python多线程使用规范_线程安全解析【教程】
- Win11如何设置环境变量 Win11添加和修改系
- Windows 10怎么把任务栏放在屏幕上方_Wi
- Win11时间怎么同步到原子钟 Win11高精度时
- Windows10如何彻底关闭自动更新_Win10
- Python大文件处理策略_内存优化说明【指导】
- Win11文件扩展名怎么显示 Win11查看文件后
- Windows11怎么自定义任务栏_Windows
- Win11怎么更改鼠标指针方案_Windows11
- MAC怎么在照片中添加水印_MAC自带编辑工具文字
- Win11怎么恢复出厂设置_Win11重置此电脑保
- Win10如何更改电脑休眠时间_Windows10
- Win11如何设置ipv6 Win11开启IPv6
- Win11色盲模式怎么开_Win11屏幕颜色滤镜设
- Windows10电脑怎么设置自动连接WiFi_W
- Win11怎么更改鼠标指针_Windows 11自
- Python函数接口稳定性_版本演进解析【指导】
- Python音视频处理高级项目教程_FFmpegP
- 如何在Golang中使用encoding/gob序
- php订单日志权限怎么设_php订单日志文件权限设
- 如何使用Golang实现跨域请求支持_Golang
- PythonPandas数据分析教程_数据清洗与处

QQ客服