之前面试碰到过几次,有些企业会问盒子模型得区别在哪里,当时就是一脸懵,很是尴尬啊,用惯了webStorm自动提供的html页面,都不知道该怎么区别盒模型了。。。。
好了,废话不多说,经过我一番学习,原来盒子模型分为ie盒子模型和标准w3c盒子模型。
所有得盒子模型都包含4大块margin、border、padding、content,不同点在于ie的盒子模型中的content包含了padding和border,可能这样说还不够明确,直接上例子:
假如我有一个盒子margin:10px;border:1px;padding:10px;width:200px;height:200px;那么:
ie盒子模型的占据位置宽:10*2+200 = 220px,高:10*2+200 = 220px;那么ie盒子的实际宽高是:宽200px,高200px。
标准w3c盒子模型占据位置宽:10*2+1*2+10*2+200 = 242px,高:10*2+1*2+10*2+200 = 242px;那么标准w3c盒子的实际宽高是:宽222px,高222px。
那么问题来了,我该怎么做才能选定标准的w3c的盒子模型呢。很简单,就是在网页的顶部加上 doctype 声明<!DOCTYPE html>。假如不加 doctype 声明,那么各个浏览器会根据自己的行为去理解网页,反之亦然。