前端面试之css3盒模型

本文深入探讨CSS3盒模型的两种类型:标准盒模型和IE盒模型,详细讲解了盒模型的组成部分,如边距、边框、填充和内容,并讨论了如何通过box-sizing属性进行设置。此外,文章还介绍了获取盒子宽高的多种方法,以及边距重叠现象和BFC(块级格式化上下文)的概念,帮助读者理解并解决网页布局中的常见问题。

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

1.css3盒模型

每个html都可以叫做盒模型,盒模型由外而内包括:边距(margin)、边框(border)、填充(padding)、内容(content)。页面中所占的实际宽度是它们全部加起来。盒模型有标准盒模型和IE盒模型。

1.1标准盒模型

可以通过box-sizing:content-box;设置
在这里插入图片描述

1.2 IE盒模型

可以通过box-sizing:boder-box来设置在这里插入图片描述

1.3拓展面试问题

1.3.1获取盒子的宽高
  • scrollWidth和scrollHeight获取元素可见内容元素大小
  • offsetWidth和offsetHeight获取元素实际大小,包含边框滚动条等
  • window.getComputedStyle(dom).width/height获取元素的宽高
1.3.2边距重叠(BFC)

1.问题

  • 如果子元素设置了外边距,在没有把父元素变成BFC的情况下,父元素也会产生外边距
  • 同级元素在垂直方向上外边距会出现重叠情况,最后外边距大小取两者绝对值大的那个

2.解决方案

  • BFC的基本概念,块级格式化上下文。它决定了元素如何对其内容进行定位,以及与其他元素的关系和互相作用。通俗的讲,就是一个特殊的块,内部有自己的布局方式,不受外边元素的影响。
  • BFC原理:
    a、BFC内部的盒子,会在垂直方向,一个接一个地放置。垂直方向上也会发生边距重叠。
    b、BFC就是页面上的一个独立容器,容器里面的子元素不会影响到外面的元素,外边的也不会影响里面的。
    c、BFC的区域不会与float box重叠。
    d、计算BFC的高度时,浮动元素也被计算在内。
  • BFC如何产生
    • overflow不为visible;
    • position: absolute/ fixed;
    • overflow不为visible;
    • display为inline-block, table-cell, table-caption, flex, inline-flex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值