当前位置: 首页 > news >正文

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 一般不推荐写在最外层容器上,而应该写在「子容器」或「纯视觉容器」上。

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

所以元素默认的 overflow 都是visible

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

1.2 height:100vh的实践

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="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><div class="container"></div></body></html>

image-20260116104940399

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

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

 

这是一段测试文字

这是一段测试文字

...

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

image-20260116173839070

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

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

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

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

image-20260116174813943

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裁掉的地方显示 …
http://www.jsqmd.com/news/391826/

相关文章:

  • 高压直流输电Matlab/simulink仿真。 采用三电平换流器。 整流侧采用直流电压外环+...
  • 京东e卡回收正规平台价格如何,怎么选择? - 京顺回收
  • 闭眼入!MBA专属降AI率软件 —— 千笔·降AI率助手
  • 亲测好用!AI论文工具 千笔AI VS 知文AI,研究生写作神器!
  • 题解:洛谷 P5250 【深基17.例5】木材仓库
  • 照着用就行:千笔·降AIGC助手,继续教育论文降重神器!
  • 别再瞎找了!AI论文软件 千笔ai写作 VS 知文AI,专科生专属神器!
  • Backtrader平台下指数期权备兑策略回测完成
  • 学霸同款!万众偏爱的AI论文写作软件 —— 千笔写作工具
  • 评测三边封拉链袋,2026年这些厂商值得信赖,四边封包装袋/聚酯尼龙袋/三边封拉链袋,三边封拉链袋直销厂家排行榜 - 品牌推荐师
  • P1563 玩具谜题
  • 每次编译之后,写的代码都会消失
  • 2026年深圳好口碑氮化铝陶瓷片品牌推荐榜单 - 睿易优选
  • 协同过滤算法的Thinkphp和Laravel框架的大学生个性化兼职信息推荐系统的设计与实现
  • Thinkphp和Laravel框架的在线考试管理系统的设计与实现前台329fgzk
  • 什么是反向传播(Backpropagation,简称 BP)?
  • Thinkphp和Laravel框架的有声漫画售卖商城
  • 生产环境使用Pandas进行数据分析:从数据清洗到可视化最佳实践与性能优化
  • Thinkphp和Laravel框架汽修店汽车维修预约系统设计与实现
  • Thinkphp和Laravel框架汽车租赁业务员租聘系统设计与实现
  • Thinkphp和Laravel框架游戏商城销售分析网站设计与实现
  • Thinkphp和Laravel框架技术的体育足球篮球赛事安排运动员管理系统咨询平台设计
  • Thinkphp和Laravel框架技术的农产品购物商城网站助农管理系统的设计与实现
  • Thinkphp和Laravel框架摄影约拍系统的设计与实现聊天
  • PDF 修复
  • 2026负债人上岸指南|全国专业逾期处理律所实测推荐,信用卡逾期推荐协商律所 - 代码非世界
  • LeetCode693:交换二进制位
  • 装修必看:如何甄选窗纱一体铝门窗的可靠厂家,平移断桥提升窗/侧压平移推拉窗/铝门窗/慕莎尼奥门窗/门窗,铝门窗厂家排行 - 品牌推荐师
  • 深度学习项目训练环境效果展示:自动校验数据集完整性(图片损坏/尺寸异常)
  • mT5中文-base零样本增强模型作品:跨境电商用户评价情感中性化处理