css sass:vh和px之间的计算

roqulrg3  于 2023-01-14  发布在  其他
关注(0)|答案(4)|浏览(374)

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

.slideshow{height:100vh-70px}

不起作用。我不知道sass是怎么计算出来的,CSS结果是

.slideshow{height:99.27083vh}

我快速搜索了一下这个问题,但没有找到任何有用的信息。那么这是可行的吗?
如果没有,有没有办法不使用javascript?

lsmepo6l

lsmepo6l1#

尝试使用CSS calc。它得到了相当广泛的支持。

.slideshow {
    height: calc( 100vh - 70px );
}
k5hmc34c

k5hmc34c2#

不,不是的。
SASS计算在SASS被编译为CSS时进行。
视区的高度在页面加载到浏览器之前是不知道的,所以你不能把高度转换成像素,然后用它来计算。

yfjy0ee7

yfjy0ee73#

我认为这只是一个空间问题,只需在运算符前后添加空格,并将其放在圆括号之间,它就会工作。
.幻灯片{高度:(100 vh-70 px);}

w8ntj3qf

w8ntj3qf4#

我们在css中使用的高度如下所示:高度:自动|长度|%|最初的|继承
但是,这些值中的每一个都应该用px等数字表示,每个值的说明如下:
auto:(默认)浏览器计算高度。
length:定义高度,单位为像素、厘米等。
%:定义包含块的高度(以百分比表示)。
initial:指定属性值应设置为默认值。inherit:指定属性值应从父元素继承。
设置段落高度和宽度的示例如下所示:
P {高度:100像素;宽度:100px;}

相关问题