我在研究如何仅使用CSS制作正六边形,并找到了一种以宽度为基础给出规则正六边形的方法:
.hexagon {
height: 100%;
width: calc(100% * 0.57735);
display: inline-block;
}
然而,此代码是基于父元素的宽度生成新矩形。我正在寻找一种方法,通过父元素的高度来计算宽度。
是否有一种方法可以使用元素的高度属性而不是宽度属性来进行calc()
计算?(我不考虑使用vh
,因为最近的父级不总是视口)。我在谷歌上搜索了一下,但没有找到答案。
Note to translator: Please translate the content in between the
tags and keep the HTML tags.
calc()
函数不使用任何东西的宽度,它仅仅在左右两侧通过运算符进行简单的操作。因此,在相对值(如此处的100%
)的情况下,它首先将该值转换为绝对值。注意,你不能传递另一个元素的相对值或其他属性。 - Kaiido