У меня есть веб-страница с таблицей HTML, созданной элементом управления ASP.NET. Верхний ряд таблицы эмулирует панель инструментов. Этот верхний ряд выложен примерно так:
<tr>
<td style="white-space:nowrap;">
<span>Very long title</span>
</td>
<td>
{ bunch of hyperlinks with background images, emulating a toolbar }
</td>
</tr>
Я застрял в том факте, что это таблица с содержимым области заголовка, помещаемым в span, и, вероятно, с этим встроенным стилем, не определяющим перенос.
Эта таблица должна сужаться, когда страница сужается, и это довольно хорошо. Однако, если фактический текст заголовка (который может варьироваться) слишком длинный, он фактически служит ограничением того, насколько узкой может быть таблица, что может привести к перекрытию с другими элементами на странице. (Я использую IE8, кстати.)
Я попытался применить overflow:hidden
, text-overflow:ellipsis
и display: inline-block
к диапазону и добавить значение ширины для ячейки таблицы через таблицу стилей. (Display:block
на промежутке удваивает высоту строки, чего я не хотел, поэтому inline-block
был моим выбором.) Текст заголовка выглядел усеченным, как я и хотел. Но стол не стал бы уже.
После возни с изменением значений и стилей с помощью IEDT я пришел к выводу, что при определении того, насколько узкой может быть таблица, текст все равно считался полной длиной. Промежуток был относительно коротким, появился только текст, который появился в промежутке, но для целей ширины table-cell
текст все еще был там.
Я нигде не нашел документально подтвержденное это явление, но, может быть, я просто не могу обойтись достаточно. :) Если text-overflow
не может помочь мне, я думаю, мне придется динамически обрезать заголовок с помощью сценария, что я бы предпочел не делать. Есть ли способ сделать то, что я хочу, только через CSS?