首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Calc()输出意外值

Calc()输出意外值
EN

Stack Overflow用户
提问于 2019-03-18 08:21:13
回答 1查看 143关注 0票数 1

我想要做的是通过calc(var(--grid-item-width) * 1.6)使#grid height达到#grid width的160%,但是--grid-item-width似乎被视为视口宽度的百分比,而不是像素值。

#grid的高度远远大于其宽度的160%,如下面的截图所示。

代码语言:javascript
复制
:root {
  --gap: 26px;
  --grid-item-width: calc(100% - calc(var(--gap) * 4));
}

#grid {
  width: 100%;
  height: var(--grid-item-width); /* does not match */
  overflow-x: auto;
  display: grid;
  grid-gap: var(--gap);
  grid-auto-flow: column;
  grid-auto-columns: var(--grid-item-width); /* does not match */
}

当我将--grid-item-width的值打印到console时,它返回calc(100% - calc( 26px * 4)),这显然没有帮助。

关于MDN上的calc()的注释之一是:

在自动和固定布局表格中,涉及表格列、表格列组、表格行、表格行组和表格单元格的宽度和高度百分比的

数学表达式可以被视为已指定auto。

这就是 calc(var(--grid-item-width) * 1.6) 在这种情况下出现意外输出的原因吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-18 08:28:28

这两个表达式是相同的,但它们不会解析为相同的值,因为它们应用于不同的特性。

获得相同值的唯一方法是确保父元素的高度与元素的宽度相同,或者避免使用百分比值并依赖于在这两种情况下将以相同方式解析的不同单位(pxvwvhem等)

请注意,如果存在no height set on the parent element.,则与height一起使用的值可能无法执行auto

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55213272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档