玩转CSS基础:CSS盒模型

CSS盒模型

什么是CSS盒模型?

完整的 CSS 盒模型应用于块级盒子,内联盒子只使用盒模型中定义的部分内容。模型定义了盒的每个部分 —— margin, border, padding, and content ,合在一起就是在页面上看到的内容。为了增加一些额外的复杂性,有一个标准盒模型和替代(IE)盒模型。
组成盒模型需要的内容:

  • content:内容区域,通过widthheight设置。
  • padding:内边距,内容区域外的空白区域,通过padding设置。
  • border:边框,包裹内容区域和内边距,通过border设置。
  • margin:外边距,盒子和其他元素直接的空白区域,通过margin设置。

margin不会计入盒子的大小

标准盒模型

浏览器默认使用的是标准盒模型。
给标准盒模型设置widthheight,实际设置的是content内容区域,盒子的宽高需要再加上paddingborder

  • 盒子的宽度 = width + (padding * 2) + (border * 2)
  • 盒子的高度 = height + (padding * 2) + (border * 2)
  • 设置属性 box-sizing: content-box
    标准盒模型示例
div {
    width: 200px;
    height: 200px;
    padding: 10px;
    border: 5px solid red;
    margin: 10px;
}


当前标准盒模型div的宽度为230px = 200 + 10 + 10 + 5 + 5,高度为230px = 200 + 10 + 10 + 5 + 5。

替代(IE)盒模型

IE浏览器默认使用替代盒模型,IE8+支持使用box-sizing进行切换

如果需要使用替代盒模型,设置box-sizing: border-box属性即可。
盒子的宽度和高度和设置的widthheight一样,只是内容区域的宽度和高度需要减去边框和内边距。

  • 盒子的宽度 = width
  • 盒子的高度 = height
  • 设置属性 box-sizing: border-box
    替代盒模型示例
div {
    width: 200px;
    height: 200px;
    padding: 10px;
    border: 5px solid red;
    margin: 10px;
    box-sizing: border-box;
}


当前替代盒模型div的宽度为200px,高度为200px。

补充:margin可以设置负值,padding不能设置负值,必须是>=0的值。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值