css如何将margin计算到元素内部

如题所述

margin计算不到内部,margin的本意就是外部间距.
但是如果你想达成将这个间距放到内部的想法,可以用padding,这个是内部间距.
但是可能还不是你想要的,那么建议你这么做.
你的目标元素<div class="a1">你想给这个a1加一个特殊的"内部margin",那么你就先给a1加一个外壳,形成<div class="a2"><div class="a1"></div></div>这个样子,让a2包裹a1,然后给a2加一个padding,以形成a1内部margin的样子.
其实跟直接给a1加padding效果差不多,但是又有那么一丢丢的区别.这两种方案你试试吧
实在不行,再试试
box-sizing:border-box;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-29
box-sizing:border-box;这个属性能吧padding和border算进去。
你说的margin 是不能用css算进去的,没有这个属性 。而且从盒子模型的角度来讲,margin不能算是盒子的一部分。
实在想这么做,可以用js去计算。本回答被网友采纳
第2个回答  2018-04-09
margin是外边距,它也是会占用总元素的宽度位置,但是不会计算在元素宽度里。
除了几个旧版本IE,
现在浏览器对margin算法是这样的。
一个DIV占用的位置宽度=width+border+margin+padding