10

我有以下html:

<div class="x">
    <div class="y" title="aaaaa">
        <a href="/">
            aaaaa
        </a>
    </div>
    <div class="y" title="bbbbbb">
        <a href="/">
           bbbbbb
        </a>
    </div>
    <div class="y" title="ccccc">
        <a href="/">
            ccccc
        </a>
    </div>
    <div class="y" title="dddddddd">
        <a href="/">
            dddddddd
        </a>
    </div>
</div>

使用CSS:

.x{
    width: 10em;
    background-color: #FFB9B9;
    white-space: nowrap;
    overflow: hidden; 
    text-overflow: ellipsis;
}
.y {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 18px;
    white-space: nowrap;    
    background-color: #E1CECE;
    display: inline-block;
}

你可以在这里看到:http: //jsfiddle.net/fDBbm/

省略号从一开始就在 Firefox (16.0.2) 中有效,但在 Chrome (22.0.1229.94) 中无效。

4

2 回答 2

5

这是一个源于使用display:inline-blockand的错误text-overflow: ellipsis。不幸的是,当配对/一起使用时,Chrome 无法正确处理这些属性。

几个月前报告了该错误:http ://code.google.com/p/chromium/issues/detail?id=133700

于 2012-12-07T14:40:14.583 回答
0

作为一种解决方法,您可以使用display:inline而不是display:inline-block;

小提琴

但是,这会导致单个 'y' 元素失去其背景颜色......

所以要解决这个问题,我们可以添加:

.y:after {
    content: '';
    display: inline-block;
}

小提琴

现在它可以在 FF 和 Chrome(以及顺便说一句,IE)中工作。

于 2014-08-28T06:36:54.670 回答