sass:vh和px之间的计算

she*_*wen 4 html javascript css sass

我在登陆屏幕上有一个幻灯片,我希望它是全屏与70px高度的导航栏相结合,我试图使用sass,这样我就不必为此编写javascript代码了,但是

.slideshow{height:100vh-70px}
Run Code Online (Sandbox Code Playgroud)

不起作用.我不知道sass如何计算它,CSS原来是

.slideshow{height:99.27083vh}
Run Code Online (Sandbox Code Playgroud)

我对此问题进行了快速搜索,但未找到任何有用的信息.那可行吗?

如果不是,无论如何都没有javascript吗?

imj*_*red 15

尝试使用CSS calc.它得到了广泛的支持.

.slideshow {
    height: calc( 100vh - 70px );
}
Run Code Online (Sandbox Code Playgroud)


Que*_*tin 6

不,不是。

SASS 计算是在 SASS 编译成 CSS 时执行的。

在页面加载到浏览器之前,视口的高度是未知的。所以你不能取那个高度,把它转换成像素,然后用它做计算。