3

我无法弄清楚我的 HTML 有什么问题,因此jquery-ui-layout在浏览器(Chrome/Firefox)中缩小时,库不想重新计算容器的宽度/高度。在我的 HTML 中,所有白色窗格都相互连接,但是当我缩小时,它们会断开连接......

我查看了官方jquery-ui-layout演示,例如这个: http: //layout.jquery-dev.com/demos/example.html 正如您在 Zoom Out 元素(它们的内联style属性)上看到的那样动态地改变它们的值。但在我的代码中 - 它没有发生 - 值保持不变......

以下是在浏览器中“缩小”几次时部分在我的代码中的外观:

白色部分相互断开

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-layout/1.4.3/jquery.layout.min.js"></script>

    <style>
        body { background-color: green; }
        .xxx { height: 100vh; }
        .left { background-color: red; }
        .right { background-color: green; }
        .visible-overflow { overflow: visible !important; }
    </style>
</head>

<body>

<div class="layout-container visible-overflow">

    <div class="xxx ui-layout-center inner-layout left">
        <div class="ui-layout-center auto-overflow"></div>
        <div class="ui-layout-east"></div>
    </div>

    <div class="ui-layout-east pane-selector right-side-board-panel right"></div>
</div>

<script>
    var element = $('.layout-container');
    element.layout({ applyDefaultStyles: true });
    element.find('.inner-layout').layout({ applyDefaultStyles: true });
</script>

http://plnkr.co/edit/DhQyktteFfyd5hrKxJQX?p=preview

(要查看问题,请选择在 plunker的单独窗口中启动预览,然后在浏览器中缩小几次)

4

1 回答 1

3

您的方法正确率为 99.99%。你只是错过了给height你的layout-container只是类似xxx

我刚刚修改了以下单行:

.layout-container,.xxx { height: 100vh; }

其余的代码是完美的。

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-layout/1.4.3/jquery.layout.min.js"></script>

    <style>
        body { background-color: green; }
        .layout-container,.xxx { height: 100vh; }
        .left { background-color: red; }
        .right { background-color: green; }
        .visible-overflow { overflow: visible !important; }
    </style>
</head>

<body>

<div class="layout-container visible-overflow">

    <div class="xxx ui-layout-center inner-layout left">
        <div class="ui-layout-center auto-overflow"></div>
        <div class="ui-layout-east"></div>
    </div>

    <div class="ui-layout-east pane-selector right-side-board-panel right"></div>
</div>

<script>
    var element = $('.layout-container');
    element.layout({ applyDefaultStyles: true });
    element.find('.inner-layout').layout({ applyDefaultStyles: true });
</script>
于 2015-09-21T13:21:40.947 回答