美文网首页
盒模型面试问题总结

盒模型面试问题总结

作者: 含羞草恋上梦昙花 | 来源:发表于2019-06-12 12:14 被阅读0次

一、谈一谈你对CSS盒模型的认识


专业的面试,一定会问 CSS 盒模型。对于这个题目,我们要回答一下几个方面:

(1)基本概念:content、padding、margin。

(2)标准盒模型、IE盒模型的区别。不要漏说了IE盒模型,通过这个问题,可以筛选一部分人。

(3)CSS如何设置这两种模型(即:如何设置某个盒子为其中一个模型)?如果回答了上面的第二条,还会继续追问这一条。

(4)JS如何设置、获取盒模型对应的宽和高?这一步,已经有很多人答不上来了。

(5)实例题:根据盒模型解释边距重叠。前四个方面是逐渐递增,第五个方面,却鲜有人知。

(6)BFC(边距重叠解决方案)或IFC。如果能回答第五条,就会引出第六条。BFC是面试频率较高的。

总结:以上几点,从上到下,知识点逐渐递增,知识面从理论、CSS、JS,又回到CSS理论。


二、接下来,我们把上面的六条,依次讲解

问题(1)content就是内容区域,padding是内边距,margin是外边距,width和height则要根据是什么模型决定

问题(2)标准盒模型和IE盒子模型

CSS盒模型和IE盒模型的区别:

在 标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。

问题(3)CSS如何设置这两种模型:

 设置当前盒子为 标准盒模型(默认):     box-sizing: content-box;

 设置当前盒子为 IE盒模型 : box-sizing: border-box;

问题(4)JS如何设置、获取盒模型对应的宽和高

方式一:通过DOM节点的 style 样式获取:

(1)element.style.width/height;

        <div id="div1" style="width: 100px">111</div>

        <div id="div2">222</div>

        <script>

            var oDiv1 = document.getElementById("div1");

          console.log(oDiv1.style.width ) ;

        </script>

缺点:通过这种方式,只能获取行内样式,不能获取内嵌的样式和外链的样式。

方式二(通用型)

// window.getComputedStyle(element).width/height;

    <div id="div1" >111</div>

        <div id="div2">222</div>

        <script>

            var oDiv1 = document.getElementById("div1");

          console.log( window.getComputedStyle(oDiv1).width ) ;

        </script>

这种方式能兼容 Chrome、火狐。是通用型方式。

方式三(IE独有的):

//element.currentStyle.width/height;

          var oDiv1 = document.getElementById("div1");

            console.log( oDiv1.currentStyle.width);

和方式二相同,但这种方式只有IE独有。获取到的是运行完之后的宽高(三种css样式都可以获取)。

方式四:

// element.getBoundingClientRect().width/height;

          var oDiv1 = document.getElementById("div1");

            console.log(oDiv1.getBoundingClientRect().width);

这种方式获得到的宽度是内容content+padding+border

此 api 的作用是:获取一个元素的绝对位置。绝对位置是视窗 viewport 左上角的绝对位置。

此 api 可以拿到四个属性:left、top、width、height。

上面的四种方式,要求能说出来区别,以及哪个的通用型更强。

问题(5)margin塌陷/margin重叠:

前端系统复习之CSS盒模型 - 李天下 - CSDN博客

相关文章

  • 盒模型面试问题总结

    一、谈一谈你对CSS盒模型的认识 专业的面试,一定会问 CSS 盒模型。对于这个题目,我们要回答一下几个方面: (...

  • 前端知识点之谈一谈css盒模型、BFC

    知识点:--css 盒模型--标准模型和 IE 模型--BFC 谈一谈 css 盒模型、BFC 是面试中常见的问题...

  • 前端面试之CSS

    资料来源于 50道css基础面试题进行一些扩充和总结 CSS盒模型 标准盒模型:content + padding...

  • 盒子模型

    面试鸭前端学习记录 盒模型 盒模型组成:由里向外content,padding,border,margin. 盒模...

  • 前端面试知识点整理

    面试1:CSS布局面试2:CSS盒模型面试3:flex弹性盒布局面试4:DOM面试5:原型链面试6:面向对象面试7...

  • 浅析盒模型

    在前端开发中我们会经常遇到一个概念-——盒模型。在前端的面试过程中也经常会遇到这样的问题:请你简单说明对盒模型的理...

  • 前端面试题总结

    背景:前端经验2年,5月份经历了几个公司的面试,记录一下面试总结 css部分 上下左右居中布局 盒模型 纯css写...

  • 盒模型总结

    众所周知,盒模型是CSS3中非常重要的一个概念。盒模型的组成包含content、padding、border、ma...

  • css盒模型

    css盒模型-又一个经久不息的话题,面试的时候,有的面试官会让你谈谈css的盒子模型,这样看似简单的问题,却让一些...

  • Android职场

    根据本人多次的面试经历,总结以下几个面试实战问题,分享给大家。 ----Java相关---- JVM内存模型 1、...

网友评论

      本文标题:盒模型面试问题总结

      本文链接:https://www.haomeiwen.com/subject/tpkpmftx.html