固定大小的列
问题描述:
我有一个jQuery插件,用于创建,填充和格式化表格。我已经有了创建和填充的权利,但格式仍然没有我。固定大小的列
桌子总是宽800px(为了让我的生活变得简单,我设计了我的网站,我是一个大多数左脑的家伙,音乐是我能理解和制作的唯一艺术),但是列和它们各自的特性(标题,宽度,对齐)的数量是可变的:
$
.grid('MostSoldBySales', 'Most sold products by total sales', 112 /* height in px */, [
{css: {'text-align': 'left', width: 120/*px*/}, children: 'Description'},
{css: {'text-align': 'right', width: 160 }, children: 'Total Sales'},
{css: {'text-align': 'left', width: 360 }, children: 'Comments'}
])
.grid('MostSoldByWeight', 'Most sold products by total weight', 112 /* height in px */, [
{css: {'text-align': 'left', width: 120/*px*/}, children: 'Description'},
{css: {'text-align': 'right', width: 160 }, children: 'Total Weight'},
{css: {'text-align': 'left', width: 360 }, children: 'Comments'}
])
;
我的主要问题是有关列宽:我迫切需要的方式规定,使我的列完全一样宽。我不希望浏览器出于任何原因调整列的大小。我认为这是Visual Basic提供的功能。我如何使用CSS做到这一点?
答
一个安全可靠的方式我所知道的是把每一个的DIV里面的TD。您为TD指定的宽度仅作为建议(即使在现代浏览器中),如果窗口太窄,列将压缩。所以这将始终严格200px宽:
<table>
<tr>
<td>
<div style="width:200">Some stuff</div>
</td>
</tr>
</table>
答
您可以尝试使用'min-width': '120px'
答
我认为你的问题是,你给浏览器冲突的尺寸。你说<table>
元素被设置为800px宽,但你的三列只能添加640px。你将需要在某处添加另一个160px。与其他列集,你必须确保列宽度总和为800px。
您可以尝试在您的<table>
上使用table-layout: fixed
。这应该强制这个问题,并停止你可能得到的表和它的单元格之间的任何反馈。 !
答
虽然不是真的实用,你也可以尝试包装在双引号的宽度,增加了它的重要,像这样
{css: {'text-align': 'left', width: "360px !important" }, children: 'Comments'}
@mu太短:很遗憾,没有。我想分享,但是这个代码是为别人编写的,而且它不是免费软件。 – pyon 2011-05-04 07:49:30
@mu太短:这是一个Intranet应用程序。 – pyon 2011-05-04 23:45:41