Эллипсис в 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 также).