<table/>设置列宽度无效的问题

<table/>设置列宽度无效的问题

一、场景重现

<html>
<head>
    <title>测试</title>
    <style type="text/css">
        .table {
            table-layout: fixed;
        }
    </style>
</head>
<body>
<div style="width: 100%">

    <table class="table" style="width: 100%">
        <thead>
        <tr>
            <th colspan="7" style="background-color: #2f96b4">地址情况</th>
        </tr>
        <tr>
            <th style="width: 80px;">国家</th>
            <th style="width: 80px;">省份</th>
            <th style="width: 80px;">城市</th>
            <th style="width: 80px;">区</th>
            <th style="width: 80px;">街道</th>
            <th style="width: 500px;">居委会</th>
            <th style="width: 80px;">门牌号</th>
        </tr>
        </thead>
       
        <tbody>
            <tr style="text-align:center">
                <td>中国</td>
                <td>广东</td>
                <td>广州</td>
                <td>天河</td>
                <td>五山</td>
                <td><pre style="word-break: break-all">天河中学高中部隔壁的小区</pre></td>
                <td><pre >aa</pre></td>
            </tr>
     
        </tbody>
    </table>
</div>
</body>
</html>

运行结果:

www.zeeklog.com  - <table/>设置列宽度无效的问题

期待结果:

www.zeeklog.com  - <table/>设置列宽度无效的问题

二、分析原因

如果对<table/>设置table-layer:fixed样式后,列宽会平均化,对列<th/>的宽度设置会失效。

解决方法:
在tbody前面加

<colgroup>
   <col style="width: 100px;"/>
   <col style="width: 100px;"/>
   <col style="width: 100px;"/>
   <col style="width: 150px;"/>
   <col style="width: 100px;"/>
   <col style="width: 500px;"/>
   <col style=""/>
</colgroup>