Просмотров: 1 053

Если ширина элемента table (width) таблицы в html не уменьшается.

Довольно часто при работе с таблицами HTML приходиться сталкиваться с проблемой, ширина таблицы не хочет уменьшаться даже тогда, когда элементу <table> уже явно задана конкретная ширина с помощью стилей CSS.

<table style="width:100px">

Уже не первый раз сталкиваюсь с этой проблемой и каждый раз начинаю думать, в чем же проблема.

На самом деле, причина в том, что таблица не может иметь ширину меньшую для того, чтобы вместить все свое содержимое.

Если вы столкнётесь с такой ситуацией, начинайте смотреть содержимое своей таблицы. Скорее всего, где-то есть длинное слово, которое нельзя перенести на следующую строку.

16-11-2013 18-47-52

Я нашел выход из ситуации в том, чтобы урезать ширину длинного слова по количеству букв, которые в нем находятся.

Таблица у меня формируется циклом PHP из базы данных и я использовал следующий код:

<td><a href="<?php echo base_url().$item['short_link'];?>"><?php echo base_url();
if (strlen($item['short_link'])>7)
  {
      echo substr($item['short_link'], 0, 7); echo "...";
  }
  else {echo $item['short_link'];}                             
?></a></td>

Т.е. я определяю, если ширина текстового содержимого больше 7 символов, то я урезаю это слово и вместо недостающих символов ставлю знак «…».

После этого ширина таблицы автоматически пересчиталась и прекрасно уместилась так, как мне это было нужно.