我有一个伪元素,当鼠标悬停时出现:
height: 0.4vh;
高度不变,只有宽度改变。然而,在某些情况下,不同伪元素的高度会有所不同(这里的两条较深线条的高度都为
0.4vh
):
![vh unit weirdness](https://istack.dev59.com/qVxoc.webp)
vh
单位无法完美呈现像素?我有一个伪元素,当鼠标悬停时出现:
height: 0.4vh;
0.4vh
):
vh
单位无法完美呈现像素?浏览器渲染有些不精确,特别是涉及百分比或视口单位时。在这种情况下,我会考虑是否真的值得将这些行的高度与视口绑定。对于大多数屏幕尺寸,它似乎只有几个像素的变化范围;也许可以设置一个大小,或者在多个断点处设置静态大小以逐渐扩大它。
.icon_piece::after { height: 1px; }
// tweak breakpoints to whatever works best for your design
@media (min-height: 600px) {
icon_piece::after { height: 2px; }
}
@media (min-height: 900px) {
icon_piece::after { height: 3px; }
}
calc(100vh * 0.004)
会给我一个一致的高度,但没有这样的运气。 - jcuenodcalc(100vh * 0.004)
仅适用于实际的100vh
。以任意767像素的视口高度为例,乘以0.004仍然会给出3.068个“像素”的结果。现在,将子像素渲染作为一种通常适当的对策留在一边,如果我们只使用“整”像素,则发生在多个位置的0.068像素分数仍然必须去某个地方。将其舍入到X个位置的3个像素,将使您至少有1个位置的值大多数情况下为4(简化了,但我认为您会明白我的意思)。 - CBroe