如何将表格样式设置为容器的全宽并使单元格使用宽度的百分比?

Posted

技术标签:

【中文标题】如何将表格样式设置为容器的全宽并使单元格使用宽度的百分比?【英文标题】:How can I style table to be full width of container and make the cells use percentage of the width? 【发布时间】:2011-06-02 15:12:13 【问题描述】:

这是我的html。下表位于一个固定宽度为 670 像素的容器 div 中。现在我不知道如何继续让这个表捕获容器的整个宽度。

<table class="table_fields">
    <tr class="table_fields_top">
        <td><?php _e('Published','news'); ?></td>
        <td><?php _e('Story','news'); ?></td>
        <td><?php _e('Views','news'); ?></td>
        <td><?php _e('Comments','news'); ?></td>
        <td><?php _e('Rating','news'); ?></td>
    </tr>
</table>

这是我的 CSS:

.table_fields 
    display: block;
    background: #fff;
    border: 1px solid #dce1e9;
    border-bottom: 0;
    border-spacing: 0;


.table_fields .table_fields_top background: #f1f3f6;
.table_fields .table_fields_top td
    font-size: 10px;
    text-transform: uppercase;


.table_fields td 
    text-align: center;
    border-bottom: 1px solid #dce1e9;
    border-right: 1px solid #dce1e9;
    font-size: 11px;
    line-height: 16px;
    color: #666;
    white-space:nowrap;

我尝试设置宽度:100%;但它返回了空格,但 TD 不平衡。我不知道如何使 TD 始终占满 100% 的空间。我尝试为每个 TD 设置 width: 20%,因为它们是 5 tds 以获得 100% 的宽度。但这没有用。有人可以告诉我如何使单元格适合 100% 的表格的 FUll 宽度(假设每个 TD 都有固定的宽度百分比,例如 20%)。

【问题讨论】:

【参考方案1】:

我认为您的问题是您有display: block 覆盖了表格的默认显示模式(即table)。删除它,然后尝试将width: 100% 应用于表格。

【讨论】:

Bootstrap 可以代替 width: 100% 样式(即 class="col-xs-12") 我不同意上述观点,因为保持显示不变就可以了,但是当使用 table width:100% 时,您还应该像这个 table 一样包含 tr、tbody、thead ,thead,tbody,tr width:100% 再次完美运行

以上是关于如何将表格样式设置为容器的全宽并使单元格使用宽度的百分比?的主要内容,如果未能解决你的问题,请参考以下文章

React-Native 图像高度(全宽)

获取 flexbox 列换行以使用全宽并最小化高度

如何使文本占据其容器的全宽?

图像未扩展表格单元格的宽度

生成许多​​随机宽度和高度块,并使其适合 HTML5 画布的全宽 - EaselJS

Tableview单元格边框没有迅速占据全宽