Эллипсис в css работает в Firefox (16.0.2), но не в Chrome (22.0.1229.94)

У меня есть следующий 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).

Ответ 1

Это ошибка, связанная с использованием display:inline-block и text-overflow: ellipsis. К сожалению, Chrome не корректно обрабатывает свойства при совместном использовании/совместном использовании.

Об ошибках сообщалось несколько месяцев назад: http://code.google.com/p/chromium/issues/detail?id=133700

Ответ 2

В качестве обходного пути вы можете использовать display:inline вместо display:inline-block;

FIDDLE

Однако это приводит к тому, что отдельные элементы "y" теряют свой цвет фона...

Итак, чтобы исправить это, мы могли бы добавить:

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

FIDDLE

Теперь он работает в FF и Chrome (и BTW, IE также).