diff --git a/ruoyi-ui/src/layout/components/AppMain.vue b/ruoyi-ui/src/layout/components/AppMain.vue index 5273773df4..d9575a9a4e 100644 --- a/ruoyi-ui/src/layout/components/AppMain.vue +++ b/ruoyi-ui/src/layout/components/AppMain.vue @@ -80,6 +80,39 @@ export default { min-height: 0px; } } + +/* 移动端fixed-header优化 */ +@media screen and (max-width: 991px) { + .fixed-header + .app-main { + padding-bottom: max(60px, calc(constant(safe-area-inset-bottom) + 40px)); + padding-bottom: max(60px, calc(env(safe-area-inset-bottom) + 40px)); + overscroll-behavior-y: none; + } + + .hasTagsView .fixed-header + .app-main { + padding-bottom: max(60px, calc(constant(safe-area-inset-bottom) + 40px)); + padding-bottom: max(60px, calc(env(safe-area-inset-bottom) + 40px)); + overscroll-behavior-y: none; + } +} + +@supports (-webkit-touch-callout: none) { + @media screen and (max-width: 991px) { + .fixed-header + .app-main { + padding-bottom: max(17px, calc(constant(safe-area-inset-bottom) + 10px)); + padding-bottom: max(17px, calc(env(safe-area-inset-bottom) + 10px)); + height: calc(100svh - 50px); + height: calc(100dvh - 50px); + } + + .hasTagsView .fixed-header + .app-main { + padding-bottom: max(17px, calc(constant(safe-area-inset-bottom) + 10px)); + padding-bottom: max(17px, calc(env(safe-area-inset-bottom) + 10px)); + height: calc(100svh - 84px); + height: calc(100dvh - 84px); + } + } +}