在浏览器中缩小时窗格不会改变大小
Panes do not change size when Zoom Out in browser
我不知道我的 HTML 有什么问题,所以 jquery-ui-layout
库不想在浏览器中缩小时重新计算容器的 widths/heights (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 中单独 window 启动预览,然后在浏览器中缩小几次)
您的方法正确率为 99.99%。你只是错过了给你的 layout-container
height
就像 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>
我不知道我的 HTML 有什么问题,所以 jquery-ui-layout
库不想在浏览器中缩小时重新计算容器的 widths/heights (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 中单独 window 启动预览,然后在浏览器中缩小几次)
您的方法正确率为 99.99%。你只是错过了给你的 layout-container
height
就像 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>