如何创建具有可调整列的 HTML 表格?

发布于 2024-07-06 07:10:12 字数 60 浏览 10 评论 0原文

我想知道如何创建一个可以调整列宽的表格。 我还没弄清楚该怎么做。 如果您知道这项技术的秘诀,请告诉我。

I want to know how to create a table where you can adjust the column widths. I have not figured out how to do this. If you know the secret sauce to this technique please let me know.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

夏末染殇 2024-07-13 07:10:12

添加此 CSS 以使表格的列宽可调...

 th {resize:horizontal; overflow:auto;}

Add this CSS to make your table's column widths adjustable...

 th {resize:horizontal; overflow:auto;}
风透绣罗衣 2024-07-13 07:10:12

没有简单的答案,例如“使用一些 foobar html 属性”。
这是通过 javascript 和 DOM 操作完成的。
如果您想了解 Prototype 中此功能的实现,您可以查看 TableKit
我确信那里有 jQuery 实现...我喜欢我的旧原型;)

There is no simple answer such as "use some foobar html property".
This is done with javascript and DOM manipulations.
If you are curious to see an implementation of this feature with Prototype you can take a look at TableKit.
I am sure there are jQuery implementations out there... I like my good old Prototype ;)

归属感 2024-07-13 07:10:12

我相信这就像在单元格标题边缘的区域捕获鼠标单击事件一样简单,然后在拖动鼠标时动态更改列的宽度。

I believe it's as simple as capturing a mouse click event at an area at the edge of a cell header, and then dynamically changing the width of the column as the mouse is dragged.

夕嗳→ 2024-07-13 07:10:12

你是在寻找outlook的效果还是有<-> 显示的内容是为了告诉您调整表格大小?

  • 我为此所做的是创建一个只有几个像素宽的 div 或单元格。
  • 我更改了光标,使其成为箭头 <->。
  • 单击该 div 控件上的使用 单击
  • 该 div 控件上的使用时,我会动态创建另一个“浮动”div,显示它们最终将其放置的位置。
  • 该移动与 JavaScript 上的鼠标移动事件挂钩。
  • 释放控件后,我会根据新控件移动的位置重新定位表格单元格的高度或宽度。

Are you looking for the effect of outlook or there is the <-> that show up to show you to resize the table?

  • What I have done for this, is created a div or a cell that is only a couple pixels wide.
  • I change the cursor so it is an arrow <->.
  • On the click of the use over that div control
  • On the click of the use over that div control I create on the fly another 'floating' div that shows where they will eventually position it.
  • The movement is hooked up to the mouse move event on JavaScript.
  • Once the release the control I then reposition the table cell height or width according to where they moved the new control.
中二柚 2024-07-13 07:10:12

Flexigrid for jQuery 看起来非常不错。

更新:根据 @Vincent 的评论,使用非常简单...请参阅该网站以获取完整的详细信息,但是对于最基本的示例 - 包括脚本,然后将功能挂接到您的表上:

$('#myTableID').flexigrid();

或使用选项:

$('.classOfTables').flexigrid({height:'auto',striped:false});

Flexigrid for jQuery seems pretty sweet.

Update: As per @Vincent's comment the use is really simple... see the site for full details, however for the most basic example - include the script then hook the functionality to your table:

$('#myTableID').flexigrid();

or with options:

$('.classOfTables').flexigrid({height:'auto',striped:false});
在你怀里撒娇 2024-07-13 07:10:12

Yahoo UI (YUI) 数据表 小部件允许调整列大小。 它是公开可用的,但仍处于测试阶段,而且 YUI 库相当庞大。 任何实现都必须采用 JavaScript/DHTML,因为默认的 HTML 表不具备这种功能。

The Yahoo UI (YUI) data table widget allows resizing of columns. It's publicly available, but still in Beta, and the YUI library is pretty bulky. Any implementation will have to be in JavaScript/DHTML, because the default HTML tables don't have that kind of capabilities.

春风十里 2024-07-13 07:10:12

resize:horizo​​ntal 应用于 不适用于我的 FF58。 相反,我在每个文件中创建了一个

并使其可调整大小:

.mytable th div{
    resize:horizontal;
    overflow: auto;
}

Applying resize:horizontal to <th> did not work with my FF58. Instead, I created a <div> in each of them and made that resizable:

.mytable th div{
    resize:horizontal;
    overflow: auto;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文