正在加载...
CSS 高度与宽度
你会给盒子加框、圆角,以及外内间距。下一步:决定盒子有多大。width 和 height 设置内容盒的尺寸——这块核心有多宽、多高。
width 和 height 做什么?
width 控制水平尺寸。height 控制垂直尺寸。常见取值用 px 这类长度,或 % 这类相对尺寸。若不去改,许多元素会按内容和布局上下文自行决定大小。
用像素固定尺寸
清晰的日常起点:给面板一个精确的像素宽度(可选高度)。
固定像素宽度
css
CSS Code
.panel {
width: 320px;
border: 1px solid #cbd5e1;
padding: 1rem;
background-color: #ffffff;
}
宽高一起设
设计需要明确矩形时——缩略图框、瓷砖、媒体槽——两个都设。
瓷砖上的宽和高
css
CSS Code
.tile {
width: 160px;
height: 120px;
border: 2px solid #0f766e;
background-color: #ecfdf5;
}
百分比宽度
% 宽度通常相对于包含块的宽度(常常是父元素)。width: 50% 表示「大约父级一半宽」,不是魔法般的半个屏幕。
父级宽度的一半
css
CSS Code
.half {
width: 50%;
border: 1px solid #94a3b8;
padding: 0.75rem;
background-color: #f8fafc;
}
尺寸工具一眼看清
除了普通的 width 和 height,CSS 还给护栏。
📊 宽高工具
| 工具 | 作用 | 日常说明 |
|---|---|---|
width / height |
内容盒的首选尺寸 | 固定或流动尺寸从这里开始 |
min-width / min-height |
不要小于此 | 保持按钮或侧栏可用 |
max-width / max-height |
不要大于此 | 缓和巨大图片或过宽文字 |
auto |
让浏览器计算 | 默认高度常常跟随内容 |
% |
相对包含块 | 宽度 % 常见;高度 % 需要父级有明确高度 |
用 min-width 当地板
布局被挤时盒子仍要可用,这就很有用。
最小宽度地板
css
CSS Code
.btn-wide {
min-width: 12rem;
padding: 0.6rem 1rem;
background-color: #0f766e;
color: #ffffff;
border: none;
}
用 max-width 当天花板
可读文字,或大屏上不要无限拉长的图片——经典习惯。
最大宽度天花板
css
CSS Code
.prose {
max-width: 40rem;
width: 100%;
margin: 0 auto;
line-height: 1.6;
}
高度常常保持 auto
对文本块,让高度随内容增长。过小的固定高度可能裁切文字,除非你也规划 overflow(稍后课程)。
auto 高度跟随内容
css
CSS Code
.article {
width: 100%;
max-width: 36rem;
height: auto; /* 随段落增长 */
padding: 1rem;
border: 1px solid #cbd5e1;
}
自己试试
- 做
width: 320px且 padding/边框可见的面板。 - 做 160×120 且宽高都设的瓷砖。
- 在更宽父级里放
width: 50%的子元素,并改变父级大小。 - 给按钮加
min-width: 12rem并缩小视口。 - 给文本块
max-width: 40rem和height: auto——再试很小的固定高度,观察裁切风险。
常见错误
- 父级没有明确高度却用
height: 50%(百分比可能不如你所想) - 给文本框锁很短的
height,却奇怪内容被裁切 - 大图或长行忘记
max-width - 把 width(内容盒尺寸)和 padding(内侧缓冲)搞混
- 以为
width总包含边框和 padding——这取决于box-sizing(很快讲)
小结
width和height设定内容盒尺寸- 固定尺寸用
px,相对父级的流动宽度用% min-*和max-*设地板与天花板- 对增长中的文字优先
height: auto - 百分比高度需要有明确高度的父级
- 完整盒子算法在接下来的盒模型课里
🧠 测试您的知识
准备开始
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
9
问题
70%
及格要求
∞
时间
∞
尝试次数
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部