IE 8 overflow: hidden и max-width

Я хочу отображать текст в таблице и хочу обрезать его, если он шире 150 пикселей, но мне не нужна фиксированная ширина ячейки таблицы (если нет текста , ширина будет 0 пикселей). Все работает в IE9, Firefox, Chrome, Opera, но не в IE8.

Пример кода в IE8:

enter image description here

Пример кода в Chrome:

enter image description here

Вот код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>
td, span {
    border: 1px solid red;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

span {
    border: 1px solid green;
    display: block;
}
</style>
</head>
<body>
<table>
<tr>
    <td><span>Works in Firefox, Chrome, Opera, IE 7/9 (but not in IE 8)</span></td>
    <td>Works in Firefox, Chrome (and Opera but no dots)</td>
    <td style="display: block">Works in Firefox, Chrome and Opera (with dots)</td>
</tr>
</table>
</body>
</html>

Это можно сделать без какого-либо javascript или установки фиксированной ширины?

9
задан qavid 13 December 2011 в 04:34
поделиться