设置html body的高度为百分比时,margin-bottom在safari里失效?

<html>
    <body>
        <div id="app">
        ...
html, body {
    height: 100%;
}

#app {
    margin-top: 50px;
    margin-bottom: 50px;
}

页面的关键结构大概是如上这样子的,然后在safari或者是ios webview里,margin-bottom无效。chrome, ff 都是正常的。stackoverflow上搜到相关的信息是这样:
http://stackoverflow.com/ques...
按照回答所说去掉height: 100%,果然正常了。但是我这边不能去掉这个100% 因为内部有flex column,然后由于要兼容到android4.0又不能用vh(flexbox 可以用旧语法所以没关系)。
想问下为什么按百分比设置高度就会在safari里无法使用margin-bottom呢?

阅读 7.4k
4 个回答

用padding-bottom
app {

margin-top: 50px;
padding-bottom: 50px;

}
完美解决问题!

body{
    padding: 50px 0;
}

请问您的问题解决了吗??

我的解决办法,就是在body里面加上div,并设置合适高度,用来代替margin.
暂时没发现有更好的办法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题