Chcę wyświetlić tekst w tabeli i chcę go wyciąć, gdy jest szerszy niż 150 pikseli, ale nie chcę stałej szerokości komórki tabeli (jeśli nie ma tekst, szerokość będzie wynosić 0 pikseli). Wszystko działa w IE9, Firefox, Chrome, Opera, ale nie w IE8.Przepełnienie IE 8: ukryta i maksymalna szerokość
przykład kodu w IE8:
przykład kodu w Chrome:
Oto kod:
<!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>
Możliwe jest to zrobić bez żadnych javascript lub ustawienie stałe szerokość?
Szczerze, gdybym był, wysłałbym alert javascript, gdy ktoś otworzy stronę z IE8. Nie przejmuj się, że Twoja strona będzie kompatybilna z błędnymi przeglądarkami IE, to wina Microsoftu, a nie Twoja. – ApprenticeHacker
Pierwsza komórka nie działa w IE7. Obawiam się, że działa tylko w IE9. –
@IntermediateHacker Zgodnie ze specyfikacją CSS 2.1 wpływ maksymalnej szerokości na komórkę tabeli jest niezdefiniowany. Specyfikacja jest winna, a nie Microsoft. – ZippyV