Table column sizing

后端 未结 7 467
广开言路
广开言路 2020-11-27 02:33

In Bootstrap 3, I could apply col-sm-xx to the th tags in the thead and resize table columns at will. However this doesn

相关标签:
7条回答
  • 2020-11-27 03:26

    Updated 2018

    Make sure your table includes the table class. This is because Bootstrap 4 tables are "opt-in" so the table class must be intentionally added to the table.

    http://codeply.com/go/zJLXypKZxL

    Bootstrap 3.x also had some CSS to reset the table cells so that they don't float..

    table td[class*=col-], table th[class*=col-] {
        position: static;
        display: table-cell;
        float: none;
    }
    

    I don't know why this isn't is Bootstrap 4 alpha, but it may be added back in the final release. Adding this CSS will help all columns to use the widths set in the thead..

    Bootstrap 4 Alpha 2 Demo


    UPDATE (as of Bootstrap 4.0.0)

    Now that Bootstrap 4 is flexbox, the table cells will not assume the correct width when adding col-*. A workaround is to use the d-inline-block class on the table cells to prevent the default display:flex of columns.

    Another option in BS4 is to use the sizing utils classes for width...

    <thead>
         <tr>
               <th class="w-25">25</th>
               <th class="w-50">50</th>
               <th class="w-25">25</th>
         </tr>
    </thead>
    

    Bootstrap 4 Alpha 6 Demo

    Lastly, you could use d-flex on the table rows (tr), and the col-* grid classes on the columns (th,td)...

    <table class="table table-bordered">
            <thead>
                <tr class="d-flex">
                    <th class="col-3">25%</th>
                    <th class="col-3">25%</th>
                    <th class="col-6">50%</th>
                </tr>
            </thead>
            <tbody>
                <tr class="d-flex">
                    <td class="col-sm-3">..</td>
                    <td class="col-sm-3">..</td>
                    <td class="col-sm-6">..</td>
                </tr>
            </tbody>
        </table>
    

    Bootstrap 4.0.0 (stable) Demo

    Note: Changing the TR to display:flex can alter the borders

    0 讨论(0)
提交回复
热议问题