【发布时间】:2021-01-25 13:02:00
【问题描述】:
我已经为我的问题准备了jsFiddle -
我正在尝试将jQuery UI Selectable 放在带有黄色页眉和页脚行的表格中。一次是左侧单元格中的数字网格,然后是右侧单元格中的字母列表。
我还试图让表格占据浏览器宽度和高度的 100%。
这就是为什么我将 CSS 属性 width: 100% 和 height: 100vh 分配给表格并将 overflow-y: scroll 分配给这两个可选项。
由于某种原因,右侧滚动不起作用,即显示了整个字母列表,从而炸毁了桌面高度。
TLDR:
- 数字/字母列表应该具有相同的高度并且可以滚动
- 黄色页眉/页脚应该在浏览器窗口的顶部/底部可见
这是我的代码 -
Javascript:
$(function() {
$("#selectable1").selectable();
$("#selectable2").selectable();
});
CSS:
<table>
<tr>
<td colspan=2 bgcolor="yellow">Header1</td>
</tr>
<tr>
<td>
<ol id="selectable1">
<li class="ui-state-default">1</li>
<li class="ui-state-default">2</li>
<li class="ui-state-default">3</li>
<li class="ui-state-default">4</li>
<li class="ui-state-default">5</li>
<li class="ui-state-default">6</li>
<li class="ui-state-default">7</li>
<li class="ui-state-default">8</li>
<li class="ui-state-default">9</li>
<li class="ui-state-default">10</li>
<li class="ui-state-default">11</li>
<li class="ui-state-default">12</li>
</ol>
</td>
<td>
<ol id="selectable2">
<li class="ui-state-default">A</li>
<li class="ui-state-default">B</li>
<li class="ui-state-default">C</li>
<li class="ui-state-default">D</li>
<li class="ui-state-default">E</li>
<li class="ui-state-default">F</li>
<li class="ui-state-default">G</li>
<li class="ui-state-default">H</li>
<li class="ui-state-default">I</li>
<li class="ui-state-default">J</li>
</ol>
</td>
</tr>
<tr>
<td colspan=2 bgcolor="yellow">Footer1</td>
</tr>
</table>
CSS:
table {
width: 100%;
height: 100vh;
}
#selectable1 {
list-style-type: none;
margin: 0;
padding: 0;
overflow-y: scroll;
}
#selectable2 {
list-style-type: none;
margin: 0;
padding: 0;
width: 100px;
overflow-y: scroll; /* WHY IS THIS NOT WORKING? */
}
#selectable1 li,
#selectable2 li {
margin: 3px;
padding: 1px;
float: left;
width: 100px;
height: 80px;
font-size: 4em;
text-align: center;
}
我的问题的背景是我正在尝试创建一个纸牌游戏,左边是桌子,右边是大厅里的玩家列表 -
【问题讨论】:
-
不清楚您需要什么帮助。 Selectable 还是 CSS?
-
CSS,有没有办法将数字和字母单元格设置为相同(和最大)高度?
-
需要保留Table结构吗?如果没有,我会将每个移至 DIV,然后您可以更轻松地解决 CSS 问题。
-
我想离开 html TABLE,但我不明白如何在屏幕上同时显示页眉和页脚 TR,然后是字母/数字区域。我只是不确定如何使用 DIV 来做到这一点
-
我希望页眉/页脚 TR 占用尽可能小的空间(但仍然可见)。并且字母/数字 TR 占用尽可能多的空间并且可以滚动
标签: jquery css jquery-ui overflow jquery-ui-selectable