最适合网络开发者的网站

CSS 教程

CSS 主页 CSS 简介 CSS 语法 CSS 选择器 CSS 如何 CSS 注释 CSS 颜色 CSS 背景 CSS 边框 CSS 边距 CSS 填充 CSS 高度/宽度 CSS 盒子模型 CSS 大纲 CSS 文本 CSS 字体 CSS 图标 CSS 链接 CSS 列表 CSS 表格 CSS 显示 CSS 最大宽度 CSS 位置 CSS Z 索引 CSS 溢出 CSS 浮动 CSS 内联块 CSS 对齐 CSS 组合器 CSS 伪类 CSS 伪元素 CSS 不透明度 CSS 导航栏 CSS 下拉菜单 CSS 图片库 CSS 图像精灵 CSS Attr 选择器 CSS 表单 CSS 计数器 CSS 网站布局 CSS 单位 CSS 特殊性 CSS !重要 CSS 数学函数

CSS 高级

CSS 圆角 CSS 边框图像 CSS 背景 CSS 颜色 CSS 颜色关键字 CSS 渐变 CSS 阴影 CSS 文本效果 CSS Web 字体 CSS 2D 变换 CSS 3D 变换 CSS 过渡 CSS 动画 CSS 工具提示 CSS 样式图像 CSS 图像反射 CSS 对象适合 CSS 对象位置 CSS 遮罩 CSS 按钮 CSS 分页 CSS 多列 CSS 用户界面 CSS 变量 CSS 盒子尺寸 CSS 媒体查询 CSS MQ 示例 CSS 弹性框

CSS 响应式

RWD 简介 RWD 视口 RWD 网格视图 RWD 媒体查询 RWD 图像 RWD 视频 RWD 框架 RWD 模板

CSS 网格

网格简介 网格容器 网格项

CSS 南苏丹援助协会

SASS 教程

CSS 例子

CSS 模板 CSS 示例 CSS 测验 CSS 练习 CSS 证书

CSS 参考

CSS 参考 CSS 选择器 CSS 函数 CSS 参考 Aural CSS Web 安全字体 CSS 动画 CSS 单位 CSS PX-EM 转换器 CSS 颜色 CSS 颜色值 CSS 默认值 CSS 浏览器支持

初学者的 CSS 课程

尿素

CSS 盒子尺寸


CSS 盒子尺寸

CSS box-sizing 属性允许我们将填充和边框包含在元素的总宽度和高度中。


没有 CSS box-sizing 属性

默认情况下,元素的宽度和高度计算如下:

宽度 + 内边距 + 边框 = 元素的实际宽度
高度 + 内边距 + 边框 = 元素的实际高度

这意味着:当您设置元素的宽度/高度时,该元素通常看起来比您设置的更大(因为元素的边框和填充被添加到元素指定的宽度/高度)。

下图显示了两个<div>具有相同指定宽度和高度的元素:

这个 div 较小(宽度为 300px,高度为 100px)。

这个 div 更大(宽度也是 300px,高度是 100px)。

他们俩<div>上面的元素最终具有不同的大小(因为 div2 指定了填充):

例子

.div1 {
宽度:300px;
高度:100px;
边框:1px 实心蓝色;
}

.div2 {
宽度:300px;
高度:100px;
填充:50px;
边框:1px 实心红色;
}
亲自尝试 »

box-sizing 属性解决了这个问题。


使用 CSS box-sizing 属性

box-sizing 属性允许我们将填充和边框包含在元素的总宽度和高度中。

如果你设置 box-sizing: border-box; 在元素上,填充和边框包含在宽度和高度中:

现在两个 div 的大小相同了!

万岁!

这是与上面相同的例子, box-sizing: border-box; 添加到两者<div>元素:

例子

.div1 {
宽度:300px;
高度:100px;
边框:1px 实心蓝色;
盒子尺寸:边框;
}

.div2 {
宽度:300px;
高度:100px;
填充:50px;
边框:1px 实心红色;
盒子尺寸:边框;
}
亲自尝试 »

由于使用的结果 box-sizing: border-box; 好多了,许多开发人员希望他们页面上的所有元素都能以这种方式工作。

下面的代码确保所有元素都以这种更直观的方式调整大小。许多浏览器已经使用 box-sizing: border-box; 对于许多表单元素(但不是全部 - 这就是为什么输入和文本区域在宽度:100%;时看起来不同)。

将其应用于所有元素是安全且明智的:

例子

* {
盒子尺寸:边框;
}
亲自尝试 »

CSS 盒子尺寸属性

财产 描述
盒子大小 定义元素的宽度和高度如何计算:是否应包括填充和边框