【发布时间】:2019-05-11 19:08:43
【问题描述】:
calc() 显然可以在转换中使用,但这不是:
transform: scale(calc(0.75 + (0.3 - 0.75) * ((100vw - 320px) / (780 - 320))));
另外,这可行,但它基本上是相同的公式,只有百分比与小数。仅添加了此内容,以便您可以在此处查看公式:
right: calc(30% + (75 - 30) * ((100vw - 320px) / (780 - 320)));
例如,我有一个宽度为百分比的容器,最大宽度为 300 像素。我希望它的一个子级始终使用transform:scale() 缩放到父级实际当前宽度的百分比。
为什么我的转换calc 函数不起作用?使用 Chrome。
100vw - 320px 用于计算窗口宽度的最小和最大尺寸。这里可以吗?
【问题讨论】:
-
刻度不需要任何单位,只需要数字
-
那么 vw 和 px 呢?它们是单位...顺便说一下整个公式无效,您不能用单位添加数字
-
可以做到,但不是在你的公式中使用
(100vw - 300px),你需要使用一个包装器并给它那个宽度。现在,您放置在此包装器中的任何孩子都将从100%开始,即上面的calc(100vw - 300px)。提供一个实际示例,我将向您展示实现您想要的实际解决方案。如果没有minimal reproducible example,您的问题也不是无法回答的,对未来的用户也没有用处,这是在Stack Overflow 上回答问题的主要标准。详情请阅读How to Ask。 -
@AndreiGheorghiu 会在我们有时间的时候做。谢谢。
-
@AndreiGheorghiu 是的,如果我们知道 期望的结果,因为这显然是一个 XY 问题,并且是一种错误的方法来实现使用其他技术可以轻松实现的目标。
标签: css css-transforms css-calc