14

次のHTMLでは、div.leftと.rightの高さが異なります。高さを定義せずに両方のdivを同じ高さにすることは可能ですか?display:tableを使用してみましたが、機能しません。

HTML:

<div class="wrap">

    <div class="left">
       Lorem    
    </div>

    <div class="right">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    </div>

</div>

CSS:

.wrap{
    overflow:hidden;
    width:250px;
    display: table;
    border-collapse: collapse;
}


.left{
    width:100px;
    float:left;
    display: table-cell;
    border-bottom:1px solid green;    
}


.right{
    width:150px;
    float:left;
    border-bottom:1px solid red;
    display: table-cell;     
}

jsfiddle: http: //jsfiddle.net/fJbTX/1/

4

2 に答える 2

23

を削除しますfloat。これにより、ドキュメントの通常のフローから要素が削除され、別のラッパー要素が追加されて、:として機能しますtable-row

table-cell<td> HTML要素のように動作します

これは、が親要素を必要とするため、これには(推論を検証していませんが)display: table-row親が必要であることを意味します。tdtr

.wrap{
    overflow:hidden;
    width:250px;
    display: table;
    border-collapse: collapse;
}

.row {
    display: table-row;
}
.left{
    width: 50%;
    display: table-cell; 
    background-color: #0f0;
}


.right{
    width: 50%;
    background-color: #f00;
    display: table-cell;     
}​

JSフィドルデモ

参照:

于 2012-07-20T20:12:03.327 に答える
5

このようなもの?

http://jsfiddle.net/fJbTX/3/

フロートプロパティを取り出しました

于 2012-07-20T20:10:45.660 に答える