按优先级顺序响应式两列面板布局
Responsive two column panel layout in priority order
我一直在研究一种在主页上显示面板的方法,该页面是响应式的,并且从所有面板都是 100% 宽并堆叠开始,然后在某个断点处面板将分成两列。
我正在进行的工作在这里 http://codepen.io/charge-valtech/pen/aIEGf
这很好地适用于按优先级顺序从左到右排列的面板。 但是,问题是此页面需要动态的,因此任何面板都可以"关闭"。 因此,如果您删除了第三个面板,由于浮点数的工作方式,第四个面板会尝试向右移动,即使已指定 float:left。
使用清除会让它保持在左边,但随后第三个面板会有一个间隙......
我希望这是有道理的,只是对其他人如何处理这个问题感兴趣。 我认为 JavaScript 可能是要走的路,但真的不知道如何检测是否有可用的空白。
干杯
我想
我会为此分享我的解决方案,因为砖石对此有点矫枉过正,并且没有像我希望的那样干净
利落。我的 css 左小部件和右小部件中有两个类,然后使用网格系统设置它们的宽度和浮动,这基本上使它们向左浮动和向右浮动以及 49.something% 宽度。
默认情况下,我为所有小部件提供 left-widget 类,然后使用一些 jquery 执行此操作:
$('.left-widget').each(function (index, value) {
var widgetPosition = $(this).position().left;
if (widgetPosition >= 30) {
$(this).removeClass('left-widget').addClass('right-widget');
}
});
$('.right-widget').each(function (index, value) {
var widgetPosition = $(this).position().left;
if (widgetPosition <= 30) {
$(this).removeClass('right-widget').addClass('left-widget');
}
});
现在,这完全符合我想要它的功能,如果适合,则将小部件粘在右侧。
使用 CSS 媒体查询:
@media (max-width: 1000px) {
#box-js {display:none}
}
#box-js
的 CSS 规则仅在屏幕低于 1000 像素时执行。
相关文章:
- 带组的两列html表
- 单个交叉筛选器维度和两列上的组
- 使用 php 将类别和子类别显示为两列
- 将网格视图的两列相乘,并将其显示在新列中
- Angular ng sortable-如果我在一个栏中添加了一个搜索框,则拖放在两列之间无法正常工作
- 将列表拆分为两列.列表没有't具有块,但是需要在最接近的<p>标签
- 在两列中动态显示产品
- 两列全高布局展开以包含内容
- CSS三维旋转;不能在Chrome上使用列布局
- 将项目列表馈送到3列布局中
- 计算文本块中的字符数,并将其拆分为两列
- 如何使用AngularJS而不是在查询子句中根据两列的差异对表进行排序
- 附加到两列中的一列,然后附加到另一列
- 两列布局,两列高度相同且均填充屏幕的整个高度
- 具有多个不同高度小部件的两列布局,如何使小部件可折叠并保持页面的流动性
- 在两列中浮动不同数量的元素(左和右),即使高度不同
- 如何使用javascript和django设置两列布局
- Webix布局与URL更改和两列
- 如何创建没有 html 表的两列布局
- 按优先级顺序响应式两列面板布局