IE和Edge高度100%的bug

时间:2016-08-23 03:26:31

标签: html css twitter-bootstrap materialize

我正在尝试让我的div main.wrapper适合视口高度,溢出。它适用于Safari和谷歌浏览器,但是当使用IE或Edge打开并调整到较小的高度时,就会成为一个错误。

有没有办法解决这个问题并阻止正确的内容超过100%的高度? Bootstrap是否具有此功能,如果使用它会更容易吗?

The problem (IE and Edge)

JSFiddle

1 个答案:

答案 0 :(得分:1)

如何使用flexbox呢?

html, body, .app, .left-pane, .right-pane {
    width: 100%;
    height: 100%;
}

.row, .col {
    margin: 0 !important;
    padding: 0 !important;
}

.left-pane {
    background: green;
    display: flex;
    flex-direction: column;
}

.right-pane {
    background: pink;
    display: flex;
    flex-direction: column;
}

.right-pane main {
    flex: 1;
    overflow-y: auto;
}

.right-pane main .wrapper {
    height: 100%;
}

.right-pane main .wrapper {
    overflow: auto;
}

header {
    flex: 0 1 50px;
    max-height: 50px;
    background: blue;
}

footer {
    flex: 0 1 50px;
    max-height: 50px;
    background: yellow;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.min.css" rel="stylesheet"/>
<div class="row app">
    <div class="col s4 left-pane">
        <header>header left</header>
        body left
    </div>
    <div class="col s8 right-pane">
        <header>header right</header>
        <main>
            <div class="wrapper">
                <p>main</p>
                <p>main 2</p>
                <p>main 3</p>
                <p>main 4</p>
                <p>main 5</p>
                <p>main 6</p>
                <p>main 7</p>
                <p>main 8</p>
                <p>main 9</p>
                <p>main 10</p>
            </div>
        </main>
        <footer>footer</footer>
    </div>
</div>