如何否认“nowrap”增加元素的宽度?

时间:2013-06-15 18:32:16

标签: css width ellipsis css3 nowrap

我有这样的结构:

<table>
<tr>
    <td class = "one">This cell should has width 60%</td>
    <td class = "two">
        <div>
            <div class = "three">Hint</div>
            <div class = "four">
                And ending of this string should be cutted out with ellipsis, no matter how long string will be
            </div>
        </div>
    </td>
</tr>
</table>

用css

.one { width: 60%; }

.three {
    display: none;
    float: right;
}

.two:hover .three { display: block; }

.four {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

我希望左侧单元格的宽度始终为60%,右侧单元格占用所有其他空间。当“提示”元素是和不可见时,右侧单元格中的长单行文本应使用省略号截断。

我尝试使用display: inlinefloat: leftposition: absolute,但没有得到任何不会破坏右侧浮动提示元素的结果。

jsFiddle这里:http://jsfiddle.net/Z2kLV/1/

此外,解决方案不一定是跨浏览器,我只需要镀铬。

请帮助,我无法完成这项工作

1 个答案:

答案 0 :(得分:4)

我的搜索不够好,现在找到了我的答案here

它是 - 将以下css添加到表元素:

table {
    width: 100%;
    table-layout: fixed;
}

关于jsFiddle的工作示例:http://jsfiddle.net/Z2kLV/5/