news 2026/4/29 20:52:51

CSS 中的高度、滚动与溢出:从 height 到 overflow 的完整理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSS 中的高度、滚动与溢出:从 height 到 overflow 的完整理解

文章目录

  • CSS 中的高度、滚动与溢出:从 height 到 overflow 的完整理解
  • 页面高度-height和min-height
    • 1. 页面高度是如何被决定的?
      • 1.1 height:把容器高度“定死”的方式
      • 1.2 height:100vh的实践
    • 2.min-height:允许页面“自然生长”的高度策略
    • 3.height 和 min-height 的核心差异总结
  • 溢出处理-overflow 和text-overflow
    • 4.当内容超出时,overflow 决定了“谁来处理”
    • 5.文本溢出:最小粒度的溢出控制

CSS 中的高度、滚动与溢出:从 height 到 overflow 的完整理解

问题链路:

内容多了 → 容器怎么办 → 页面谁来滚 → 文本怎么截

关键词:

CSS、height、min-height、overflow、text-overflow

页面高度-height和min-height

1. 页面高度是如何被决定的?

1.1 height:把容器高度“定死”的方式

height 是“定死的高度”

  • 容器高度强制等于视口高度
  • 内容再多,也不允许把容器撑高
  • 内容超出只能:
    • 被裁剪(overflow: hidden)
    • 或在内部滚动(overflow: auto)

overflow 一般不推荐写在最外层容器上,而应该写在「子容器」或「纯视觉容器」上。

滚动不推荐浏览器接管,而应该由各个页面中使用

所以元素默认的 overflow 都是visible

内容超出容器也没关系,照样显示出来,不裁剪、不滚动

1.2 height:100vh的实践

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><style>body{height:100%;margin:0;overflow:hidden;}.container{height:100vh;background-color:rgba(255,165,0,0.08);}</style></head><body><divclass="container"></div></body></html>

  • 去掉了本身 body 自带的 margin,排除了页面本身高度大于视口高度,浏览器接管页面滚动,出现滚动条的情况
    • 为了避免浏览器总是接管滚动,主流做法是给 body 加上 overflow:hidden
  • 当前容器是 height:100vh,默认的 overflow:visable,不会显示滚动条

当前加入大量的测试文字后:

<div class="container-text"> <p>这是一段测试文字</p> <p>这是一段测试文字</p> ...

在 overflow:visable 的情况下,只能显示当前视口看到的无法滚动

设置为 overflow:auto,显示滚动条,通过滚动能看到全部内容

.container-text{height:200px;overflow:auto;}

  • 因为设置了 height 的高度为 200px,所以滚动条的范围也是 200px

设置为 overflow:hidden后,会显示根据设置好的高度 height:200px,把超过 200px 的内容截掉

2.min-height:允许页面“自然生长”的高度策略

min-height:100vh;

它的真实含义是:

  • 至少和视口一样高
  • 如果内容变多:
    • 容器会自然被内容撑高
    • 页面滚动由浏览器正常接管

3.height 和 min-height 的核心差异总结

min-height:100vh 和 height:100vh

其中的height:100vh,

不管你里面有多少内容,高度永远等于视口高度

内容多了就只能:

​ • 溢出

​ • 被裁剪

​ • 或者触发滚动(取决于 overflow)

min-height: 100vh

含义是:

  • 至少占满一屏
  • 内容多了,我可以继续往下长
  • 滚动交给浏览器或父容器

一句话:我先铺满一屏,不够我再长

溢出处理-overflow 和text-overflow

4.当内容超出时,overflow 决定了“谁来处理”

overflow:容器级

控制内容超过元素尺寸时,这个元素怎么办。

overflow: visible | hidden | scroll | auto;

解释说明:

意思
visible溢出也照样显示(默认)
hidden超出就裁掉
scroll永远显示滚动条
auto超出才显示滚动条

5.文本溢出:最小粒度的溢出控制

text-overflow:文字级

控制一行文字溢出时的显示方式。

text-overflow: clip | ellipsis;

常见只有一个用法:

text-overflow:ellipsis;

超出显示 …

text-overflow 不能单独用

text-overflow 必须搭配三件套

white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
属性作用
white-space: nowrap强制单行
overflow: hidden把溢出的裁掉
text-overflow: ellipsis裁掉的地方显示 …
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 3:24:14

26 届春招时间线全梳理,聪明的应届生,已经开始为春招做准备了!

关注 霍格沃兹测试学院公众号&#xff0c;回复「资料」, 领取人工智能测试开发技术合集 每年春招&#xff0c;真正“轻松上岸”的&#xff0c;往往不是临时抱佛脚的人&#xff0c;而是提前踩准时间线、把简历和实习准备好的人。 这篇文章&#xff0c;我把春招时间线 行业节奏 …

作者头像 李华
网站建设 2026/4/26 16:29:13

2026春招应届生必投的央国企全汇总

关注 霍格沃兹测试学院公众号&#xff0c;回复「资料」, 领取人工智能测试开发技术合集 秋招没上岸别慌&#xff0c;春招还有一整条“安全通道”。 不少央国企在春招阶段依然会集中补录&#xff0c;尤其是 26 届应届生&#xff08;部分岗位对 25 届仍开放&#xff09;。我把目前…

作者头像 李华
网站建设 2026/4/26 2:44:36

必收藏!美团大模型面试“逼疯”候选人?一文吃透KV-Cache与推理流程

最近看到一位同学分享美团大模型岗位的面试反馈&#xff0c;通篇就三个字&#xff1a;已老实。短短三字&#xff0c;道尽了被面试题“狂虐”的无奈&#xff0c;也侧面印证了美团大模型面试的硬核程度。 我们先来看下这份让候选人直呼“老实”的面试题清单&#xff1a;排除掉最后…

作者头像 李华
网站建设 2026/4/23 17:46:04

互联网大厂Java求职面试实战:微服务、安全与AI技术全解析

互联网大厂Java求职面试实战&#xff1a;微服务、安全与AI技术全解析 本文通过模拟互联网大厂Java求职者谢飞机的面试过程&#xff0c;涵盖微服务架构、安全框架、消息队列、缓存技术及AI应用&#xff0c;结合支付与金融服务业务场景&#xff0c;逐步深入考察技术细节&#xff…

作者头像 李华
网站建设 2026/4/27 4:59:00

【Java】多线程详解

2025–2026 年视角下&#xff0c;全网公认颜值天花板级别的登录/注册页面&#xff0c;通常集中在以下几种风格&#xff08;按当前流行度排序&#xff09;&#xff1a; Neon Glow 赛博朋克/未来感&#xff08;最火、最吸睛&#xff09;玻璃态 模糊背景&#xff08;Glassmorph…

作者头像 李华
网站建设 2026/4/28 23:27:53

HTMLCSSJS:全网颜值最高的登录注册页面,建议收藏

2025–2026 年视角下&#xff0c;全网公认颜值天花板级别的登录/注册页面&#xff0c;通常集中在以下几种风格&#xff08;按当前流行度排序&#xff09;&#xff1a; Neon Glow 赛博朋克/未来感&#xff08;最火、最吸睛&#xff09;玻璃态 模糊背景&#xff08;Glassmorph…

作者头像 李华