wswmsword / postcss-mobile-forever

一款 PostCSS 插件,将固定尺寸的视图转为可跟随宽度变化而等比例伸缩的视图。To adapt different displays by one mobile viewport.
https://wswmsword.github.io/examples/mobile-forever/vanilla/
MIT License
325 stars 19 forks source link

关于开启border后,min-height: 100vh 属性在ios下的问题 #40

Closed hooray closed 6 months ago

hooray commented 6 months ago

开启 border 后,插件默认会给 #app 节点增加以下样式

box-shadow: 0 0 0 1px #8888881f;
min-height: 100vh;
height: auto !important;

这会导致网页在 ios safari 下浏览时出现滚动条,在 https://www.sabhya.dev/handling-ios-safari-toolbar-for-full-height-web-content 这个链接里有对这一问题进行了详细的描述,并且也提供了解决方案,就是采用 dvh 单位。

我认为生成的代码应该这样会更合理

box-shadow: 0 0 0 1px #8888881f;
min-height: 100vh;
min-height: 100dvh;
height: auto !important;

当然如果能处理成这样会更友好

@supports (min-height: 100dvh) {
    #app {
        min-height: 100dvh;
    }
}
wswmsword commented 6 months ago

ok,已处理(@supports),版本 4.1.4。

BubblyPop commented 2 months ago

dvh要用新浏览器,为了兼容性,我加了一个class,html和body也高度100%,页面所有的vh都改成flex布局了; `

app.height100 {

height:100% !important; min-height: 100% !important; } `