為什么利用box-sizing: border-box;消除inner這個dom?
<!DOCTYPE?html> <html?lang="en"> ??<head> ????<meta?charset="UTF-8"?/> ????<meta?name="viewport"?content="width=device-width,?initial-scale=1.0"?/> ????<meta?http-equiv="X-UA-Compatible"?content="ie=edge"?/> ????<title>Document</title> ????<style> ??????.box?{ ????????/*?margin:?0?100px;?*/ ????????height:?300px; ??????} ??????.center, ??????.left, ??????.right?{ ????????height:?300px; ????????float:?left; ??????} ??????.left, ??????.right?{ ????????width:?100px; ????????background-color:?brown; ??????} ??????.left?{ ????????margin-left:?-100%; ??????} ??????.right?{ ????????margin-left:?-100px; ??????} ??????.center?{ ????????width:?100%; ????????background-color:?chartreuse; ????????box-sizing:?border-box; ????????padding-left:?100px; ????????padding-right:?100px; ??????} ????</style> ??</head> ??<body> ????<div?class="box"> ??????<div?class="center">dafdsf</div> ??????<div?class="left"></div> ??????<div?class="right"></div> ????</div> ??</body> </html>
看到一種做法,在一般的雙飛翼布局中,需要為center元素添加inner這個子元素。但是如果為center添加box-sizing: border-box;屬性后,就可以不用添加inner這個dom,可以減少dom節(jié)點,我試了一下的確可以,請問這是為什么?
2020-02-02
這是因為 border-box 計算的寬度 = content+padding+border