第 9 课 5 / 25 | 编码:L09-09
核心知识

width、min-width 与 max-width

声明的尺寸还可能受到上下限约束;先确定最终尺寸,再计算内容区。

.card {
  box-sizing: border-box;
  width: 240px;
  min-width: 260px;
  max-width: 320px;
  padding: 16px;
  border: 4px solid teal;
}

这张卡片最终有多宽?

width: 240px 提出宽度;min-width: 260px 要求至少 260px。

max-width: 320px 给出上限,不要求宽度一定达到 320px。

边框盒:260px
内容区:260 − 32 − 8 = 220px

这里是普通块布局,父容器足够宽,无滚动条。

尺寸变化:上限、下限与内容高度

若把 width 改为 400px,上限会把边框盒限制到 320px。若最小宽度比最大宽度还大,最小宽度约束优先,因此不能承诺“max-width 总能防止溢出”。

.notice {
  box-sizing: border-box;
  width: 100%;
  max-width: 32rem;
  min-height: 6rem;
}

这段规则适合随可用空间变化的通知:宽度不超过 32rem,高度至少 6rem;未固定 height 时,可以随文字增加而长高。rem 以根元素字号为基准。

展开完整代码与运行演示
<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>黄梅戏分享会</title>
  <style>
    .card {
      box-sizing: border-box;
      width: 240px;
      min-width: 260px;
      max-width: 320px;
      padding: 16px;
      border: 4px solid teal;
    }
  </style>
</head>
<body>
  <div class="card">黄梅戏分享会报名通知</div>
</body>
</html>