2012-02-17 7 views
1

私は2つのスパン要素を並べて、スパンの1つに境界線を適用しました。この問題は、あるスパンが他のスパンよりも多くの行を持っている場合に発生します。コンテンツの量が少ないスパンが適用されている境界線である場合、境界線はコンテナの底まで伸びません。コンテナの高さをスパンまで伸ばすCSS

スパンに含まれる高さと高さの要素、含まれているdiv、成功しなかったさまざまな組み合わせのHTMLタグとbodyタグを追加しようとしました。ここで

は、サンプルのHTMLです:

<div class="newspecs"> 
    <div class="ns_row_type_2"> 
     <span class="ns_field_name">Flash Exposure Compensation</span> 
     <span class="ns_field_value">+/- EV<br>more text<br>more text<br>more text<br>more text</span> 
    </div> 
</div> 

、適用CSS:誰もがアイデアを持っている

http://yazminmedia.com/clients/IR/test.htm

.newspecs div { 
    display: block; 
    clear: both; 
} 
.newspecs span { 
    display: inline-block; 
    vertical-align: top; 
} 
.ns_row_type_1, 
.ns_row_type_2 { 
    border-bottom: 1px solid #fff; 
} 
.ns_row_type_1 { 
    background-color: #ccc; 
} 
.ns_field_name { 
    width: 100px; 
    padding: 3px; 
    border-right: 1px solid #fff; 
} 
.ns_field_value { 
    width: 280px; 
    padding: 3px; 
} 

フルCSSとHTMLがにあります何が起こっているの?

ありがとうございます!

+0

スパンはインライン要素なので、その高さは内容と同じくらいです。これはテーブルでやるほうが簡単でしょうか? –

+0

テーブルベースのレイアウト(IE6互換)またはCSS3(IE9 +) – Petah

+0

テーブルを使用してみてください。お手伝いしますか? – NewUser

答えて

1

あなたは本当に、これはあなたが表示しようとしているデータのテーブルであるとして、ここではHTMLのTABLEを使用する必要があります。厄介なハックとしてしかし

ns_field_valueに...

.ns_field_value {width: 280px; padding: 3px; margin-left:-4px; border-left:1px solid #fff}

これを変更するだけのborder-leftフィールドの値が 'セル' にを追加してから行います - 境界線が重なり合って1つの境界線が作成されるように4pxマージンを設定します。

+0

私はテーブルを使用したでしょうが、これは私に求められたものです。 – Yazmin

+0

心配はいりません。そして、私はPetahの答えをupvotedしました。オプション1は似ていますが(浮動小数点数を使って)、有効な代替案が与えられています:) – barrylloyd

+0

ああ、私はOption 1を使用する方向に動いていましたが、私はあなたのものを2つの悪のうちの小さいものとして選んだ。いずれにしても、私は追加オプションとjsfiddleを使用して結果を1か所で確認することができたので、Petahの回答もあまりにも高く評価しました。 :) 再度、感謝します! – Yazmin

関連する問題