CSS - 我可以在Calc()中使用对象的宽度吗?

时间:2018-05-08 02:31:07

标签: css calc

我想要这样的事情:

height: calc(width + 5px);

这只是一个小例子,但我最终在寻找一种方法来使用设定宽度作为计算的一部分,而不是解决这个例子的简单方法。我所做的任何搜索都会举例说明如何使用calc()来设置宽度。谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用纯CSS最接近的是将CSS变量与calc

组合在一起

:root {
	--width: 100px;
}
div {
	border: 1px solid red;
	height: calc(var(--width) + 5px);
	width: var(--width);
}
<div>
test
</div>

这将允许您定义CSS变量--width并使用它来计算div的新高度。

答案 1 :(得分:0)

如果您的宽度设置为px,则可以使用相同的值来计算高度 如果以百分比(%)设置,这可能会有所帮助:

.container {
  width: 20%;
  /* set the same percent as width in padding top of a container. */
  padding-top: calc(20% + 5px);
  background-color: aqua;
  position: relative;
}

/* This is the box where it is done. Because all the space in the container is padding, 
   you must to set this box as `absolute` and fill the container with 
   width and height set to 100% */
.box {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
<div class="container">
  <div class="box">
  </div>
</div>

希望它能满足您的需求..