2010-11-16 68 views
0

我正在研究嵌入式设备的JavaScript(使用HTML作为显示技术)小部件框架,其中内存消耗是一件大事。建议我不要使用<table>!

最近我试图创建一个只使用DIV的表格布局。但为了模仿colspanrowspan的功能,它变得相当复杂,增加了额外的逻辑,使其成为动态的。 结果出来相当不错的布局明智,但代价太多的内存消耗(必须有几个JS对象代表每个单元格,然后DIV作为演示文稿)

只是使用元素,而不是免费获得col-和rowspans和布局?特别是因为所有标记都是由框架创建的,并且(框架的)用户从未实际触及过HTML本身。

或者我在这里错过了什么?

+0

相关:http://stackoverflow.com/questions/4172273/when-should-i-use-div-tags-when-i-already-have-the-option-for-dividing-page-with和http ://stackoverflow.com/questions/83073/why-not-use-tables-for-layout-in-html – 2010-11-16 08:37:07

+2

This table layout;是表格数据吗?如果是这样,请使用表格。 – 2010-11-16 08:38:24

回答

2

如果您想在语义上正确地使用表格数据,那么表格就非常适合表格数据。 而imo,你必须为你的情况寻求最好的解决方案。在这种情况下,我认为性能比使用div更重要。

1

继续并使用表格。鼓励CSS布局的主要原因之一是可访问性(可能你不关心)。另一个原因是将内容与布局分离 - 您可能正在创建两者。所以,与您的情况相比,表格的缺点非常重要。

+2

你不是说相反的最后一句话吗? :P – 2010-11-16 08:41:57

+0

我实际上不同意'table'在性能方面更好,因为渲染引擎实际上必须做出更多关于如何渲染表格的决定,因为计算最佳表格单元宽度的任务留给渲染引擎决定 – 2010-11-16 09:22:00

+0

@Vilx:当然 - 我已经纠正它。 – kgiannakakis 2010-11-16 09:28:43

2

如果你从“我需要一个表格布局”的心态开始,最终决定你需要使用<table>是不可避免的,因为CSS无法提供colspans和rowspans的精妙之处。但是你需要桌面布局吗?你没有描述底层的布局要求,所以我们不可能把你引导到<table>,或者从广义上讲除外。

+0

感谢您的回复。 好的,那是真的。之所以这样做,是因为我正在构建一个需要支持不同键盘布局(字母,数字,符号)的键盘小部件,并且在这种情况下,该按键可以具有两个水平或两个垂直宽度的按钮的宽度,因此需要rowspan和colspan功能。因为我在这里找到了这个需求,所以我想了解为什么不在其他情况下重用一个通用的table-ish布局小部件。 – jocke138 2010-11-16 10:16:55