5

我在 Safari 上遇到了一个非常小众的 CSS 问题。

我有以下 CSS 规则:

min-height: calc(100vh - 115.5px - 25px*2);

这适用于 Chrome,但 Safari 似乎不喜欢 和 的calc组合vh。(例如,如果我用 替换它,它会起作用vh——%但我确实需要根据vh或一些适当的替代方法进行计算。)

有什么办法可以解决这个问题吗?或者,是否有另一种在 Safarivh上友好的引用方式?calc

4

3 回答 3

7

在使用 vw 或 vh 之前,您应该定义:

html {
    width: 100%;
    height: 100%;
}
body {
    width: 100%;
    height: 100%;
}

并确保在 + 和 - 之间使用空格,就像你做的那样。

于 2015-03-12T00:28:00.930 回答
4

一般来说,Safari 的视口单元似乎有点问题,特别是如果您返回一两个版本。上次我尝试使用 vh/vw 时,我遇到了类似的问题,最终使用了v-unit javascript micro-lib,并且效果很好。

CSS 在布局计算等方面正在迅速赶上 javascript,但是当它变得复杂时,用一些轻量级脚本来补充你的 css 通常比单独使用 CSS 效果更好。

于 2014-08-27T00:04:11.523 回答
2

这是一个已知错误- 也在caniuse上报告(在已知问题下)。

有关解决方法,请参阅此 SO 答案

于 2014-08-27T00:03:28.160 回答