css面试点-css盒子模型

什么是css盒子模型

盒子,封装周围的HTML元素,它包括:width、height、padding、border、margin。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

页面渲染时,dom 元素所采用的布局模型。可通过box-sizing进行设置

  • width和height:内容的宽度、高度(不是盒子的宽度、高度)。盒子的内容,显示文本和图像。
  • padding:内边距。 清除内容周围的区域,内边距是透明的。
  • border:边框。围绕在内边距和内容外的边框。
  • margin:外边距。清除边框外的区域,外边距是透明的。

盒模型是有两种标准的,一个是标准模型,一个是IE模型

W3C盒子模型(标准盒模型)

IE盒模型(怪异盒模型)

标准盒模型与IE盒模型区别

  • 标准模型中,盒模型的宽高只是内容(content)的宽高,
  • IE模型中盒模型的宽高是内容(content)+填充(padding)+边框(border)的总宽高,在IE6/5的低版本IE中

一些注意点

  • 根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。
  • 但 IE5 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。
  • IE8 及更早IE版本不支持设置填充的宽度和边框的宽度属性。
  • 解决IE8及更早版本不兼容问题可以在HTML页面声明 <!DOCTYPE html> 即可。
  • 假如不用doctype 声明,那么各个浏览器会根据自己的标准去解析网页,即 ie浏览器会采用 ie 盒子模型去解析盒子模型,而 Chrome浏览器会采用标准w3c 盒子模型解析盒子,
  • 使用 doctype 声明,那么所有浏览器都会采用标准 w3c盒子模型解析盒子,网页就能在各个浏览器统一显示。
  • 在使用doctype 声明情况下,设置属性 box-sizing:border-box 就可以定义使用ie盒模型。盒子模型主要适用于块级元素
  • <body> 标签也有margin:很多人以为<body>标签占据的是整个页面的全部区域,其实是错误的,正确的理解是这样的:整个网页最大的盒子是<document>,即浏览器。而<body><document>的儿子。浏览器给<body>默认的margin大小是8个像素,此时<body>占据了整个页面的一大部分区域,而不是全部区域。

css如何设置两种模型:(css3的属性 box-sizing)

通常情况下,在不设置box-sizing时,默认box-sizing:content-box;

/*标准模型*/
box-sizing:content-box;
/*IE模型*/
box-sizing:border-box;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wflynn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值