一、table td的宽度详解
Table只有Table的宽度是可以设置的,并且各个浏览器理解一致
- 原则上应该将table的宽度设置成一个固定的值,而不应该设置成一个根据屏幕变化的值
- Table的宽度为600px,Table的td所有宽度总和不到600px,浏览器会自动按照td的宽度的比例算出宽度
我是200px | 我也是200px |
运行结果:两个td都是300px;
- Table的宽度为600px,前两个td的宽度已经为600px,那么第三个td的宽度没有指定,这样的话第三个td的宽度是根据内容出现宽度的,然后前两个再按照比列计算、
前两个td小于table宽度,那么最后一个td就起到补全的作用
我是200px | 我也是200px | 我是根据内容的 |
- 如果一行文字太多,可以在<td>的样式中加入word-break: break-all(强制换行)
二、两个table水平并排显示
可以在外面再套个一行两列的大表格,左右两个单元格里再放表格
| | | //同样可以设置一行3个表以上的
三、Table中双虚线
收費項目 | 價格 | 每日數量 | 港幣$ |
{FeeName} | {Price} | {Quantity} | {TotalPrice} |
{GrandTotal} |
在td中设置border,<td style="border-bottom: black 3px double; width: 40%">
注意:双虚线时需要设置为3px,而2px会叠在一起,没有效果。
四、Table中tr间距的设置
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的间距.
- border-collapse 属性设置表格的边框是否被合并为一个单一的边框,还是象在标准的 HTML 中那样分开显示。
Separate: 默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。
Collapse: 如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和empty-cells 属性。
- border-spacing: 该属性指定分隔边框模型中单元格边界之间的距离。在指定的两个长度值中,第一个是水平间隔,第二个是垂直间隔。除非 border-collapse 被设置为 separate,否则将忽略这个属性。尽管这个属性只应用于表,不过它可以由表中的所有元素继承。
如:<table style="border-collapse:separate; border-spacing:50px 10px;">
<tr></tr></table>
大致效果如下