web-dev-qa-db-ja.com

tbodyの幅がテーブルの幅まで自動的に拡張されない

こちらの例をご覧ください。

http://denise.brixwork.com/showlisting/1/8297-Valley-Drive-Alpine-Meadows-Whistler-denise-brown-real-estate

そして、「仕様」の下の赤いテーブルは、それを含む全幅になりません-Firebugで検査するとき、divは220ピクセルではなく、コンテンツ幅に基づいて100ピクセルを少し超えます。

<div class="grid_4 alpha">
    <table width="100%" class="grid_4 alpha omega">
            <tr class="specrow">
            <td class="specname">type:</td>
            <td class="specvalue">House</td>
        </tr>
        <tr class="specrow">
            <td class="specname">year:</td>
            <td class="specvalue">1986</td>
        </tr>
    </table>
</div>

CSSコードは次のようになります。

#listing_specs table {
    width: 100%;
}

#listing_specs table tbody {
    display: table-row-group;
    width: 100%;
}

.specrow {
    margin:2px 0px;
    border-bottom:1px dotted #dadada;
    color: #fff;
    width: 100%;
    background-color: #A92229;
}

.specrow:hover {
    background-color:#fff;
    color:#333;
}

.specname{
    font-weight: 600;
    padding:2px 2px 2px 5px;
    width: 50%;
    white-space: nowrap;
}

.specvalue {
    font-weight:normal;
    padding:2px 5px 2px 5px;
    text-align:left;
    width: 50%;
}

一般的なCSSリセッターがあることは知っていますが、それが問題の原因だと思います。残念ながら、現時点では複数のサイトが同じ場所から参照しているため、参照を削除することはできません。慎重に確認しない限り、変更を加えることはできません。そのため、スタイルシート自体でオーバーライドする方法が必要です。呼び出されるリセットCSSは次のとおりです。

<link rel="stylesheet" type="text/css" media="all" href="http://demo.brixwork.com/master/css/reset.css" />
41
jeffkee

追加するだけです

display: table;

このセレクターの下:

#listing_specs table { }
97
Aatif Farooq

テーブルはdisplay:inlineを継承します。

それは次のとおりです。display:table;

Display:inlineの原因となる部分は次のとおりです。

.grid_1, .grid_2, .grid_3, .grid_4, 
.grid_5, .grid_6, .grid_7, .grid_8, 
.grid_9, .grid_10, .grid_11, .grid_12, 
.grid_13, .grid_14, .grid_15, .grid_16 {
    display: inline;
    float: left;
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
}
9
René

このコードを使用できます

tbody{
    width: 100%;
    display: table;
}