Table只有Table的宽度是可以设置的,并且各个浏览器理解一致
<table style="width: 600px;border-collapse: collapse;border:1px solid" > <tr> <td style="width: 200px;">我是200px</td> <td style="width: 200px;">我也是200px</td> </tr> </table>
运行结果:两个td都是300px;
前两个td小于table宽度,那么最后一个td就起到补全的作用
<table style="width: 600px;border-collapse: collapse;border:1px solid"> <tr> <td style="width: 300px;">我是200px</td> <td style="width: 300px;">我也是200px</td> <td>我是根据内容的</td> </tr> </table>
可以在外面再套个一行两列的大表格,左右两个单元格里再放表格
<table> <tr> <td><table>....</table><td> <td><table>....</table><td> <td><table>....</table></td> //同样可以设置一行3个表以上的 </tr> </table>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; border-collapse: collapse"> <tbody> <tr> <td style="border-bottom: black 3px double; width: 40%"> 收費項目</td> <td style="border-bottom: black 3px double; width: 20%"> 價格</td> <td style="border-bottom: black 2px double; width: 20%"> 每日數量</td> <td style="border-bottom: black 2px double;width: 20%"> 港幣$</td> </tr> <!--StartHotelExpert--> <tr> <td> {FeeName}</td> <td> {Price}</td> <td> {Quantity}</td> <td align="right"> {TotalPrice}</td> </tr> <!--EndHotelExpert--> <tr> <td> </td> <td> </td> <td> </td> <td style="border-bottom: black 3px double; text-align: right; border-top: black 2px double"> <strong>{GrandTotal}</strong></td> </tr> </tbody> </table>
在td中设置border,<td style="border-bottom: black 3px double; width: 40%">
注意:双虚线时需要设置为3px,而2px会叠在一起,没有效果。
tr、td设置margin 无效;tr 设置padding无效、td设置padding有效
table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐);
解决方案:
css的两个属性:
border-collapse:collapse / separate
border-spacing:10px 10px; // 设置相邻单元格的边框间的距离(仅用于“边框分离”模式)
需要用border-collapse & border-spacing联合控制tr的间距.
Separate: 默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。
Collapse: 如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和empty-cells 属性。
如:<table style="border-collapse:separate; border-spacing:50px 10px;">
<tr></tr></table>
大致效果如下
原文:https://www.cnblogs.com/peterYong/p/10761757.html