CSS用于将跨度扩展到容器的高度

时间:2012-02-17 04:24:17

标签: css height html

我并排设置了两个跨度元素,并在其中一个跨度上应用了分隔边框。当一个跨度的行数多于另一个跨度时,会出现问题。如果内容较少的跨度是应用了边框的跨度,则边框不会拉伸到容器的底部。

我尝试过各种组合中的高度和最小高度元素添加到span,包含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:

.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位于:

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

任何人都知道发生了什么事?

谢谢!

2 个答案:

答案 0 :(得分:4)

选项1:浮动,额外边界和1px负边距

选项2:CSS3

选项3:基于表格的布局

答案 1 :(得分:1)

您应该在这里使用HTML TABLE,因为这是您要显示的数据表。

然而,作为一个讨厌的黑客,将 ns_field_value 更改为...

  

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

这只是向字段值'cell'添加一个border-left,然后执行-4px的边距,以便边框重叠出现以创建单个边框。