1

次の HTML コードは、固定幅の div 内にテーブルを作成します。「th、td」幅は親divから継承されているようです(ただし、W3のドキュメントには継承されたプロパティではないと書かれています!)。

テーブルの列の幅 (たとえば 500px) を増やすにはどうすればよいですか?

「th, td」セレクターで幅の値を変更しても、幅に影響がないことがわかります。

注意:
- div の幅を変更したく
ない - テーブルに固定幅を設定したくない
- 「table-layout: fixed;」を試しました 内部テーブル セレクター。「td,th」幅プロパティが機能しませんでした。

<!DOCTYPE html>
<html>

    <head>
        <style>
            table {
                border-collapse:collapse;
            }
            table, td, th {
                border:1px solid black;
            }
            th, td {
                /* Changing width doesn't make any difference */
                width:500px;
            }
            .myclass {
                width:200px;
                overflow:auto
            }
        </style>
    </head>

    <body>
        <div class="myclass">
            <table>
                <tr>
                    <th>Firstname</th>
                    <th>Lastname</th>
                    <th>Savings</th>
                    <th>Expenditure</th>
                </tr>
                <tr>
                    <td>Peter</td>
                    <td>Griffin</td>
                    <td>$100</td>
                    <td>$50</td>
                </tr>
            </table>
        </div>
    </body>

</html>
4

2 に答える 2

2

パーセンテージを使用しないのはなぜですか?

jsfiddle: http://jsfiddle.net/qCYDq/

また、幅を 200px に制限しています。テーブル内のテキスト (単語幅) が 200px より大きい場合、その幅が強制され、テーブルが単語に合わせて引き伸ばされるため、スクローラーが表示されます。

<!DOCTYPE html>
<html>
<head>
<style>
table {
    border-collapse:collapse;
    width: 100%;
    font-size: 9px;
}
td,th { 
    border:1px solid black;
    width: 25%;
}
.myclass
{
    width:200px;
    overflow:auto
}
</style>
</head>
<body>    
<div class="myclass">
    <table>
        <tr>
           <th>Firstname</th>
           <th>Lastname</th>
           <th>Savings</th>
           <th>Expenditure</th>
        </tr>
        <tr>
           <td>Peter</td>
           <td>Griffin</td>
           <td>$100</td>
           <td>$50</td>
        </tr>
    </table>
</div>
</body>
</html>
于 2013-08-28T11:42:21.690 に答える
1

最後に、それを機能させました!

「table-layout:fixed; width:100%」でうまくいきました...

<!DOCTYPE html>
<html>

<head>
    <style>
        table {
            border-collapse:collapse;
        }
        table, td, th {
            border:1px solid black;
        }
        th, td {
            /* Changing width doesn't make any difference */
            width:500px;
        }
        .myclass {
            width:200px;
            overflow:auto
        }
    </style>
</head>

<body>
    <div class="myclass">
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
                <th>Expenditure</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
                <td>$50</td>
            </tr>
        </table>
    </div>
</body>

</html>
于 2013-08-29T12:07:36.733 に答える