У меня есть HTML-таблица с 3 «группами» столбцов, слева, посередине и справа.
+----------------------------------+
| L-1 | L-2 | M | R1 | R2 |
+-----+-----+------------+----+----+
| x | z | aaaaaaa... | 1 | 2 |
| y | w | bbbbbbb... | 3 | 4 |
+-----+-----+------------+----+----+
Я хотел бы ограничить таблицу шириной окна браузера, когда в средней колонке ("M") есть очень длинная строка.
Я попытался использовать CSS-перенос слов в этом столбце, как описано в перенос по словам очень длинной строки .
Ниже приведен HTML (приведен в качестве примера). CSS содержит мои мысли о том, как это должно (но, по-видимому, не работает).
Что я делаю не так?
<html>
<head>
<style type='text/css'>
table { /* nothing here - table is block, so should auto expand to as large as it can get without causing scrollbars? */ }
.left { text-align:center; }
.right { text-align:right; }
.middle { text-align:left; width:100%; /* expand this column to as large as it can get within table? */}
.wrap { word-wrap:break-word; width:100%; /* use up entire cell this div is contained in? */ }
</style>
</head>
<body>
<table>
<tr>
<th class=left>L-1</th>
<th class=left>L-2</th>
<th class=middle>M</th>
<th class=right>R-1</th>
<th class=right>R-2</th>
</tr>
<tr>
<td class=left>argle</td>
<td class=left>bargle</td>
<td class=middle><div class=wrap>wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww</div></td>
<td class=right>glyp</td>
<td class=right>glof</td>
</tr>
</table>
</body>
</html>
В настоящее время результатом является то, что перенос слов не происходит, вместо этого таблица неожиданно вылетает в крайнее правое положение и вызывает полосу прокрутки в окне браузера.