【发布时间】:2017-06-06 01:48:34
【问题描述】:
我有这个灵活的布局和一些 JS https://jsfiddle.net/7k8t3xgc/3/
<div class="window">
<div class="left">
<div class="optional">optional content</div>
</div>
<div class="right">
<div class="wordpool"></div>
<div class="category"></div>
</div>
</div>
.wordpool 元素填充了一些需要通过单击将其移动到.category 元素的单词。
现在发生的情况是,当您单击单词时,.window 元素的宽度正在缩小。有没有办法防止这种行为?我能想到的唯一方法是在渲染时计算字池宽度并将其设置为样式属性,但它在响应性方面存在缺点。
我无法删除 flex 功能,因为左(可选)和右面板需要相同的宽度和居中。
我不能使用静态宽度,因为它需要响应。
它不能像.window { width: 90%; } 这样的东西,因为短内容在宽屏幕上看起来很傻。
我的应用中页面之间的左右内容都会发生变化(想想测验或 Google 表单 - 可以是文本、可以是图像、复选框、单选按钮等),但 HTML 模板是相同的。
【问题讨论】:
-
你想让它的宽度保持在原来的宽度吗?
-
是的,您可以使用脚本来防止这种情况发生,它会在所有内容加载后设置最小宽度
-
@doutriforce 最好的选择是保持与渲染时相同的宽度
-
@orzech1080,所以你想以编程方式获取它的宽度?它的大小会有所不同?
-
@orzech1080 你需要 js 来解决这个问题。要么添加最小宽度 onload 并调整大小,要么实际上不删除元素并隐藏它们
标签: javascript jquery css flexbox