【发布时间】:2020-05-17 19:51:03
【问题描述】:
还有其他一些类似的问题,但没有一个有效或似乎在正确的区域。我正在尝试使表格的列宽可调整大小。我的表格是一个普通的 HTML table,除了它有 Bootstrap 4 类 table(也许他们可以想到一个不同的名字......!)。
我的 CSS 看起来像这样:
.resizable-div {
resize: horizontal;
overflow: auto;
margin: 0px;
padding: 0px;
border: 1px solid black;
display:block;
min-width: 100px;
min-height: 30px;
}
我将单元格添加到表格行的 JS 相关位,其中包含一个可调整大小的 div,其中包含文本,如下所示:
row.appendChild(cell);
const resizableTdDiv = document.createElement( 'div' );
resizableTdDiv.classList.add( 'resizable-div');
cell.appendChild( resizableTdDiv );
const cellTextNode = document.createTextNode(isHeader ? fieldName : value);
resizableTdDiv.appendChild(cellTextNode);
结果很好:可调整大小的列。欢呼。美中不足只有一只苍蝇:
当然,我可以摆脱边界。我只想丢掉右下角那些讨厌的三角形处理程序……全部!
我意识到必须让用户知道他们能够调整列的大小......但如果我可以用 100% 透明的图标替换那些三角形图标(对于示例)。
编辑
Here's a JSFiddle!非常容易做到!
【问题讨论】:
-
你也可以分享你的 HTML 吗?
-
真的没有,只是一个
body,下面有一个普通的div……table完全是通过JS的方式放在下面的。我以前从未做过 JSFiddle,也不知道它们是如何工作的。我愿意尝试,但在这种情况下,我怀疑这实际上不会给任何人带来太多启发:任何尝试这种技术的人都可能会发现这种现象。
标签: javascript html css resizable