css 标准盒子模型和ie盒子模型的区别和各自的特点

本文详细介绍了CSS中的两种盒子模型——标准盒子模型与IE盒子模型,包括它们的组成元素(如内容、内边距、边框及外边距)及其区别,并提供了如何在不同浏览器中实现一致效果的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、css 标准盒子模型

css盒子模型 又称为框模型(Box Model),包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。如下图:

图中的内层是content依次是padding border margin。通常我们设置背景时就是内容、内边距、边框这三部分,如果border设置颜色的时候会显示boder颜色当boder颜色是透明时会显示background-color的颜色。而该元素的子元素的是从content开始的。而外边距是透明的,不会遮挡其他元素。

元素框的总宽度=width+padding-left+padding-right+border-left+border-right+margin-left+margin-right;

元素框的总高度=height+padding-top+padding-bottom+border-top+border-bottom+margin-top+margin-bottom;


二、IE盒子模型

css盒子模型 又称为框模型(Box Model),包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。如下图:

图中的内层是content依次是padding border margin。通常我们设置背景时就是内容、内边距、边框这三部分。而外边距是透明的,不会遮挡其他元素。

元素框的总宽度=width(padding-left+padding-right+border-left+border-right)+margin-left+margin-right;

元素框的总高度=height(padding-top+padding-bottom+border-top+border-bottom)margin-top+margin-bottom;

三、两个模型宽度和高度的计算(是一样的)

w3c中的盒子模型的宽:包括margin+border+padding+width;

    width:margin*2+border*2+padding*2+width;

    height:margin*2+border*2+padding*2+height;

iE中的盒子模型的width:也包括margin+border+padding+width;

上面的两个宽度相加的属性是一样的。


因此我们应该选择标准盒子模型,在网页的顶部加上 DOCTYPE 声明。




box-sizing属性可以为三个值之一:content-box(default),border-box,padding-box。

content-box,border和padding不计算入width之内

padding-box,padding计算入width内

border-box,border和padding计算入width之内,其实就是怪异模式了~

 

ie8+浏览器支持content-box和border-box;

ff则支持全部三个值。



利用盒子模型画三角

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
    div{
        width: 0;
        height: 0;
        border: 100px solid transparent;
        border-bottom: 100px solid blue;
    }
</style>
<body>
    <div></div>
</body>
</html>

 







标准盒子模型IE盒子模型CSS布局中用于计算元素尺寸的两种不同方式。 ### 标准盒子模型 (W3C 盒子模型) 根据 W3C 规范的标准盒子模型,元素的总宽度由以下几个部分组成: - **内容区域** (`content`): 这是实际显示文本、图片等的内容区。 - **内边距** (`padding`): 内容与边框之间的空间。 - **边框** (`border`): 围绕着内边距的一层边界线。 - **外边距** (`margin`): 边框之外的空间,用来分隔相邻元素。 公式表示为: ``` 总宽度 = 宽度 + 左右内边距 + 左右边框 + 左右边距 总高度 = 高度 + 上下内边距 + 上下边框 + 上下半径 ``` 例如,如果设置了一个 `div` 的宽度为 100px,并且它有 20px 的左右内边距以及 5px 的边框,则该 div 实际占用的水平空间将是: \[ 100\text{px} + 2 \times 20\text{px} + 2 \times 5\text{px} = 150\text{px} \] ### IE 盒子模型 (旧版 Internet Explorer 模型) 而在早期版本的Internet Explorer浏览器使用的“怪异模式”下的盒模型(也称为传统盒模型),所有这些值都包含在一个单一的 "width" "height" 属性之内。也就是说,在这种模型里,指定的宽高已经包括了 padding border ,即: 公式表示为: ``` 总宽度 = 宽度(已含左右内边距+左右边框) 总高度 = 高度(已含上下内边距+上下边框) ``` 这意味着如果你给一个元素设置了 width: 100px;同时还有 20px 的左右填充(padding) 及 5px 的左右边框(border),那么最终这个块级元素的实际宽度仍然是 100 像素,而其中只有部分内容占据了这 70(=100 - 40(inner-padding)-10(borders))像素的位置。 现代 Web 开发通常遵循标准盒子模型,但在处理某些特定情况或兼容老旧系统时了解这两种差异还是很有帮助的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值