标准盒模型的宽度就仅仅是 content的宽度;而IE模型的宽度是指的 content+padding+border的宽度的总和;
//标准盒模型,这个浏览器默认的方式;
box-sizing:content-box;
//IE盒模型
box-sizing:border-box;
dom.style.width/height;css
这个方法的缺点是只能拿到行内样式;web
dom.currentStyle.width/height;浏览器
这个方法能够拿到加载以后的样式,可是缺点是只适用于IE浏览器;dom
window.getComputedStyle(dom).width/height;svg
重点,都兼容;flex
dom.getBoundingClientRect().width/height;spa
这个适用于取位置的时候,这个参数返回了宽高,还有距离视口左边和上边的距离;3d
BFC主要用来解决边距重叠的问题;
与它相似的还有一个叫作IFC;code
BFC建立的元素不会与block元素重叠;
<div class="wrap">
<section>1</section>
<section>2</section>
</div>
.wrap { border: 2px solid yellow; width: 250px; overflow: hidden; }
section { background-color: pink; float: left; width: 100px; height: 100px; }
没有建立BFC以前的样子:
xml
建立BFC以后的样子:
<section class="top">1</section>
<section class="bottom">2</section>
section { background-color: pink; margin-bottom: 100px; width: 100px; height: 100px; }
.bottom { margin-top: 100px; }
若是像上面那样的代码的话,两个box只间的间距只有100px;可是若是给bottom建立BFC的话,那么两个box只间的间距就变成了200px;