【问题标题】:How to set html table's width property in ASP.Net MVC5如何在 ASP.Net MVC 5 中设置 html 表格宽度属性
【发布时间】:2026-01-11 18:55:01
【问题描述】:

我正在尝试将滚动条添加到我的 html 表格中,然后根据自己的喜好更改表格列的宽度,但表格的列宽不会受到影响。这是我的表格 html。

所以基本上我想要的是表格的宽度应该与父容器的宽度一致(tbody->inherit 下面)。然后将列添加到表格中并根据我的喜好设置它们的宽度。如果表格需要水平滚动,它应该出现。问题是列宽没有随着下面的标记而改变,因此滚动无法按预期工作。

// css code for trial purpose
<style type="text/css">
    .col1 {
        width: 75%;
    }
</style>

<table class="table" style="table-layout: fixed; overflow:scroll">
<tbody style="display: block; overflow: scroll; height:400px; width: inherit">
    <tr>
        <th class="col1"> // also tried style="width:25%" and class="col-lg-2" as well
            @Html.DisplayNameFor(model => model.Project.PROJECT_NO)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Project.TITLE)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Project.DESCRIPTION)
        </th>
        <th >
            @Html.DisplayNameFor(model => model.Project.AWARD_DATE)
        </th>
        <th >
            @Html.DisplayNameFor(model => model.Project.SCH_START_DATE)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Project.SCH_END_DATE)
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Project.PROJECT_NO)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Project.TITLE)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Project.DESCRIPTION)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Project.AWARD_DATE)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Project.SCH_START_DATE)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Project.SCH_END_DATE)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Project.ID }) |
                @Html.ActionLink("Details", "Details", new { id = item.Project.ID }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Project.ID })
            </td>
        </tr>
    }
</tbody>

P.S:这是 Visual Studio 2013 的默认 ASP.Net MVC 5 应用程序,因此 css 和引导代码未更改。

【问题讨论】:

    标签: html css asp.net asp.net-mvc html-table


    【解决方案1】:

    表格有宽度属性。你可以利用它。 检查 http://www.w3schools.com/tags/att_table_width.asp>这里

    【讨论】:

    • 我也试过使用这个属性。但问题是我希望手动设置属性的宽度,如果所有列的总宽度超出网格宽度,则应该进行水平滚动。现在我得到了水平滚动条,但它被禁用了