Web前端面试指导(九):盒子模型你是怎么理解的?
2016-09-22 11:45
681 查看
问题分析
这道题问得比较宽泛,一定要找准切入点,如果切入点找不准,很容易乱答,甚至答偏,所以找准切入点是非常的重要的。解答思路
1)盒子模型有两种,W3C和IE盒子模型(1)W3C定义的盒子模型包括margin、border、padding、content ,元素的width=content的宽度
(2)IE盒子模型与W3C的盒子模型唯一区别就是元素的宽度,元素的width=content+padding+border
2)个人理解和心得,要记住在面试时,我们和面试官是平等的,而且面试官也非常欣赏喜欢交谈的人,在面试的时候能够去表达自己的想法,往往会给面试官留下非常好的印象。例如上面的盒子模型,示范如下:
我个人认为W3C定义盒子模型与IE定义的盒子模型,IE定义的比较合理,元素的宽度应该包含border(边框)和padding(填充),这个和我们现实生活的盒子是一样的,W3C也认识到自己的问题了,所以在CSS3中新增了一个样式box-sizing,包含两个属性content-box 和 border-box。
(1) content-box 元素的width=content+padding+border
.test1{ box-sizing:content-box; width:200px; padding:10px; border:15px solid #eee; }
(2) border-box 元素的width=width(用样式指定的宽度)
.test1{ box-sizing:border-box; width:200px; padding:10px; border:15px solid #eee; }
加分项回答(自己比较独到理解)
1.对于行级元素,margin-top和margin-bottom对于上下元素无效,margin-left和margin-right有效2.对于相邻的块级元素margin-bottom和margin-top 取值方式
1) 都是正数: 取最大值
距离=Math.max(margin-botton,margin-top)
2) 都是负数: 取最小值
距离=Math.min(margin-botton,margin-top)
3)上面是正数,下面是负数或者 上面是负数,下面是正数: 正负相加
距离=margin-botton+margin-top
-----------------------------------------------------------------------------------------------------------------------------
相关文章推荐
- Web前端面试指导(三十一):谈谈你对this的理解
- Web前端面试指导(二十二):用js实现千位分隔符,怎么实现?
- Web前端面试指导(三十三):谈谈你对模块化开发的理解?
- Web前端面试指导(二):编写简历,吃透简历内容
- Web前端面试指导(七):入职后的建议
- Web前端面试指导(二十一):如何向数组中间插入或删除元素?
- Web前端面试指导(三十):JavaScript有几种类型的值?你能画一下他们的内存图吗?
- Web前端面试指导(二十六):JSON 格式是什么?你了解吗?
- Web前端面试指导(三):简历投递诀窍
- Web前端面试指导(十六):为什么要初始化CSS样式?
- Web前端面试指导(十八):用纯CSS创建一个三角形的原理是什么?
- Web前端面试指导(二十九):Ajax 是什么? 如何创建一个Ajax?
- Web前端面试指导(十):元素定位有哪些?
- Web前端面试指导(二十四):事件是什么?如何阻止事件冒泡?
- WEB前端学习 Day 1(DIV+盒子模型+CSS文本+实例)
- Web前端面试指导(六):面试后需要总结和交流
- Web前端面试指导(十二):::before 和:before有什么区别?
- Web前端面试指导(十三):css样式的优先级是怎么样的?
- Web前端面试指导(二十七):原型是什么?原型链是什么?
- Web前端面试指导(二十五):谈一下Jquery中的bind,live,delegate,on的区别?