【发布时间】:2016-02-19 23:01:20
【问题描述】:
我正在研究仅使用 CSS 制作六边形的方法,并找到了一个根据宽度为我提供常规六边形的解决方案:
.hexagon {
height: 100%;
width: calc(100% * 0.57735);
display: inline-block;
}
但是,代码的工作原理是根据父元素的宽度生成新的矩形。我正在寻找一种根据父母的身高计算宽度的方法。
有没有办法为calc() 使用元素的高度属性而不是宽度? (我不打算使用vh,因为最近的父级并不总是视口)。我搜索了一下,找不到答案。
【问题讨论】:
-
您是否考虑过使用 Sass 或 Less?
-
@RafaRomero:如果他或她这样做了,你会建议什么解决方案?它对这个问题有什么帮助?
-
@RafaRomero 我想知道是否有没有 SASS 或 LESS 的简单方法,但写下你的答案,可能会有所帮助。
-
calc()不使用任何东西的宽度,它只是由运算符在左侧和右侧之间进行简单的操作。 .所以在相对值的情况下(比如这里100%),它首先将该值转换为绝对值。您不能传递另一个元素的相对值,也不能传递其他预操作 btw... -
@dakab 我问它是因为首先我想知道他/她是否想使用其他技术