CSS之盒模型

盒模型概念

浏览器盒模型(Box Model)是CSS中的基本概念,它描述了元素在布局过程中如何占据空间。盒模型由内容(content)、内边距(padding)、边框(border)、和外边距(margin)四个部分组成。分为标准盒模型 和 IE盒模型 。

  • 标准盒模型(W3C盒模型):在这个模型中,元素的总宽度等于左右margin + 左右border + 左右padding + width,总高度等同于上下margin + 上下border + 上下padding + height的和。

    盒宽度=内容宽度(content)+ border + padding + margin

  • IE盒模型:在这个模型中,宽度和高度不仅包括内容的尺寸,还包括内边距和边框。这意味着,元素的实际宽度等于width(内容宽度 + 左右内边距 + 左右边框),高度同理。

    盒宽度=内容宽度(content+border+padding)+ margin

盒模型设置

通过CSS的box-sizing属性,可以在标准盒模型与IE盒模型之间进行切换。
  • content-box(默认值):应用标准盒模型,元素的宽度和高度只包括内容区域。
  • border-box:应用IE盒模型,元素的宽度和高度还包括内边距和边框。

举个例子

css代码示例

复制代码
 <body>
    <div class="content-box base-box"></div>
    <div class="border-box base-box"></div>
  </body>
  <style>
    .base-box {
      width: 100px;
      height: 100px;
      padding: 10px;
      border: 2px solid red;
      margin: 5px;
    }

    .content-box {
      box-sizing: content-box;
    }

    .border-box {
      box-sizing: border-box;
    }
  </style>

渲染示例


设置为content-box时,元素宽度:100 + 10 x 2 + 2 x 2 = 124;设置为100最终是124。

设置为border-box时,元素宽度:76 + 10 x 2 + 2 x 2 = 100;设置为100就是100。

相关推荐
随风九天38 分钟前
使用 Nginx 进行前端灰度发布的策略与实践
运维·前端·nginx·前端灰度发布
黄Java1 小时前
SVG中linearGradient的id冲突的显隐问题深度解析
前端·svg
蜗牛快跑1232 小时前
通过尤大“围绕Vite的前端统一框架”分享,看未来前端发展趋势
前端
skywalk81632 小时前
Mac下安装Zed以及Zed对MCP(模型上下文协议)的支持
服务器·前端·macos
陈龙龙的陈龙龙2 小时前
macOS 安装 Homebrew、nvm 及安装切换 node 版本
前端·macos·bash
asphyxia2 小时前
老龄化项目问题解决
前端
SaebaRyo2 小时前
作为一个前端er如何了解LLM(大语言模型)
前端·llm
悬炫2 小时前
深入解析浏览器渲染原理与性能优化策略
前端·javascript
鸡血园地2 小时前
前端性能优化
前端
谦谦橘子2 小时前
rxjs原理解析
前端·javascript·函数式编程