首页 / CSS 入门教程 / 尺寸与溢出

CSS 入门教程

尺寸与溢出

本教程共 44 篇 · 第 15 篇 · 更新于 2026-07-29 · 约 10 分钟阅读

widthheightmax-widthmin-widthoverflow尺寸溢出

15. 尺寸与溢出

本节目标:掌握尺寸相关属性的用法,学会使用 overflow 处理内容溢出。

设置宽度和高度

width 和 height 是最基础的尺寸属性,控制元素的宽高。

.box {
  width: 300px;
  height: 200px;
}

默认值 auto

如果不设置 width 和 height,默认值是 auto。块级元素宽度占满父容器,高度由内容决定。

常用单位

.px    { width: 200px; }       /* 固定像素 */
.percent { width: 50%; }       /* 相对于父元素 */
.vw    { width: 100vw; }       /* 视口宽度 */
.vh    { height: 100vh; }      /* 视口高度 */

百分比是相对于父元素的对应尺寸。vw 和 vh 是相对于浏览器视口的大小。

最大和最小尺寸

有时候需要限制元素的尺寸范围,而不是写死。

max-width 和 max-height

.box {
  max-width: 800px;
  max-height: 400px;
}

元素可以比这个值小,但不能超过。max-width 在响应式布局中非常常用:

.container {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

这样在大屏幕上最大 1200px,小屏幕上自动缩小。

min-width 和 min-height

.box {
  min-width: 300px;
  min-height: 100px;
}

元素可以比这个值大,但不能更小。

max-width 会覆盖 width

当 max-width 和 width 同时设置时,max-width 优先级更高。如果 width 值超过 max-width,实际生效的是 max-width。

overflow:处理内容溢出

当内容超出容器尺寸时,overflow 属性控制如何处理。

四个常用值

效果
visible默认值,溢出内容可见
hidden溢出部分被裁剪,不可见
scroll始终显示滚动条
auto仅在需要时显示滚动条
/* 溢出内容隐藏 */
.hidden {
  overflow: hidden;
}

/* 溢出时显示滚动条 */
.scroll {
  overflow: scroll;
}

/* 自动判断是否需要滚动条 */
.auto {
  overflow: auto;
}

推荐用 auto

scroll 会始终显示滚动条,即使内容没溢出。auto 只在需要时才显示,更美观。

单独控制水平或垂直

/* 只控制水平方向 */
overflow-x: hidden;

/* 只控制垂直方向 */
overflow-y: auto;

可以组合使用:

.box {
  overflow-x: hidden;   /* 水平溢出隐藏 */
  overflow-y: auto;     /* 垂直溢出显示滚动条 */
}

overflow: hidden 的妙用

overflow: hidden 不只是隐藏溢出内容,它还有几个实用场景:

清除浮动

当子元素浮动时,父元素高度会塌陷。给父元素加 overflow: hidden 可以解决:

.parent {
  overflow: hidden;  /* 包含浮动子元素 */
}

防止外边距合并

给父元素加 overflow: hidden,可以防止子元素的外边距和父元素合并:

.parent {
  overflow: hidden;
}

overflow 的注意事项

overflow 只对具有明确尺寸的块元素生效。如果元素没有设置高度,它会随内容自动扩展,就不会有溢出。

/* 没有设置高度,overflow 不生效 */
.box {
  width: 200px;
  overflow: hidden;  /* 高度自动,不会裁剪 */
}

/* 设置了高度,overflow 才生效 */
.box {
  width: 200px;
  height: 100px;
  overflow: hidden;  /* 超出 100px 的内容被裁剪 */
}

overflow 创建 BFC

overflow: hidden 会创建一个新的块级格式化上下文(BFC),这会影响元素的布局行为。BFC 是一个进阶概念,后续章节会详细讲解。

下一章我们学习显示与隐藏,搞清楚 display:none、visibility:hidden、opacity:0 这三种隐藏方式的区别。