我们现在开始在CSS中使用 calc()
来设置计算结果的宽度。例如:
<div id='parent'>
<div id='calcWidth'></div>
</div>
#parent{
width:100px;
}
#calcWidth{
width:calc(100% - 3px);
height:100px;
background:red;
}
我知道如何使用calc()
,但我只是想知道在上面给出的示例中,在calc(100% - 3px)
的位置返回了什么CSS属性。
我的困惑是什么?
- 在上面的示例中,
width: calc(100% - 3px)
- 假设
100%
的宽度实际上是100px
,这将由CSS在运行时确定。 - 因此,计算出的宽度将是
100px-3px = 97px
,如果将其转换为%
,则为97%
,对吗?
但现在,有两种可能性
97px
被返回,并被设置为宽度。97%
被返回,并被设置为宽度。
在两种情况下,宽度将设置为
97px
,但width: calc(100% - 3px)
返回的结果是97px
还是97%
?
您也可以查看此fiddle:http://jsfiddle.net/8yspnuuw/1/
编辑:请阅读看朋友们的:
<div class='parent'>
<div class='child'>
</div>
</div>
.parent{
width:200px;
}
.child{
width:20%
}
我知道当子元素被渲染时其宽度将变为160像素。 好的!但这与CSS中设置的不同吧?CSS使用百分比进行设置,只是以像素呈现。
所以类似地,使用calc,它会返回百分比还是像素
或者解释一下我的问题,请阅读BoltClocks的答案,计算值是什么(而不是使用的值,我知道那是以像素为单位的)。
calc()
的返回值特定格式有何意义?我猜测它始终会以像素为单位,因为长度的每个计算值最终都会被分配/呈现为像素,但我不确定。 - David Thomas