使用方法
npm install vh-check
vue main.js 引入
import vhCheck from "vh-check"; //移动端浏览器100vh高度不一致
vhCheck();
组件内使用
<style lang="scss" scoped="">
.container {
height: 100vh;
height: calc(100vh - var(--vh-offset, 0px));
</style>
如果单独提出在scss文件中定义,并且在组件中使用
例如 100vh.scss
$vh: calc(100vh - var(--vh-offset, 0px));
然后再组件内使用,请先@import 引入在使用,如果不用@import引入在main.js引入也无效
@import '~@/styles/100vh.scss';
body{
height: $vh !important;
}
如果想不使用@import 引入 ,
在vue.config.js进行配置的方法如下
css: {
//查看CSS属于哪个css文件
sourceMap: true,
loaderOptions: {
scss: {
// @/ 是 src/ 的别名
// 注意:如果prependData报错 可使用data属性
prependData: `@import "~@/styles/100vh.scss";`,
},
},
},
这样可在组件内直接使用,而不用进行@import进行导入,变成全局变量
body{
height: calc(#{$vh} - 110px) !important;
}
End