我想使用 calc()
margin
将 --- 设置为 auto
加上一些像素量,但我的代码似乎不起作用。
selector {
width: 200px;
height: 200px;
margin-left: auto;
margin-right: auto;
background: red;
margin: calc(auto + 5px);
}
<div></div>
我可以将 calc()
设置为自动边距加固定值吗?像这样的东西:
原文由 Bhojendra Rauniyar 发布,翻译遵循 CC BY-SA 4.0 许可协议
今天看到自己的问题,我为自己为什么不能正确思考而感到羞愧?基本上,自动边距是左边距 50% 减去 div 的宽度。在此基础上,我们可以这样布局元素:
使用前面的代码相当于
calc(auto + 5px);
。由于 calc 不支持 auto 我们需要用实际的翻译概念来欺骗。这意味着我们也可以使用50% - half of width
的概念进行绝对位置布局,但为了简单起见,我喜欢transform
。请看下面的演示:
增加或减少左右的正负值以正确理解。
注意: 使用下面的代码
与使用相同:
对于这个概念。
另请注意,该问题与某些百分比计算加上减去所需的班次有关。所以在这个答案中,它同时使用了 calc 和 transform 。如果您确实需要在中间移动,那么我们可以使用(没有左边距或右边距):
答案提供了 50% 的计算,但问题是需要使用一些百分比,例如
calc(20% - 20px)
。