为什么HTML表的列宽小于所需的值?

时间:2016-07-10 17:29:05

标签: php html html-table css-tables

我使用PHP echo动态输入HTML表格的更改条目。但是当我打开包含表格的页面时,它有时会完美地加载,有时则会以一种特殊的方式呈现。这可能是什么问题?

The problem with the table

编辑:这是我的代码。

HTML / PHP

<div class="my-table-container">
    <table>
            <tr>
                    <th>Rank</th>
                    <th>School Code</th>
                    <th>Level</th>
                    <th>Time Completed</th>
            </tr>
            <?php
                    $rank = 1;
                    for($x=0;$x<$no;$x++)
                    {
                        echo "<tr>";
                        echo "<td>".$rank."</td>";
                        echo "<td>".$arr[$x]['scl_name']."</td>";
                        echo "<td>".$arr[$x]['lvl']."</td>";
                        echo "<td>".$arr[$x]['tlc']."</td>";
                        echo "</tr>";
                        $rank++;
                    }
            ?>
    </table>
</div>

CSS

.my-table-container{
    background : #eaf7ee;
    border : 1px solid #c6d9ce;
    padding : 3%;
    padding-bottom : 2%;
    margin : 0px auto;
    flex-basis : 50%;
    text-align : center;
    margin-top: 4%;
    margin-bottom: 4%;
}

.my-table-container table{
    background-color: white;
    margin: 0px auto;
    border-collapse: collapse;
}

table,th,td{
    border : 1px solid black;
}

th,td{
    padding: 4%;
    font-size: 20px;
    font-family: 'Lato', sans-serif;
    text-align: center;
    vertical-align: middle;
}

2 个答案:

答案 0 :(得分:1)

添加

white-space: nowrap;

要么整个事情,要么只是第一行,以便标题不会被压扁。

也可以使用固定数字(如4px

)代替填充%

答案 1 :(得分:0)

&#13;
&#13;
.my-table-container{
    background : #eaf7ee;
    border : 1px solid #c6d9ce;
    padding : 3%;
    padding-bottom : 2%;
    margin : 0px auto;
    flex-basis : 50%;
    text-align : center;
    margin-top: 4%;
    margin-bottom: 4%;
}

.my-table-container table{
    background-color: white;
    margin: 0px auto;
    border-collapse: collapse;
}

table,th,td{
    border : 1px solid black;
}

th,td{
    padding: 4%;
    font-size: 20px;
    font-family: 'Lato', sans-serif;
    text-align: center;
    vertical-align: middle;
}
&#13;
<div class="my-table-container" cellpadding="5">
    <table>
            <tr>
                    <th>Rank</th>
                    <th>School Code</th>
                    <th>Level</th>
                    <th>Time Completed</th>
            </tr>
            <?php
                    $rank = 1;
                    for($x=0;$x<$no;$x++)
                    {
                        echo "<tr>";
                        echo "<td>".$rank."</td>";
                        echo "<td>".$arr[$x]['scl_name']."</td>";
                        echo "<td>".$arr[$x]['lvl']."</td>";
                        echo "<td>".$arr[$x]['tlc']."</td>";
                        echo "</tr>";
                        $rank++;
                    }
            ?>
    </table>
</div>
&#13;
&#13;
&#13;

我希望它的工作尝试快速回应